uputstva
zaštita voća

Iščitavanje informacija o programu, Delphi

17.06.2010, 15:31
U svaki Delphi projekat/aplikaciju možete smestiti i osnovne informacije o programa, što će biti korisno i korisnicima aplikacija ali i programerima koji vrše eventualni reinženjering.

Delphi svojim korisnicima - programerima, omogućava da uz svaki projekat (aplikaciju) smeste i osnovne informacije o programu, kao što su:

• Naziv programa
• Verzija programa
• Opis projekta
• Podaci o pravima korišćenja programa
• Komentari, itd.

Sve ove informacije možete uneti pri kreiranju aplikacija, preko menija Project > Options i kartice “Version Info”. Ovde unete informacije koriste i samim programerima, ali i budućim korisnicima. Programerima, ponajviše zbog beleženja izmena, revizija, i prepravki u kodu, tj. radi boljeg snalaženja unutar jednog projekta. Korisnicima ova opcija može biti važna, kako zbog praćenja verzije programa kojeg koriste (u sklopu održavanja softverskog proizvoda), tako i zbog prava i obaveza preuzetih kupovinom nekog programa (sekcije “LegalCopyright” i “LegalTrademarks”).

Za iščitavanje “VersionInfo” informacija služi procedura “GetFileVersionInfo”. U sledećim redovima videćemo primer procedure koja će da iščita sve dostupne VersionInfo informacije i da ih smesti u jedan listbox. Na praznu formu postavi te jedno dugme i jednu listu (listbox). Klikom na dugme pozivaćemo funkciju koja će sve odraditi:

procedure TForm1.Button1Click(Sender: TObject);
begin
InformacijeOVerziji(ListBox1);
end;

Preostali deo koda smestite u isti Unit:

Function StringPad(
InputStr,
FillChar: String;
StrLen: Integer;
StrJustify: Boolean): String;
Var
TempFill: String;
Counter : Integer;
Begin
If Not (Length(InputStr) = StrLen) Then
Begin
If Length(InputStr) > StrLen Then
Begin
InputStr := Copy(InputStr,1,StrLen);
End
Else
Begin
TempFill := ”;
For Counter := 1 To StrLen-Length(InputStr) Do
Begin
TempFill := TempFill + FillChar;
End;
If StrJustify Then
Begin
{Left Justified}
InputStr := InputStr + TempFill;
End
Else
Begin
{Right Justified}
InputStr := TempFill + InputStr ;
End;
End;
End;
Result := InputStr;
End;

Function InformacijeOVerziji(
ListBox : TListBox): Boolean;
const
InfoNum = 11;
InfoStr : array [1..InfoNum] of String =
(’CompanyName’, ‘FileDescription’, ‘FileVersion’,
‘InternalName’, ‘LegalCopyright’, ‘LegalTradeMarks’,
‘OriginalFilename’, ‘ProductName’, ‘ProductVersion’,
‘Comments’, ‘Author’);
LabelStr : array [1..InfoNum] of String =
(’Company Name’, ‘Description’, ‘File Version’,
‘Internal Name’, ‘Copyright’, ‘TradeMarks’,
‘Original File Name’, ‘Product Name’,
‘Product Version’, ‘Comments’, ‘Author’);
var
S: String;
n, Len, i : Integer;
Buf : PChar;
Value : PChar;
begin
Try
S := Application.ExeName;
ListBox.Items.Clear;
ListBox.Sorted := True;
ListBox.Font.Name := ‘Courier New’;
n := GetFileVersionInfoSize(PChar(S),n);
If n > 0 Then Begin
Buf := AllocMem(n);
ListBox.Items.Add
(StringPad(’Size’,’ ‘,20,True)+’ = ‘+IntToStr(n));
GetFileVersionInfo(PChar(S),0,n,Buf);
For i:=1 To InfoNum Do Begin
If VerQueryValue(Buf,PChar(’StringFileInfo\040904E4\’+
InfoStr[i]),Pointer(Value),Len) Then
Begin
Value := PChar(Trim(Value));
If Length(Value) > 0 Then
Begin
ListBox.Items.Add
(StringPad(labelStr[i],’ ‘,20,True)+’ = ‘+Value);
End;
End;
End;
FreeMem(Buf,n);
End
Else Begin
ListBox.Items.Add
(’Nema FileVersionInfo podataka’);
End;
Result := True;
Except
Result := False;
End;
End;
Postavio clan: Uputstvo_84
Podeli na Facebooku Podeli sa prijateljima na facebook-u

Komentari

Trenutno nema komentara, komentarisite clanak pomocu forme koja se nalazi ispod

Da bi ste mogli da komentarisete clanke morate se registrovati


Obavestenje: Komentari nisu zvanicni stavovi ovog sajta već subjektivna mišljenja. Sajt Uputstva.rs nije odgovoran za stavove koji su iznešeni u komentarima i oni su vlasništvo njihovih autora.

daftar situs togel online situs togel online situs togel online togel macau oryornoi.com naturalmarkeet.com mgjakartaselatan.id togel slot jaigurudevashrammathura electrokwt agen togel online toto togel bo toto togel online bo toto togel online slot88 gacor agen toto togel subangjaya-desa.id