Programowanie w języku Delphi » Gotowce

Dodawanie wersji

Napewno wiesz co to jest wersja w pliku exe. Gdy klikniemy na plik prawym przyciskiem myszy i wejdziemy we właściwości to jest tam zakładka Wersja. I to mi chodzi. Jak dodać taką wersje do swojego programu? Są dwa sposoby. Pierwszy: W menu delphi klikasz Project a później Options wybierasz zakłedke Version Info, zaznaczasz ,,Include version information in project" i edytujesz.

    A drugi, mówiąc skromnie wymyślony przezemnie (czekam na patent :D) jest bardziej skomplikowany. Najpierw uruchamiamamy notatnik i wpisujemy:

1 VERSIONINFO LOADONCALL MOVEABLE
FILEVERSION 1, 0, 0, 0
PRODUCTVERSION 1, 0, 0, 0
{
  BLOCK "StringFileInfo"
  {
    BLOCK "040904E4"
    {
      VALUE "Autor", "cos tam/000"
      VALUE "FileDescription", "cos tam/000"
      VALUE "FileVersion", "1.0/000"
      VALUE "InternalName", "cos tam/000"
      VALUE "LegalCopyright", "brak/000"
      VALUE "OriginalFilename", "nie powiem!/000"
      VALUE "Data wydania", "13 Grudnia 1974/000"
      VALUE "ProductName", "cos tam/000"
      VALUE "ProductVersion", "1.0/000"
      VALUE "co jest?", "nico/000"
      VALUE "bardzo ważna iformacja", "ty żyjesz!/000"
      VALUE "Comments", "blablabla/000"
    }
  }
  BLOCK "VarFileInfo"
  {
      VALUE "Translation", 0x0415 0x04B0
  }
}

To jest kod w asseblerze. Każda wartość musi się kończyć znakami /000". Morzemy dodawać to co nam sie podoba (przykładem jest wpis ,,co jest?") i odejmować! Np.

1 VERSIONINFO LOADONCALL MOVEABLE
FILEVERSION 1, 0, 0, 0
PRODUCTVERSION 1, 0, 0, 0
{
  BLOCK "StringFileInfo"
  {
    BLOCK "040904E4"
    {
      VALUE "bardzo ważna iformacja", "ty żyjesz!/000"
    }
  }
  BLOCK "VarFileInfo"
  {
      VALUE "Translation", 0x0415 0x04B0
  }
}

Niektóre wpisy windows tłumaczy. A oto one:

FileDescription - Opis (nie pojawi się na liście ale w polu tekstowym nad nią)
FileVersion - Wersja pliku (j.w.)
LegalCopyright - Prawa autorskie (j.w.)
InternalName - Nazwa wewnętrzna
OriginalFilename - Pierwotna nazwa pliku
ProductName - Nazwa produktu
ProductVersion - Wersja produktu
Comments - Komentarze        

    No to teraz zapisujemy ten plik i zmieniamy rozszerzenie na rc (np. plik.rc). Teraz skorzystamy z narzędzia które znajduje się w katalogu ...DelphiBin o nazwie brcc32.exe. Kopiujesz go do folderu z plikiem plik.rc. Program jest w DOS'ie to trzeba włączyć okienko DOS'a i wejść do tego katalogu. W DOS'ie do folderu przenosimy sie tak:

cd NazwaFolderu

lub:

cd NazwaFolderuDrugiFolder

jeśli chcesz przejść o folder wyżej to stosujesz polecenie:

cd..

a jak już jesteś to wpisujesz polecenie:

brcc32.exe plik.rc

i już mamy plik z rozszeżeniem .res! Gdy włączysz go w Restoratorze to zobaczysz sekcje Wersja. Teraz tylko wystarczy skopiować do ktalogu z źródłem programu i w kodzie delphi pod napisem {$R *.dfm} wpisać {$R plik.res}. Teraz trzeba tylko skopilować i gotowe!

Jak coś to pisz: [email protected]!

7 komentarzy

Arthan 2007-07-22 01:58

Jak piszesz jakiś artykuł to pisz w Wordzie najlepiej albo zainstaluj sobie Firefox'a bo z pisownią u Ciebie nie najlepiej :P
"Napewno" "przezemnie" "Morzemy" "rozszeżeniem" <ściana>

thane 2005-07-12 16:26

...To jest kod w asseblerze. ..

Swietny dowcip :D:D:D

psychoszayber 2003-05-28 19:09

Po co się męczyć (Mr. Muscle cię wyręczy) :)

Mahesz 2003-05-18 16:46

A jeśli potrzebuję w czasie działania programu (runtime) odczytać info o wersji pliku EXE i np. wkleić do komponentu typu TEdit? Przydałaby się podobna procedura.

tomaszos 2003-05-17 15:25

jak kto woli. jak na mnie jest bez sensu bo moim sposobem moge dać to co mi się podoba i odjąć a tak nie.

lofix 2003-05-17 12:28

hmm.a wybierając MENU/OPTIONS nie łatwiej?? :)

tomaszos 2003-05-17 10:30

Przedchwilą poprawiłem błędy!