Projenizin *.Exe dosyasına sürüm(version) bilgisi ekleyin

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
NeverFear
Üye
Mesajlar: 69
Kayıt: 20 Tem 2004 09:41
Konum: İzmir

Projenizin *.Exe dosyasına sürüm(version) bilgisi ekleyin

Mesaj gönderen NeverFear »

Delphi Ana Menü'sünde Project\Options\Version Info sekmesini tıklayınız.
Include version information in project yanındaki onay kutusunu tıkladığınızda
soluk kısımların açıldığını göreceksiniz. Burada istediğiniz gibi değişiklikler
yaparak Ok düğmesini tıklayınız. Derlediğinizde, artık *.Exe dosyanızın sürüm
bilgilerini Windows Gezgini veya daha farklı yöntemle, mouse ile üzerinde durduğunuzda
açıklayıcı bilgi olarak görebilirsiniz. Bunu aynı zamanda About(Hakkında) formunuzda da
görüntüleyebilirsiniz.

ismini GenelSabit verebileceğiniz bir *.pas dosya hazırlayınız ve projenizin
Ana Form'una ekleyiniz.

// GenelSabit.pas dosyası
// Bu *.pas dosyada form (*.dfm) yok.

Kod: Tümünü seç

unit GenelSabit;

{$R-}

interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Dialogs, Forms,
  StdCtrls, DB, DBTables, BDE, Registry, FileCtrl, ExtCtrls, WinTypes;

var
  V1, V2, V3, V4: word;
  Version: string;

procedure GetBuildInfo(const AppName: string; var V1, V2, V3, V4: Word);

implementation

uses Consts;

procedure GetBuildInfo(const AppName: string; var V1, V2, V3, V4: Word);
var
   VerInfoSize, VerValueSize, Dummy: DWORD;
   VerInfo: Pointer;
   VerValue: PVSFixedFileInfo;
begin
  VerInfoSize:= GetFileVersionInfoSize(PChar(AppName), Dummy);
	GetMem(VerInfo, VerInfoSize);
  GetFileVersionInfo(PChar(AppName), 0, VerInfoSize, VerInfo);
  VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize);
  with VerValue^ do
  begin
     V1:= dwFileVersionMS shr 16;
     V2:= dwFileVersionMS and $FFFF;
     V3:= dwFileVersionLS shr 16;
     V4:= dwFileVersionLS and $FFFF;
  end;
  FreeMem(VerInfo, VerInfoSize);
end;
///////////////////////////////////////////////////////////////////////////////
//Ana Formun hazırlanışı
//uses kısmına ekli GenelSabit'e dikkat.......!!!!
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, Menus, ExtCtrls, GenelSabit, Jpeg;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
  GetBuildInfo(Application.ExeName, V1, V2, V3, V4);
  Version:= Format('%d.%d.%d Yapı %d', [V1, V2, V3, V4]);
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  ShowMessage('Program Sürümü = ' + Version);
end;
İşinizi görmesi dileğimle,
Çalışmalarınızda başarılar dilerim.

NeverFear - kaheri579@hotmail.com
Cevapla