Søknad versjon number

hvordan du får versjonsnummer av en applikasjon på runtimeunit GetVersionInfo, interfaceuses Windows, Klasser, SysUtils, prosedyre GetProjectVersionInfo (AVersionList: TStrings; AFileName: string = ''); funksjon GetBuildInfo (var V1, V2, V3, V4: Word, AFileName: string = ''): Boolean, funksjon GetBuildInfoAsString (AFileName: string = ''): string; implementationtype PTransBuffer = ^ TTransBuffer; TTransBuffer = array [1..13] av smallint; konst CInfoStr: array [1..13] snor = ( 'FileVersion', 'Ola Normann "," FileDescription', 'Internt navn', 'LegalCopyright', 'LegalTradeMarks', 'OriginalFileName', 'Product', 'Product', 'Kommentarer', 'CurrentProgramVersion', 'CurrentDatabaseVersion', 'VersionDetails'); prosedyre GetProjectVersionInfo (AVersionList: TStrings; AFileName: string = ''); {Denne prosedyren returnerer ALLE versjonsinformasjonen som separate streng oppføringene i en TString listen. Hvert element kan da nås ved å indeksere TString liste slik: AVersionList [0], AVersionList [1] osv ..} Var jeg: Integer; InfoSize: DWORD; pTrans: PTransBuffer; TransStr: string; TypeStr: string; Verdi: PChar; VerBuf: pekeren; VerSize: DWORD; Vind-: DWORD; begynne AVersionList.Clear; hvis AFileName = '' da AFileName: = ParamStr (0); InfoSize: = GetFileVersioninfoSize (PChar (AFileName), Vind-); if (InfoSize < > 0), og start GetMem (VerBuf, InfoSize); prøve hvis GetFileVersionInfo (PChar (AFileName), Vind-, InfoSize, VerBuf), og start VerQueryValue (VerBuf, PChar ( '\\ VarFileInfo \\ Oversettelse'), Pointer (pTrans), VerSize); TransStr: = IntToHex (pTrans ^ [1], 4) + IntToHex (pTrans ^ [2], 4); for i: = Low (CInfoStr) til høy (CInfoStr) gjør begynne TypeStr: = 'StringFileInfo \\' + TransStr + '\\' + CInfoStr [I]; hvis VerQueryvalue (VerBuf, PChar (TypeStr), Pointer (verdi), VerSize) så AVersionList.Add (CInfoStr [I] + '=' + verdi); end end; endelig FreeMem (VerBuf); slutt; end, end, funksjon GetBuildInfo (var V1, V2, V3, V4: Word, AFileName: string = ''): Boolean; {. Denne prosedyren returnerer enkelte Major /Minor /utløsning /bygge verdier for versjonsinformasjonen} Var VerInfoSize : DWORD; VerInfo: Pointer; VerValueSize: DWORD; VerValue: PVSFixedFileInfo; Dummy: DWORD, begynner Resultat: = true; hvis AFileName = '' da AFileName: = ParamStr (0); VerInfoSize: = GetFileVersionInfoSize (PChar (AFileName), Dummy); hvis VerInfoSize = 0 da begynne Resultat: = False; Gå; slutt; GetMem (VerInfo, VerInfoSize); prøve GetFileVersionInfo (PChar (AFileName), 0, VerInfoSize, VerInfo); VerQueryValue (VerInfo, '\\', Pointer (VerValue), VerValueSize); med VerValue ^ gjør begynne V1: = dwFileVersionMS SHR 16; V2: = dwFileVersionMS og $ FFFF; V3: = dwFileVersionLS SHR 16; V4: = dwFileVersionLS og $ FFFF; slutt; endelig FreeMem (VerInfo, VerInfoSize); end, end, funksjon GetBuildInfoAsString (AFileName: string = ''): string; Var V1: Word; V2: Word; V3: Word; V4: Word, begynne hvis GetBuildInfo (V1, V2, V3, V4) så Resultat: ( '...% D% d% d% d', [V1, V2, V3, V4]) = Format annet Resultat: = ''; end; slutten
.



Previous:
Next Page: