17-05-2012, 11:30 AM
17-05-2012, 11:54 AM
إقتباس :-1 للاول و ال0 للثاني و +1 للثالثلا
صفر للأول و البقية لا
Count عدد العناصر
ItemIndex دليل العنصر المختار
كل مرة ناخذ دليل العنصر المختار ونزيد عليه واحد حتى اذا وصلنا لعدد العناصر نعود للصفر
17-05-2012, 12:57 PM
ها هو المشروع اللي أطوره
18-05-2012, 01:53 AM
السلام عليكم
أظن اني فهمت قصد
ان تبحث عن شيء مثل
ListBox.Selected[Index] := True;
الخاصية في ListBox ولا توجد في Memo
مثال
على حسب ما أرى مشروعك لن تحتاج Timer
لأنك تستعمل idhttp
لا يمكن حجز مدة معينة لاستجابة الخادم
أظن اني فهمت قصد
ان تبحث عن شيء مثل
ListBox.Selected[Index] := True;
الخاصية في ListBox ولا توجد في Memo
مثال
كود :
var
i: Integer;
begin
for i := 0 to ListBox.Items.Count -1 do
begin
ListBox.Selected[i] := True;
Sleep(1000); // توقف ثانية
end;
end;لأنك تستعمل idhttp
لا يمكن حجز مدة معينة لاستجابة الخادم
18-05-2012, 05:33 PM
شكرا لك و الان كيف سأستخدم القيمة التي يجلبها من ListBox
19-05-2012, 10:09 AM
وضعناها في متغير
كود :
var
s: string;
begin
s := ListBox.Items.Strings[Index];
end;20-05-2012, 11:51 AM
المشروع لم يعمل كما أردت المهم تشكرون جميعا على الردود
طورت أفكاري في هذه اللغة و تعلمت الكثير خلال أسبوع عن هذه اللغة
شكرا مرة اخرى
طورت أفكاري في هذه اللغة و تعلمت الكثير خلال أسبوع عن هذه اللغة
شكرا مرة اخرى
20-05-2012, 01:29 PM
السلام عليكم
المنتدى غني بالمواضيع ابحث فقط
ادا كنت مبتدا يوجد قسم للمبتدئين و مواضيع ودورة منتدى دلفي للعرب انطلق منها
كما ارى ان سؤالك تمت الاجابة عليه
عموما تفظل هدا ما تبحث عنه
المنتدى غني بالمواضيع ابحث فقط
ادا كنت مبتدا يوجد قسم للمبتدئين و مواضيع ودورة منتدى دلفي للعرب انطلق منها
كما ارى ان سؤالك تمت الاجابة عليه
عموما تفظل هدا ما تبحث عنه
كود :
uses IdHTTP;
function IS_URL_Valid(const URL: string; const Timeout: Integer): boolean;
var
HTTP: TIdHTTP;
begin
Result := False;
HTTP := TIdHTTP.Create(nil);
try
//HTTP.ConnectTimeout := Timeout;
//HTTP.ReadTimeout := Timeout;
try
HTTP.Head(URL);
except
Result := False;
end;
if HTTP.ResponseCode = 200 then
Result := True;
finally
HTTP.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
URL: string;
begin
URL := LowerCase(Edit1.Text);
if URL = '' then
Exit;
if Pos('http://', URL) = 0 then
URL := 'http://' + URL;
if Pos(URL[Length(URL)], '/') <> 0 then
Delete(URL, Length(URL), 1);
for i := 0 to ListBox1.Items.Count - 1 do
begin
Application.ProcessMessages;
ListBox1.Selected[i] := True;
Label1.Caption := 'Count: ' + IntToStr(i + 1) + '/' +
IntToStr(ListBox1.Items.Count);
if IS_URL_Valid(URL + '/' + ListBox1.Items[i], 15000) then
Memo1.Lines.Add(URL + '/' + ListBox1.Items[i] + ' ' + '200 OK');
Application.ProcessMessages;
end;
end;23-05-2012, 01:46 PM
ghost-dz
شكرا لك أخي لكن هل متأكد أنه يعطيك النتيجة لأني جربت عندي و لم يعمل
^^
شكرا لك أخي لكن هل متأكد أنه يعطيك النتيجة لأني جربت عندي و لم يعمل
^^
23-05-2012, 02:10 PM
نسبة نجاحه الآن هي 70%
يمكن تحسين الاداء ببعض التعديلات ليكون على الاقل
نسبة نجاح العملية على الأقل 90%
لأنه كما نعلم أنه ادا كان رد من server = 200 فهدا جيد
ولنفرض أنه كان 403 المجلد موجود لكن رد لم يكن 200
يعني forbidden بسبب تصاريح المجلد او مود سكيورتي او htaccess .........
او ادا كان رد 302
هدي كلها اسباب تأثر عليه سلبيا
يمكن تحسين الاداء ببعض التعديلات ليكون على الاقل
نسبة نجاح العملية على الأقل 90%
لأنه كما نعلم أنه ادا كان رد من server = 200 فهدا جيد
ولنفرض أنه كان 403 المجلد موجود لكن رد لم يكن 200
يعني forbidden بسبب تصاريح المجلد او مود سكيورتي او htaccess .........
او ادا كان رد 302
هدي كلها اسباب تأثر عليه سلبيا