ممتاز جدا ...
أنت تنشيء نافذة لتبادل رقم الاتصال ...
طيب السؤال هنا ... ما هي النافذة الموجودة أصلا ودائما في كل أنظمة التشغيل ويندوز ...
Printable View
ممتاز .. نعم هي نافذة سطح المكتب ... موجودة حتما ودائما بكل ويندوز .
عندما تشغل الماستر مثلا ... تجعله يكتب رقم الاتصال أو مقبض النافذة أو أي معلومة تريد ... في عنوان نافذة سطح المكتب ...
عندما تشغل الكلاينت ... تجعله يقرأ هذا الرقم الموجود في عنوان نافذة سطح المكتب ..
للوصول إلى مقبض نافذة سطح المكتب استخدم GetDesktopWindow . وهو رقم ثابت لكن يفضل الحصول عليه من خلال هذه الوظيفة .
إن شاء الله إن قدرني سأقوم ببناء مشروعين تعليميين اعتمادا على هذا الكود ...
المشروع الأول : نظام أربيتراج بسيط ( تعليمي فقط ) بين المنصات .
المشروع الثاني : نظام ناسخ صفقات بسيط بين المنصات .
مادمنا سنستخدم سطح المكتب
وهو متاح لجميع البرامج
سنحتاج الى تمييز متغيراتنا حتى نعرف هل هي تخصنا ام لا
مثال
عند الكتابة الى سطح المكتب نكتب مثلا
MyMetatraderScriptMasterNumber=1234567
وداخل الكلاينت نقرا سطح المكتب ونستخدم سبلت لتقسيم المتغير بحرف يساوي الى اسم ورقم
ونختبر الاسم لنعرف هل هو صحيح ام لا قبل ان نستخدم الرقم
أنت دائما تفكر لأبعد ما يمكن من الاحتمالات الممكنة برمجيا ... وهو شيء احترافي وممتاز ... ولكن أحيانا قد يكون لا داعي له ومرهق برمجيا ... أو من المبكر الحديث عنه .
لا أعتقد أن أي برنامج سيستخدم سطح المكتب لتبادل البيانات بينه وبين برنامج آخر لأن معظم البرامج هي برامج مستقلة بذاتها ... وحتى إن وجد يمكن حلها بشكل أبسط مما عرضته .
اكتب في عنوان نافذة سطح المكتب رقم الاتصال مثلا على الشكل 123456$$ ... تأكد في الكلاينت أن النص يبدأ بحرفي $$ ثم استخرج الرقم .
مبروك ...
برمجيا أنت يمكنك عمل أي شيء والتعامل مع أي شيء ...
فمثلا أنا من فترة طويلة عملت سكريبتات لعمل تقارير HTML مباشرة بالطريقة التي تريدها .
ولكن كان ذلك من خلال برمجة كودات خاصة لكتابة ملفات بصيغة HTML وهي صيغة مشابهة لصيغة XML ولكن الأخيرة متطورة أكثر وتهتم بالتصنيف أكثر .
لذلك نظريا الميتاتريدر يمكن برمجيا من خلاله التعامل مع أي نوع من أنواع الملفات ولكن بكودات تكتبها أنت بنفسك أو باستخدام DLL .
ولكن عمليا هل فيه وظائف جاهزة مبيتة داخله ... دون استخدام كود خاص أو DLL للتعامل مع XML مباشرة .
الفكرة أن يكون برنامج وسيط (ساعي بريد - مرسال غرام:) ) بين منصتين
-------
سؤال اذا كتبت نص على شارت
ثم اغلقت الميتاتريدر وشغلته سيبقى هذا النص على الشارت
اين تم حفظه ؟؟
ساعي البريد يقرأ هذا النص على الشارت في المنصة A
ويكتبها على شارت المنصة B
--------
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'first let's check if there is a file MyXML.xml into our application folder
'if there wasn't a file something like that, then let's create a new one.
'If IO.File.Exists("000.tpl") = False Then
'declare our xmlwritersettings object
Dim settings As New XmlWriterSettings()
'lets tell to our xmlwritersettings that it must use indention for our xml
settings.Indent = True
'lets create the MyXML.xml document, the first parameter was the Path/filename of xml file
' the second parameter was our xml settings
Dim XmlWrt As XmlWriter = XmlWriter.Create("000.tpl", settings)
With XmlWrt