Yeni Versiyona Geçiş

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kilitli
çetinkaya

Yeni Versiyona Geçiş

Mesaj gönderen çetinkaya »

SLm arkadaşlar mesela ben bir ticari program yazdım v.1.0 ama aradan bir zaman sonra versşyon 2.0 çıkarttım.bunu yeni versiyonu eski versiyon kullanan müşterime nasıl yansıtırım.?? veritabanı aynı ama görünüm tasarım farklı yeni versiyona kullanıcının bilgileri kaybolmada nasıl geçeririm..??
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: Yeni Versiyona Geçiş

Mesaj gönderen Battosai »

Veritabanındaki bilgi ile senin tasarımının veya yeni versiyondaki değişikliklerin alakası nedir ?
çetinkaya

Re: Yeni Versiyona Geçiş

Mesaj gönderen çetinkaya »

şöyle ki mesela eski versiyonda fatura yazdırma modülü yoktur ama yeni versiyonda var veritabanı firebird eski programda olmayan özellikler yeni programda var budur alakası ....
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Yeni Versiyona Geçiş

Mesaj gönderen mkysoft »

otomatik güncelleme olarak aratırsanız forumda konuşmuştuk.
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: Yeni Versiyona Geçiş

Mesaj gönderen Battosai »

Alakası çokmuş anlayamamışısız...Sen fatura modülü koyunca bilgiler silinir firebird den ben bunu düşünemedim maşallah sana.
RamazanG
Üye
Mesajlar: 73
Kayıt: 16 Tem 2010 03:38

Re: Yeni Versiyona Geçiş

Mesaj gönderen RamazanG »

Not: Denemedim Türkçeye çevirip gönderiyorum...

Program Güncellemek

TWebBrowser Komponentine ihtiyacın olacak

Kod: Tümünü seç

function GetVersion : string;
const NOVIDATA = '';
var dwInfoSize,           //  VERSIONINFO programın büyüklüğü
     dwVerSize,            //  Data büyüklüğü
     dwWnd: DWORD;         //Çağrılan büyüklük için bir Handle .
     FI: PVSFixedFileInfo; // Delphi  WINDOWS.PAS içinde bulabilirsin
     ptrVerBuf: Pointer;   // Versiyon akımına bir işaretçi
     strFileName,          // Kontrol edilecek dosyanın adı
     strVersion : string;  // Ayrıştırılmış versiyon numarası
begin
strFileName:= paramStr(0);
dwInfoSize:= getFileVersionInfoSize(pChar(strFileName),dwWnd);
if (dwInfoSize=0) then result:= NOVIDATA
  else
    begin
     getMem(ptrVerBuf,dwInfoSize);
     try
      if getFileVersionInfo(pChar(strFileName),dwWnd,dwInfoSize,ptrVerBuf) then
         if verQueryValue(ptrVerBuf,'\',pointer(FI),dwVerSize) then strVersion:= format('%d.%d%d',[hiWord(FI.dwFileVersionMS),loWord(FI.dwFileVersionMS),hiWord(FI.dwFileVersionLS),loWord(FI.dwFileVer  sionLS)]);
     finally
      freeMem(ptrVerBuf);
     end;
    end;
Result:= strVersion;
end;

Kod: Tümünü seç

function GetUpdateFile(const fileURL, FileName: String): boolean;
const BufferSize = 1024;
var hSession, hURL: HInternet;
     Buffer: array[1..BufferSize] of Byte;
     BufferLen: DWORD;
    f: File;
     sAppName: string;
begin
sAppName:= ExtractFileName(Application.ExeName);
hSession:= InternetOpen(PChar(sAppName),INTERNET_OPEN_TYPE_PRECONFIG,nil,nil,0);
try
  hURL:= InternetOpenURL(hSession,PChar(fileURL),nil,0,0,0);
 try
   AssignFile(f,FileName);
   Rewrite(f,1);
   repeat
    InternetReadFile(hURL,@Buffer,SizeOf(Buffer),BufferLen);
    BlockWrite(f,Buffer,BufferLen)
   until BufferLen = 0;
   CloseFile(f);
   Result:= True;
  finally
   InternetCloseHandle(hURL)
  end;
finally
  InternetCloseHandle(hSession)
end;
end;

Kod: Tümünü seç

procedure TMain.CheckForUpdate();
var UpdateFile: TextFile;
     LatestVersion: string;
begin
//İndirilecek dosya ile var olan dosya versiyon numaralarını karşılaştır.
if GetUpdateFile('http://www.primary.update.website.com/textfile-with-latestversion-number','version.txt') = true then
    begin
     //Versiyon numarasını kullanarak, güncellenen dosyayı ayrıştır.
     AssignFile(UpdateFile,'version.txt');
     Reset(UpdateFile);
     ReadLn(UpdateFile,LatestVersion);
     if GetVersion < Trim(LatestVersion) then
        Begin
         //Güncelleme hakkında kullanıcıya bilgi ver
         Case MessageDlgPos('There is a new update available. Would you like to download it now?',mtInformation,[MBYES,MBNO],0,Main.Left+80,Main.Top+100) of
           6: WebBrowser.Navigate('http://www.your.website.com/program.zip');
         end;
        end;
    CloseFile(UpdateFile);
     DeleteFile('version.txt');
    end
   else if GetUpdateFile('http://www.secondary.update.website.com/textfile-with-latestversion-number','version.txt') = true then
        begin
     //Versiyon numarasını kullanarak, güncellenen dosyayı ayrıştır.
         AssignFile(UpdateFile,'version.txt');
         Reset(UpdateFile);
         ReadLn(UpdateFile,LatestVersion);
         if GetVersion < Trim(LatestVersion) then
            Begin
         //Güncelleme hakkında kullanıcıya bilgi ver
             Case MessageDlgPos('There is a new update available. Would you like to download it now?',mtInformation,[MBYES,MBNO],0,Main.Left+80,Main.Top+100) of
               6: WebBrowser.Navigate('http://www.your.website.com/program.zip');
             end;
            end;
         CloseFile(UpdateFile);
         DeleteFile('version.txt');
        end;
end;
çetinkaya

Re: Yeni Versiyona Geçiş

Mesaj gönderen çetinkaya »

sağol hocam tşk ederim hemen inceliyorum...
RamazanG
Üye
Mesajlar: 73
Kayıt: 16 Tem 2010 03:38

Re: Yeni Versiyona Geçiş

Mesaj gönderen RamazanG »

2.Yol

Üçüncü parti komponent kullanman CleverInternetSuite bu iş için en ideal komponent
Web den güncellemeyi anlatan açık kaynak koduda mevcut. Aşşağıdaki adreste Web den güncelleme anlatılmaktadır.
bana en mantıklı yol gibi geldi.

Not: Komponenti nerden bulcam dersen: ben rapidden buldum ;) full.

http://www.clevercomponents.com/article ... dater2.asp
Kullanıcı avatarı
CiTiZEN
Üye
Mesajlar: 1163
Kayıt: 06 Oca 2008 04:15

Re: Yeni Versiyona Geçiş

Mesaj gönderen CiTiZEN »

[quote="çetinkaya"][/quote]

beyler yakışıyor mu??
UWESIS CORPORATION
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: Yeni Versiyona Geçiş

Mesaj gönderen Battosai »

Bunun gibilere yakışır. Sora sora program yapıp, daha doğru düzgün cümle kurup ne istediğini anlatamayan ve karşıdakinin meziyetini bilmeden hakaret etmeye kalkışan adamdan her şey beklenir. Bunun gibi bir kaç tane daha vardı. Neyse polemiğe gerek yok biz anlamıyoruz nasılsa...
Kilitli