[تعليمي] موضوع هام جدا عن كيفية تبادل المعلومات بين منصات الميتاتريدر
PHP Warning: file_get_contents(https://www.arabictrader.com/arabictrader_storage_server/live_json_feed/at_latest_news.json): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden
in ..../includes/arabictrader/blue_theme/at_latest_news.php on line 13
سأحاول التفكير فيها بعد ان تعطني طرف الخيط
او المسار الذي ابحث فيه
او اسم الامر المستخدم
ممتاز جدا ...
أنت تنشيء نافذة لتبادل رقم الاتصال ...
طيب السؤال هنا ... ما هي النافذة الموجودة أصلا ودائما في كل أنظمة التشغيل ويندوز ...
وضاح عطار
https://forum.arabictrader.com/u5062.html
06-02-2016 11:01 AM
نعم أخي هذه التقنية هي أسرع تقنية لتبادل المعلومات البسيطة بين البرامج وأنا أستخدمها بكثرة ... وخصوصا بين برامج لا تسمح أصلا لي بأخذ معلومات منها ... فأتحايل عليها بهذه الطريقة .
بالنسبة لفكرتك عن النافذة باسم فريد ... فخذ هذه الفكرة التي أطبقها من فترة طويلة ...
لا داعي أصلا لهذه النافذة لكي يعرف البرنامج رقم الاتصال آليا ... وسوف أذكره لاحقا ... بعد أن تفكر فيه قليلا ...
سبق ان جربت تضمين الاكسيل كوسيط بين برنامجين وواجهت عدة مشاكل مع الأوفيس وتغيره .. حتى الآن تحت السيطرة
مما جعلني اتحول الى توظيف ( المفكرة ) بدل الإكسيل (الكتابة اليها والقراءة منها)
مادمنا سنستخدم سطح المكتب
وهو متاح لجميع البرامج
سنحتاج الى تمييز متغيراتنا حتى نعرف هل هي تخصنا ام لا
مثال
عند الكتابة الى سطح المكتب نكتب مثلا
MyMetatraderScriptMasterNumber=1234567
وداخل الكلاينت نقرا سطح المكتب ونستخدم سبلت لتقسيم المتغير بحرف يساوي الى اسم ورقم
ونختبر الاسم لنعرف هل هو صحيح ام لا قبل ان نستخدم الرقم
مادمنا سنستخدم سطح المكتب
وهو متاح لجميع البرامج
سنحتاج الى تمييز متغيراتنا حتى نعرف هل هي تخصنا ام لا
مثال
عند الكتابة الى سطح المكتب نكتب مثلا
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)