الغاء اصدار قديم لعميل
#1
سؤال الى اساتذتى الكرام جزاهم الله كل خير

ما هى الطريقة التى يمكن بها عند اخراج اصدار جديد لعميل مرتبطا بسيرفر ان يتوقف الاصدار القديم .
مثلا البالتوك او الاسكاى بى عند نزول اصدار جديد يتوقف القديم ولا يعمل الا بتحديث وانا لا اتكلم هنا عن تحديث لكن عدم اتصال العميل لاصدار قديم و يتصل فقط بالسيرفر الاصدار الحديث ؟
هل يحتاج الامر الى وضع كود من خلال اصدار جديد للسيرفر مع اصدار جديد للعميل ليتم التحقق؟
معانى الكلام تحمل على مراد المتكلم
الرد
#2
تضع ملف نصي على استضافة وتضع فيه قائمة النسخ القديمة مثلا
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; 
الرد
#3
شكرا استاذى الكريم onexite و جزاك الله كل خير
سأجرب المعلومة القيمة ولك منى الف شكر و تقدير على اهتمامك و تعليمك لى لما جهلته
معانى الكلام تحمل على مراد المتكلم
الرد
#4
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]
الرد
#5
تم حل الاشكال جزاك الله كل خير و عمل معى بنجاح توقيف الاصدار القديم
بارك فيك استاذى الكريم
لكن لم افهم كيفية عمل تحديث الى للبرنامج كما وضعته حضرتك حاولت وجربت عدة محاولات بما فيها بعض المواضيع بالمنتدى و قمت بالاتى :

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

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


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم