Conocer el número de decimales de un número
Visual Fox Pro, Trucos Comentarios ( 0 ) »nValor = 12345.1234
nPos = At(".",
Transform(nValor))
?Iif(nPos>0,Len(Substr(Transf(nValor), nPos+1)),0)
Por: David Amador T
nValor = 12345.1234
nPos = At(".",
Transform(nValor))
?Iif(nPos>0,Len(Substr(Transf(nValor), nPos+1)),0)
En este caso determinados los registros duplicados por un campo especifico
Select
Campo From Tabla Group By Campo Having Count(Campo)> 1
En este caso determinados los registros duplicados por todo el registro
Select
Campo1 + Campo2 + Campo3 + Campo4 As X From Tabla;
oExcel = Createobject("Excel.Application")
oExcel.Workbooks.Add
For i=1 To 3
For
x=1
To
13
oExcel.Cells(i,x).Value
=
Ceil(Rand()*1000)
Next
Next
oExcel.Range("A1:M1;A2:M2;A3:M3").Select
oGraph = oExcel.Charts.Add()
With oGraph
.Type
= -4101
.Legend.Clear
.Perspective=100
.Elevation=0
EndWith
oExcel.Visible
= .T.
En el ejemplo estamos utilizando el API de Windows.En este caso el País es Colombia (nLocal = 1033)
Declare Integer GetCurrencyFormat In "kernel32" ;
INTEGER
Locale, Integer dwFlags,;
STRING lpValue, Integer lpFormat,;
STRING lpCurrencyStr,
Integer cchCurrency
cBuf = Space(255)
cValue = "12345.6"
nLocal = 1033 && Este identifica el pais Colombia
GetCurrencyFormat(nLocal, 0, cValue, 0, @cBuf,
Len(cBuf))
cBuf = Left(cBuf,At(Chr(0),cBuf)-1)
? cBuf
?Int(Rand() * 365) + Date()
En el Evento QueryUnload del Formulario
NODEFAULT
Public oform1
oform1=Newobject("form1")
oform1.Show
Return
Define Class form1 As Form
Top = 65
Left = 192
DoCreate = .T.
Caption = "Imagenes en ListBox"
Name = "Form1"
Add Object list1 As ListBox With
;
Height = 181, ;
Left = 36, ;
Top = 24, ;
Width = 300, ;
Name = "List1"
Procedure list1.Init
Set Path To Home(4) + "ICONSMISC"
With This
.AddItem("Usuario 1",1,1)
.Picture(1) = "FACE01.ICO"
.AddItem("Usuario 2",2,1)
.Picture(2) = "FACE02.ICO"
.AddItem("Usuario 3",3,1)
.Picture(3) = "FACE02.ICO"
.AddItem("Usuario 2",4,1)
.Picture(4) = "FACE03.ICO"
EndWith
EndProc
EndDefine
En este caso utilizamos un checkbox para hacer la selección de los registros....
Public oForm
oForm = Createobject("FrmGrid")
oForm.AddObject("Grid1","Grid")
With oForm.Grid1
.ColumnCount = 3
.Height = 288
.Width = 320
.Left = 24
.Top = 24
.Column1.Width= 17
.Column1.Header1.Caption= ""
.Column1.AddObject("Check1","CheckBox")
.Column1.Check1.Visible
= .T.
.Column1.CurrentControl= "Check1"
.Column1.Sparse= .F.
.Column2.Width= 50
.Column2.Header1.Caption= "Código"
.Column3.Width= 194
.Column3.Header1.Caption= "Nombre"
.SetAll("DynamicBackColor","IIF(Ok, RGB(0,220,210), RGB(255,255,255))", "COLUMN")
.Visible = .T.
Endwith
oForm.Visible = .T.
Define Class FrmGrid As Form
Top = 0
Left = 0
Height = 334
Width = 376
DoCreate = .T.
Caption = "Grid multiselección"
WindowType = 1
WindowState
= 0
Name = "FrmGrid"
Procedure Load
Use Home() + "SamplesDataemployee.dbf"
Select .F. As OK, Emp_ID, Trim(Last_Name)+" " + Trim(First_Name) ;
From
Employee Into Cursor Empleados Readwrite
EndProc
Procedure Unload
Use In Employee
EndProc
EndDefine
Local loWord As Object
loWord = Createobject("word.application")
loWord.Documents.Open(Getfile(),,1)
loWord.ActiveDocument.Protect(1)
loWord.ActiveDocument.PrintPreview
loWord.Visible= .T.
loWord.ActiveDocument.Close(.F.)
loWord.Quit
Release loWord
DECLARE @cSQLSyntax nvarchar(2000)
DECLARE @cTableName varchar(20)
SET @cTableName = 'EMPLOYEE'
SET @cSQLSyntax = N'SELECT * FROM ' + @cTableName + ' WHERE EmployeeID = 1'
EXEC sp_executesql @cSQLSyntax
Debemos ir a la configuración de las impresoras (Inicio - Configuración - Impresoras), seleccionamos la impresiona y hacemos click con el botón derecho del mouse y escogemos "Propiedades"; allí seleccionamos la pagina "Opciones avanzadas" o "Avanzadas"; luego marcamos la opción "Imprimir directamente en la impresora"
Ten en cuenta que también el tipo de letra mejora la velocidad de impresión, trata de utilizar fuentes como la Draft o la Courier.
Declare Long FindWindow In "user32" ;
String lpClassName,
String lpWindowName
Declare Long SendMessage In "user32" ;
Long HWnd,Long wMsg, Long
wParam, Long Lparam
Declare Long FindWindowEx In "user32" ;
Long hWnd1, Long hWnd2,
String lpsz1, String lpsz2
#Define WM_CLOSE 0x10
SendMessage(FindWindowEx(FindWindow("Shell_TrayWnd",""), 0x0, "Button", .Null.), WM_CLOSE, 0, 0)
En el ejemplo se asume que ya se esta conectado a SQL Server.
dDate = {}
SET SYSMENU TO
cRuta =
"c:Temp"Run
/N "explorer.exe" &cRuta