delphi4arab منتديات دلفي للعرب

نسخة كاملة : الغاء اصدار قديم لعميل
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
سؤال الى اساتذتى الكرام جزاهم الله كل خير

ما هى الطريقة التى يمكن بها عند اخراج اصدار جديد لعميل مرتبطا بسيرفر ان يتوقف الاصدار القديم .
مثلا البالتوك او الاسكاى بى عند نزول اصدار جديد يتوقف القديم ولا يعمل الا بتحديث وانا لا اتكلم هنا عن تحديث لكن عدم اتصال العميل لاصدار قديم و يتصل فقط بالسيرفر الاصدار الحديث ؟
هل يحتاج الامر الى وضع كود من خلال اصدار جديد للسيرفر مع اصدار جديد للعميل ليتم التحقق؟
تضع ملف نصي على استضافة وتضع فيه قائمة النسخ القديمة مثلا
version.txt
PHP كود :
0.1
0.2
0.3
0.4 
الكود يكون من هذا الشكل
PHP كود :
stringlist:=
'http://www.delphi4arab.net/version.txt'
for i:=0 to stringlist.count-1 do
if 
myversion=stringlist[i] then close; 
شكرا استاذى الكريم onexite و جزاك الله كل خير
سأجرب المعلومة القيمة ولك منى الف شكر و تقدير على اهتمامك و تعليمك لى لما جهلته
PHP كود :
uses WinInet;

procedure TForm3.btn1Click(Sender: TObject);
var 
i:SmallInt;
list:
TStringList;
 
tn1: TTreeNode;
begin
list:=TStringList.Create;
list.
DelimitedText:=GetUrl('http://www.site.com/file.txt');
list.
Delimiter:=#13;
with tv1.Items do
  
begin
    Clear
;
    
tn1 := Add(nil, 'الاعضاء');
    for 
I := 0 to list.Count-1 do
    
AddChild(tn1,list[i]);
  
end;
  list.
Free;

end;

function 
TForm3.GetUrl(Url: string): string;
const
BuffSize = 2048;
var
  
hInter   : HINTERNET;
  
UrlHandle: HINTERNET;
  
BytesRead: Cardinal;
  
Buffer   : Pointer;
begin
  Result
:='';
  
hInter := InternetOpen('', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  if 
Assigned(hInter) then
  begin
    GetMem
(Buffer,BuffSize);
    try
        
UrlHandle := InternetOpenUrl(hInter, PChar(Url), nil, 0, INTERNET_FLAG_RELOAD, 0);
        if 
Assigned(UrlHandle) then
        begin
          InternetReadFile
(UrlHandle, Buffer, BuffSize, BytesRead);
          if 
BytesRead>0 then
           SetString
(Result, PAnsiChar(Buffer), BytesRead);
           
InternetCloseHandle(UrlHandle);
        
end;
    finally
      
FreeMem(Buffer);
    
end;
    
InternetCloseHandle(hInter);
  
end
end
; 


[صورة: iTL43j.png]
تم حل الاشكال جزاك الله كل خير و عمل معى بنجاح توقيف الاصدار القديم
بارك فيك استاذى الكريم
لكن لم افهم كيفية عمل تحديث الى للبرنامج كما وضعته حضرتك حاولت وجربت عدة محاولات بما فيها بعض المواضيع بالمنتدى و قمت بالاتى :

1- عمل ملف تيكست
2- استخدام موقع
بالنسبة استاذى لـ TreeNode قمت بعمل فورم يحتوى على TreeView ولكن هل من المفروض ان يحل محل فورم الابديت ؟

بحيث عند الاتصال و جلب ملف التيكست GetUrl يقوم بعرض النسخ فى الـ Tree ام ماذا ؟