Yeni Versiyona Geçiş
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Yeni Versiyona Geçiş
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..??
Re: Yeni Versiyona Geçiş
Veritabanındaki bilgi ile senin tasarımının veya yeni versiyondaki değişikliklerin alakası nedir ?
Re: Yeni Versiyona Geçiş
şö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ı ....
Re: Yeni Versiyona Geçiş
otomatik güncelleme olarak aratırsanız forumda konuşmuştuk.
Re: Yeni Versiyona Geçiş
Alakası çokmuş anlayamamışısız...Sen fatura modülü koyunca bilgiler silinir firebird den ben bunu düşünemedim maşallah sana.
Re: Yeni Versiyona Geçiş
Not: Denemedim Türkçeye çevirip gönderiyorum...
Program Güncellemek
TWebBrowser Komponentine ihtiyacın olacak
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;
Re: Yeni Versiyona Geçiş
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
Üçü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

http://www.clevercomponents.com/article ... dater2.asp
Re: Yeni Versiyona Geçiş
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...