Expert Software Company : News

marți, 30 octombrie 2012

Inaltime minima a unui rand dintr-un grid

Pentru a acoperi toate situatiile posibile (daca se foloseste temele din windows, inaltimea minima creste cu 1 pixel fata de cea din documentatie, daca se schimba Zoom-ul (100%, 125%, 150%)  in Se7en)

nMinimRowHeight =  SysMetric(15) + 3.

duminică, 28 octombrie 2012

De cat timp este pornit calculatorul


Declare Integer StrFromTimeInterval In Shlwapi;
String @ pszOut, Integer cchMax, Integer dwTimeMS, Integer digits

Declare Integer GetTickCount In kernel32
nIni = GetTickCount()

cSalida = Space(50)

=StrFromTimeInterval (@cSalida, Len(cSalida), nIni, 10)
Wait Window cSalida

Converirea dimensiune fisier in valoarea corespunzatoare


Function _ApiFileSize(tnBytes As Number)
Text To Exemple NoShow TextMerge
   = _ApiFileSize(532)
   = _ApiFileSize(1340)
   = _ApiFileSize(23506)
   = _ApiFileSize(2400016)
   = _ApiFileSize(2400000000)
   = _ApiFileSize(4294967295)
EndText
Declare STRING StrFormatByteSize IN Shlwapi INTEGER dw, STRING @ pszBuf, INTEGER cchBuf
    pszBuf = SPACE(50)
    Return Transform(tnBytes) +  " -> " +  StrFormatByteSize (m.tnBytes, @pszBuf, Len(pszBuf))
EndFunc

Numarul de randuri visibile intr-un grid

With This.Grid1
   nCeldas = 
Int(.Height - .HeaderHeight)/.RowHeight
   Wait Windows Transform
(nCeldas)EndWith

Afisare imagini variate intr-o lista


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) + "ICONS\MISC"
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

Copiere rapida a unui tabel in Excel


Function FastExcelCopy (tcTable As String, tcXlsFile As String, tlOpen) As VOID HelpString 'Copieaza o tabela in Excel'
If Not Used(TcTable)
MessageBox("Eroare: Tabela nu este deschisa !", 16, "Eroare")
Return
EndIf
Local lnWorkArea
lnWorkArea = Select()

Select (tcTable)
Local lcTmpFile
lcTmpFile = GetEnv("TEMP")+"" + Sys(2015) + ".Tmp"
Copy To (lcTmpFile) Delimited With Tab
_Cliptext = FileToStr(lcTmpFile)

oExcel= Createobject("Excel.Application")
With oExcel
.DisplayAlerts = .F.
.Workbooks.Add()
    .Range("A1").PasteSpecial
EndWith
If PCount()>1
oExcel.Workbooks(1).SaveAs(tcXlsFile)
EndIf
If Not tlOpen
oExcel.Quit
oExcel= .Null.
Release oExcel
EndIf
Select (lnWorkArea)
EndFunc

Excel Graph


#Define Tab Chr(9)
#Define CRLF Chr(13)+Chr(10)

Public oGraph
_Cliptext = "" ;
+ Tab + "Depto X" + Tab + "Depto Y" + CRLF + ;
"Arroz" + Tab + "248" + Tab + "297" + CRLF+;
"Maíz" + Tab + "339" + Tab + "440" + CRLF+;
"Cereal" + Tab + "500" + Tab + "489" + CRLF+;
"Papas" + Tab + "125" + Tab + "235" + CRLF+;
"Otros" + Tab + "631" + Tab + "455" + CRLF

oGraph = GetObject("","Excel.Chart")

With oGraph.Application
.Visible= .T.
.WorkSheets(1).Cells().Clear
.WorkSheets(1).Cells(1,1).PasteSpecial
.Charts[1].AutoFormat(-4100,1)
EndWith