السلام عليكم
هل استطيع - باستخدام دلفي 7 - جلب البيانات من موقع تداول الاسهم السعودية
http://www.tadawul.com.sa/wps/portal/!...s.7_0_A/7_0_4AI
وحفظها داخل قاعدة بيانات - بدون دخول قاعدة بيانات الموقع -
السلام عليكم
هل استطيع - باستخدام دلفي 7 - جلب البيانات من موقع تداول الاسهم السعودية
http://www.tadawul.com.sa/wps/portal/!...s.7_0_A/7_0_4AI
وحفظها داخل قاعدة بيانات - بدون دخول قاعدة بيانات الموقع -
السلام عليكم ورحمة الله وبركاته.
اخي ابو محمد يوجد طريقة سهله بشرط ان الموقع المذكور يعطي هذه الخدمه وهي عن طريق الحصول على ملف ال .XML للبيانات . ومن ثم يمكنك حفظها في قاعده البيانات لديك عن طريق ادوات مرفقه مع الدلفي
ولقد قمت باستعمال هذه الطريقة حيث ان برنامجي يقوم بالحصول على اسعار العملات الاجنبيه من موقع احد البنوك حيث ان الموقع يعطي هذه الخدمه .
يمكنك الاتصال بالموقع المراد والاستفسار عن كيفية الحصول على البيانات !
ارجو لك التوفيق . :)
لنكن الافضل , هكذا كنا.
السلام عليكم ،،،
أخي ماهر صرصور : أتوقع أنني استطيع الحصول على ملف xml ولكن بمقابل مادي ، وأنا ارغب بالحصول عليها لأغراض شخصية لذلك أبحث عن أقصر الطرق .
أخي سبيشل دلفي : الموقع حكومي فطبييعي حقوقه محفوظة .
السلام عليكم
وش عندك يا ابومحمد على الأسهم ؟؟؟ ... لايكون انك هامور ... من اللي قلبو السوق احمر قبل امس .. :lol:
طلبك موجود وهو جزء من برنامج اعمل علية حاليآ ... وجلب الداتا سهل وذالك بجلب سورس الصفحة
لكن الشغل في التعامل مع السترنق واستخلاص الداتا منة .. اسعار ... كميات ... التغيير ... الخ
عمومآ هذي فنكشن عملتها خصيصآ للتعامل مع موقع تداول ... وتنفعك في اشياء اخرى غير الأسعار الفورية
مثل التقرير اليومي ... الأسعار المفصلة للشركة ... وغيرة
function Download_Data(Url, sPos : string; len, No: integer): Boolean;
var
i, x: integer;
s1, s, ss: string;
label
Jump;
begin
x := No;
try
s1 := form1.IdHTTP1.Get(Url);
except
Result := false;
exit;
end;
repeat
try
i := ansipos(sPos, s1);
i := i + len;
while S1 <> '<' do
begin
s := s + s1;
inc(i);
end;
s := Trim(s);
if Length(s) <= 0 then goto Jump;
if not ((s[1]) in ['0'..'9', '-']) then goto Jump;
if x = No then
begin
ss := s + ';';
x := x - 1;
goto Jump
end;
if x > 1 then
begin
ss := s + ';' + ss;
x := x - 1;
goto Jump
end;
if x = 1 then
begin
ss := s + ';' + ss;
LString.Add(ss);
ss := '';
x := No;
end;
Jump:
Delete(s1, i - len, length(sPos));
s := '';
except
end;
until
AnsiPos(spos, s1) <= 0;
LString.SaveToFile('Data.txt');
Result := true;
end;procedure TForm1.Button1Click(Sender: TObject); var DataUrl : string; begin LString := TStringList.Create; DataUrl := 'http://www.tadawul.com.sa/wps/portal/!ut/p/.cmd/cs/.ce/7_0_A/.s/7_0_4AI/_s.7_0_A/7_0_4AI'; Download_Data_Now(DataUrl, 'height="18">', 12, 13); LString.Free; end;
عندي احساس ان الكود سد نفسك ... :D
لكن يا ابو محمد انت استاذنا ولا عندي شك انك راح تعرف الفكرة صح ... لكن تحتاج تمخمخ عليها شوي .. :D
ولا تنسى ان تضيف LString : TStringList; الى المتغير العام ... او القلوبل ... مدري وش يسمونة ... اللي فوق .... :D
تحياااااااااااااتي
السلام عليكم
اقتباسوش عندك يا ابومحمد على الأسهم ؟؟؟ ... لايكون انك هامور ... من اللي قلبو السوق احمر قبل امس ..
لا يكون تعلقت مثلي :(
اللـــه لا يخسر مسلم.
اللـــه يعطيك الف عافية على الكود ، فعلا هذه الفكرة التي أبحث عنها .
السلام عليكم
لقد عمل الكود بشكل رائع واعطاني كل الاسعار .
سأدرسه جيدا هذه الليلة وسأزعجك ببعض الاسئلة عليه . لأنني أرغب باستيراد بعض البيانات التي لم يستوردها .
ولكن قبل ذلك لدي سؤالين عليه وهو :
هل قام باستيراد البيانات من الصفحة مباشرة من السوس كود للصفحة ( الذي نصل إليه عن طريق view ثم source ) ، هناك بيانات موجودة بال SOURCE وغير موجودة بالصفحة .
ماذا تقصد بالرقمين 12 و 13
شاكر جدا تعاونك
تم تعديل هذه المشاركة بواسطة أبو محمـد في 27 مايو 2005 في 17:03
بروح أعلمهم lol
السلام عليكم
هذي والله الساعة المباركة يا ابومحمد ..... لكن تراي ماشي بالبركة ... انا هاوي لا درست ولا اعرف اشرح زي الناس .. لكن ابشر باللي اقدر علية
والأرقام هذي الأول 12 هذا اللينث length الخاص بالبزوشن (height="18"> )الي يتم اخذ السترنق بعدها ..... الى ان يصل الى ( > )
i := ansipos(sPos, s1);
i := i + len;
while S1 <> '<' do
اما الأنتيقر الثاني 13 هذا علشان كل شركة لها 13 معلومة ... والكود عندك يعرف اذا وصل 13 على طول يضيفها الى اليست سترنق وهكذا الى ان ينهي الشركات كلها
اقصد يداء يحسب من 13 وكل مرة ياخذ معلومة يضيفها الى المعلومة السابقة بعد ان يضيف اليها ( ; )وينقص واحد (-1) حتى اذا انتهى من اخذ معلومات الشركة كاملة
اضافها الى الليست سترنق .... وكل شركة لها سترنق في خاص بها في الليست .. فية كل المعلومات : مثل
786.00;810.00;792.25;463;805.50;170;805.25;72,427;150;1.29;10.25;30;805.25;
وانت تقدر توزعها بالطريقة اللي تناسبك .. ولما عملت ال 12 و 13 متغير لأني استخدم الفنكشن لأكثر من صفحة وكل صفحة تحتاج لينث وعدد خاص بها
وبانسبة للسؤال الأول .... نعم من نفس سورس الصفحة ... s1 := form1.IdHTTP1.Get(Url);
اعرض الــ S1 في ميمو وشوف
وانا جاهز لأي استفسار ... وثق اني ماراح اتأخر عليك باللي اقدر علية .
سبيشل دلفي >>>> هههههههه اجل تبي تعلم علينا .... رح علم ... انا مالي دخل ... هذا ابو محمد اللي يبي يلطشهم ... انا فقط اساعد برمجيآ ... :)
أخي ماهر وبقية الأخرة
أنا أريد تطوير برنامج بلغة سي شارب لاستحضار أسعار العملات وأبحث عن موقع يوفر هذه الخدمة ، أعني الاتصال به لاستحضار أسعار العملات ويكون موقعاً موثوقاً به ويتم تحديثه يومياً
مع الشكر الجزيل
السلام عليكم
كيف حالكم يا اخوان
معليش احنا جيرانكم في الفيجوال بيسك >>> لا احد يحقد بس عندنا وعندكم الخير ههههههههه
ابو محمد ممكن نعرف كيف نحصل على الاسعار بالفيجوال بيسك اذا احد عنده فكرة ؟
مشكورين :)
برنامج استيراد البيانات من موقع تداول.... برمجة ابو محمد
كيف نحصل عليه؟؟؟
بارك الله فيكم..
هذا الموضوع مغلق.