Programı Exe Haline Getirme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
sado.320
Üye
Mesajlar: 28
Kayıt: 18 Nis 2016 01:53

Programı Exe Haline Getirme

Mesaj gönderen sado.320 »

Arkadaşlar merhabalar benim yazdığım program bitti bu programı veritabanı ile birlikte nasıl exe haline getirebilirim? Kullandığım sürüm delphi xe7
AfterPost
Üye
Mesajlar: 158
Kayıt: 12 Tem 2014 10:22

Re: Programı Exe Haline Getirme

Mesaj gönderen AfterPost »

Programı derlediğin zaman otomatik olarak exe olur zaten ..
denizfatihi

Re: Programı Exe Haline Getirme

Mesaj gönderen denizfatihi »

Ctrl + F9
sado.320
Üye
Mesajlar: 28
Kayıt: 18 Nis 2016 01:53

Re: Programı Exe Haline Getirme

Mesaj gönderen sado.320 »

arkadaşlar benim istediğim projeyi setup haline getirmek. Yani örnek verecek olursak bir muhasebe programı nasıl bilgisayarımıza yüklüyorsak onun gibi yapmak istiyorum.
Kullanıcı avatarı
fesiharslan
Üye
Mesajlar: 591
Kayıt: 20 Eki 2006 11:37
Konum: Erzurum
İletişim:

Re: Programı Exe Haline Getirme

Mesaj gönderen fesiharslan »

Merhaba;
Programınızı veri tabanı ile birlikte kuruluma hazır hale getirmek için Inno Setup programını kullanabilirsiniz. Program ücretsizdir. Kurulum klasöründe örnekler yer almaktadır. Object Pascal kullanılabilir. Kurulum sırasında farklı bir programın da kurulumu sağlanabilir.
Daha detaylı bilgi için formda Inno Setup araştırması yapın.
İyi çalışmalar...
Kullanıcı avatarı
pasa_yasar
Üye
Mesajlar: 570
Kayıt: 07 Haz 2004 12:35

Re: Programı Exe Haline Getirme

Mesaj gönderen pasa_yasar »

inno setup veya Advanced Installer Free edition kullanabilirsin.
sado.320
Üye
Mesajlar: 28
Kayıt: 18 Nis 2016 01:53

Re: Programı Exe Haline Getirme

Mesaj gönderen sado.320 »

arkadaşlar setup haline getirdim Inno Setup ile.Fakat başka pc yüklediğim veritabanın kendi bilgisayarımdaki yolu gösteriyor bunu nasıl çözebilirim?
Kullanıcı avatarı
fesiharslan
Üye
Mesajlar: 591
Kayıt: 20 Eki 2006 11:37
Konum: Erzurum
İletişim:

Re: Programı Exe Haline Getirme

Mesaj gönderen fesiharslan »

sado.320 yazdı:arkadaşlar setup haline getirdim Inno Setup ile.Fakat başka pc yüklediğim veritabanın kendi bilgisayarımdaki yolu gösteriyor bunu nasıl çözebilirim?
Merhaba;
Daha önce yapmış olduğum bir örneğin linkini paylaşıyorum. Bu konuda umarım yardımcı olur.
viewtopic.php?f=18&t=35473&hilit=Setup#p191240
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: Programı Exe Haline Getirme

Mesaj gönderen brs »

Selam;

Projenizi bitirmişsiniz ama benim küçük bir önerim olacak exe tıklandığında otomatik olarak database oluşmasını bu kod yardımıyla sağlarsınız ve programı setup haline getirme Inno Setup programı gibi ekstra işlemlerle uğraşmak zorunda kalmazsınız

Kod: Tümünü seç

procedure TForm1.Button2Click(Sender: TObject);
var
  StrDataYol: String;
begin
  try
    StrDataYol := ExtractFilePath(Application.Exename) + 'DB\';
    if Not DirectoryExists(StrDataYol) then
      ForceDirectories(StrDataYol);

    begin
      with FDConnection do
      begin
        LoginPrompt := False;
        Params.Clear;
        Params.Values['Database'] := StrDatabase + '.db';
        Params.Values['DriverID'] := 'SQLite';
        Params.Values['CharacterSet'] := 'utf8';
      end;

      with Playlist do
      begin
        Active := False;
        Connection := FDConnection;
        SQL.Clear;
        SQL.Add('CREATE TABLE IF NOT EXISTS PLAYLIST(');
        SQL.Add('ID INTEGER PRIMARY KEY AUTOINCREMENT');
        SQL.Add(', SIRANO INTEGER');
        SQL.Add(', START VARCHAR(255)');
        SQL.Add(', PROGRAMADI VARCHAR(255)');
        SQL.Add(', YIN VARCHAR(255)');
        SQL.Add(', YOUT VARCHAR(255)');
        SQL.Add(', YDURATION VARCHAR(255)');
        SQL.Add(', ICERIK VARCHAR(255)');
        SQL.Add(', NOTLAR VARCHAR(255)');
        SQL.Add(', YTARIH DATE');
        SQL.Add(' ) ; ');
        ExecSQL;
      end;
    end;
  except
  end;
END;
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
sado.320
Üye
Mesajlar: 28
Kayıt: 18 Nis 2016 01:53

Re: Programı Exe Haline Getirme

Mesaj gönderen sado.320 »

brs yazdı:Selam;

Projenizi bitirmişsiniz ama benim küçük bir önerim olacak exe tıklandığında otomatik olarak database oluşmasını bu kod yardımıyla sağlarsınız ve programı setup haline getirme Inno Setup programı gibi ekstra işlemlerle uğraşmak zorunda kalmazsınız

Kod: Tümünü seç

procedure TForm1.Button2Click(Sender: TObject);
var
  StrDataYol: String;
begin
  try
    StrDataYol := ExtractFilePath(Application.Exename) + 'DB\';
    if Not DirectoryExists(StrDataYol) then
      ForceDirectories(StrDataYol);

    begin
      with FDConnection do
      begin
        LoginPrompt := False;
        Params.Clear;
        Params.Values['Database'] := StrDatabase + '.db';
        Params.Values['DriverID'] := 'SQLite';
        Params.Values['CharacterSet'] := 'utf8';
      end;

      with Playlist do
      begin
        Active := False;
        Connection := FDConnection;
        SQL.Clear;
        SQL.Add('CREATE TABLE IF NOT EXISTS PLAYLIST(');
        SQL.Add('ID INTEGER PRIMARY KEY AUTOINCREMENT');
        SQL.Add(', SIRANO INTEGER');
        SQL.Add(', START VARCHAR(255)');
        SQL.Add(', PROGRAMADI VARCHAR(255)');
        SQL.Add(', YIN VARCHAR(255)');
        SQL.Add(', YOUT VARCHAR(255)');
        SQL.Add(', YDURATION VARCHAR(255)');
        SQL.Add(', ICERIK VARCHAR(255)');
        SQL.Add(', NOTLAR VARCHAR(255)');
        SQL.Add(', YTARIH DATE');
        SQL.Add(' ) ; ');
        ExecSQL;
      end;
    end;
  except
  end;
END;
teşekkürler yazdığınız için.Ama benim istediğim oluşturma değilde veritabanının yolunu her bilgisayarda çalışacak şekilde nasıl yapabiliriz?
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: Programı Exe Haline Getirme

Mesaj gönderen brs »

Database oluşturunca veritabanı yolunu konusunda sıkıntı olmaz her bilgisayarda çalışır karar sizin!
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Kullanıcı avatarı
fesiharslan
Üye
Mesajlar: 591
Kayıt: 20 Eki 2006 11:37
Konum: Erzurum
İletişim:

Re: Programı Exe Haline Getirme

Mesaj gönderen fesiharslan »

sado.320 yazdı:arkadaşlar setup haline getirdim Inno Setup ile.Fakat başka pc yüklediğim veritabanın kendi bilgisayarımdaki yolu gösteriyor bunu nasıl çözebilirim?
Yardımcı olmaya çalışayım.
Uygulama ve veri tabanını Program Files\SizinKlasorunuz konumuna kurdurmanız gerekiyor.

Kurulum Yapılacak Dosyaların Hazırlanması:
1- Öncelikle kurulum yaptıracağınız dosyaları ayarlayalım. Bunun için D: sürücüsünde Kur klasörü, bunun altında Arac, KurulumDosya ve KurulumDosya'nın altında da Data klasörü oluşturun.
2- Arac klasörüne Firebird Kurulum Dosyasını (Örn: Firebird-2.5.1.26351_1_Win32.exe) kopyalayın.
3- KurulumDosya klasörüne kurulum yapılacak (Program Files'ta bulunacak) dosyalarınızı kopyalayın.
4- Data klasörüne veri tabanı dosyanızı (Örn: Ogrenci.Fdb) kopyalayın.

Klasörlerin son hali aşağıdaki gibi olmalıdır.
D:\Kur
D:\Kur\Arac
D:\Kur\KurulumDosya
D:\Kur\KurulumDosya\Data

Şimdi Inno Setup Script dosyası düzenlemesi yapalım.
Inno Setup Script Dosyasında aşağıdaki değişiklik veya eklemeleri yapın.

1- Öncelikle tanımlamalar bölümünde (en üst satırda) ilgili tanımlamaları yapalım.

Kod: Tümünü seç

#define MyAppName "UygulamaAdi"
#define AdApp "UygulamaAdi.exe"
#define dirKurulum "D:\Kur\KurulumDosya\"
#define dirFB "D:\Kur\Arac\"
#define dirDB "D:\Kur\KurulumDosya\Data\"
#define AdDB "VeriTabaniDosyaAdi.fdb"
2- Veri tabanı dosyasının kurulacağı bir klasör oluşturalım. Tanımlamalar bölümünün altına aşağıdaki script'i yazalım.

Kod: Tümünü seç

[Dirs]
Name: {app}\Data; Flags: uninsneveruninstall 
3-[Files] anahtarı altında kurulum yapılacak dosyalar seçilir.

Kod: Tümünü seç

[Files]
Source: "{#dirKurulum}*.*"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#dirDB}\{#AdDB}"; DestDir: "{app}\Data"; Flags: uninsneveruninstall
Source: "{#dirFB}\Firebird-2.5.1.26351_1_Win32.exe";DestDir: {tmp};
4- [Run] anahtarı altında kurulum ile birlikte çalıştırılacak veya kurulacak harici uygulamalar tanımlanır. Burada veri tabanı sürücüsünü seçimlik (CheckBox ile) kurduralım.

Kod: Tümünü seç

[Run]
Filename: "{tmp}\Firebird-2.5.1.26351_1_Win32.exe";Description: "{cm:LaunchProgram, Veri Tabanı}"; WorkingDir: {tmp}; Flags: postinstall skipifsilent; Parameters: "/SILENT" 
;Flags: postinstall skipifsilent 32bit; Check:"not Is64BitInstallMode";
5- Son olarak uygulama kısa yollarını kurdurmak için aşağıdaki tanımlamaları yapalım.

Kod: Tümünü seç

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#AdApp}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#AdApp}"
Script'i Build ettiğinizde, kurulum dosyası oluşturulacaktır. Kurulum yaptığınızda Uygulamanız Program Files klasöründe sizin belirlemiş olduğunuz yere kurulacaktır. Veri tabanı dosyası da kurulum klasörü altındaki Data klasöründe yer alacaktır. Yani her bilgisayarda konumu sabit olacaktır. (C:\Program Files\UygulamaKlasorunuz\Data\VeriTabaniDosyaAdi.fdb)
Dolayısıyla siz uygulamanızı ilk açtığınızda Connection'ı açmadan önce kullanıcıya bu veri tabanını seçtirebilirsiniz.
(Kurulum klasörünü, kurulum yapan kullanıcı bildiği için) yada aşağıdaki bağlantı parametrelerini kullanarak doğrudan bağlanabilirsiniz.

Kod: Tümünü seç

 FDConnection1.Params.Values['Database']:=GetCurrentDir+PathDelim+'Data'+PathDelim+'VeriTabaniDosyaAdi.fdb';
veya

Kod: Tümünü seç

 FDConnection1.Params.Values['Database']:=ExtractFilePath(Application.ExeName)+'Data'+PathDelim+'VeriTabaniDosyaAdi.fdb';
İyi çalışmalar...
Cevapla