Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 8 odgovora
  • 5.372 pregleda

Najnovija ↓

File version info i custom polja 27.02.2007. u 15:35 · pre 239 meseci #1
Uz pomoć sledećeg koda

http://www.swissdelphicenter.ch/torry/showcode.php?id=1047

je moguće dobiti file version info, vrednosti za standardna polja (CompanyName, FileVersion...), kao i za nestandardna polja, ali pod uslovom da znate kako se zovu.

Problem je što meni treba lista svih polja koja se nalaze u versin info-u nekog fajla i njihove vrednosti, bez obzira na njihovo ime. Ako Fileinfo plugin za Total Commander to moze da izvede, znači da je moguće, samo pitanje kako.

Ja nisam uspeo da nađem ništa pametno, ima li neko neku ideju?
Potpis
viking ®
Re: File version info i custom polja 27.02.2007. u 16:17 · pre 239 meseci #2
> Problem je što meni treba lista svih polja koja se nalaze u versin info-u nekog fajla i njihove vrednosti, bez obzira na njihovo ime.

Da li si probao JCL i funkcije iz JclFileUtils?
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: File version info i custom polja 28.02.2007. u 00:50 · pre 239 meseci #3
Ako koristis Jcl:

Code:

Uses JclFileUtils, Forms, ...;

...

Var
   FInfo: TJclFileVersionInfo;
begin
  FInfo:= TJclFileVersionInfo.Create(Application.ExeName);
  try
    FInfo.ProductVersion // Ovo ti je verzija samog exe fajla
    FInfo.Items.Values['naziv'] // Ovako pristupas slobodno definisanim poljima
  finally
    FInfo.Free;
  end;
end;


Znaci ides kroz FInfo.Items (string lista) i dobices sve nazive kljuceva i njihove vrednosti
Re: File version info i custom polja 28.02.2007. u 01:00 · pre 239 meseci #4
Evo sad sam probao i radi, ali što bi rekao moj prijatelj: "Not good enough. No UNICODE."

Nadao sam se da neko konkretno zna kako se to radi pa da mi objasni i da me uputi na određeni deo dokumentacije, pa da dodam i to u svoj kod.

Ovako moram da čeprkam po tuđem kodu, što i nije baš zahvalno.

Tnx, anyway...
Potpis
viking ®
Re: File version info i custom polja 28.02.2007. u 13:35 · pre 239 meseci #6
ne znam da li ce ti pomoci ali...

Code:

function get_verzija(fajl:string):integer;
var
  n, Len: DWORD;
  Buf: PChar;
  Value: PChar;
begin
  n := GetFileVersionInfoSize(PChar(fajl), n);
  if n > 0 then
  begin
    Buf := AllocMem(n);
    GetFileVersionInfo(PChar(fajl), 0, n, Buf);
      if VerQueryValue(Buf, PChar('StringFileInfo\040904E4\Verzija'), Pointer(Value), Len) then
       result:=strtoint(value);
    FreeMem(Buf, n);
  end;
end;
Re: File version info i custom polja 01.03.2007. u 00:50 · pre 239 meseci #7
Citat:
_deran_: ne znam da li ce ti pomoci ali...

'StringFileInfo\040904E4\Verzija'



Ovaj tvoj kod je dokaz da treba malo da se pozabavimo ovom tematikom.

Jedna vrednost, zakucana na 1 jezik, je daleko od onog što meni treba.
Potpis
viking ®
Re: File version info i custom polja 01.03.2007. u 00:59 · pre 239 meseci #8
Citat:
morlic: Imas u toj Jcl klasi sasvim dovoljno materijala da sam sve uradis, prouci kod, tu se nalazi vise nego sto bi ti neko od nas rekao iz prve, jedino da ti napise sve od nule ;)


Ne, ne želim da mi neko napiše sve od nule, želim da se malo pozabavimo tematikom. Mislim da je dovoljno zanimljiva i upotrebljiva.

Nije problem iskopirati JCL code i prepraviti ga da radi sa unicode-om, ideja je shvatiti kako to sve radi.

Zato bi ja da krenemo od VS_VERSIONINFO kao root strukture, pa da vidimo šta je tačno šta unutra.

Ima li zainteresovanih?
Potpis
viking ®
Re: File version info i custom polja 01.03.2007. u 08:44 · pre 239 meseci #9
Citat:
Ovaj tvoj kod je dokaz da treba malo da se pozabavimo ovom tematikom.

Jedna vrednost, zakucana na 1 jezik, je daleko od onog što meni treba.


pogledaj primer
uz malo maste ces zaobici jedan jezik i jednu vrednost.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme