جديد المنتدى

 
 
روابط مهمة ...


العودة   منتدى تعليم الفوركس > منتدى الفوركس > منتدى المؤشرات والاكسبريتات

إضافة رد
 
LinkBack أدوات الموضوع انواع عرض الموضوع
  #1 (permalink)  
قديم 03-23-2008, 10:55 AM
الصورة الرمزية asklo

مراقب عام

 
تاريخ التسجيل: Mar 2008
المشاركات: 2,339
إرسال رسالة عبر مراسل MSN إلى asklo
افتراضي الدرس الثامن .. بيانات ما قبل المعالجة

بسم الله الرحمن الرحيم

مرحبا بكم في الدرس الثامن ... بيانات ما قبل المعالجة في لغة MQL4

ماذا نعني بهذه البيانات ؟

هذه البيانات هي تعليمات يقوم المبرمج بتزويدها للمجمع compiler ليقوم بحفظها كما هي قبل معالجة الكود .

بمعنى اخر , خلال عملية التجميع compile (راجع مقدمة الدروس) يقوم المجمع compiler بتحويل برنامجك (بعد انتهائك منه) من لغتنا البشرية الى لغة الألة (الواحد والصفر) ليقوم بعمله .

حسنا ماذا لو اردت منه ان لا يقوم بتحويل بعض التعليمات الى لغة الألة واخراجها كما هي بلغتنا ( كرابط موقع مثلا او تعريف بصانع الكسبرت وحقوقه .. الخ) ؟

هذه البيانات وتسمى preprossesors ( اي قبل المعالجة ) تقوم بهذه الوظيفة .

مثال :



كود PHP:
#include <win32.h> 

هذا الأمر( كما سنعرف لاحقا) يقوم بأخذ محتويات الملف win32.h (ملف به عنوانك مثلا) ووضعه داخل البرنامج دون تغيير فيه , فقط يقوم بفتح محتوياته داخل البرنامج ايا كانت .

هناك 4 انواع من هذه البيانات في لغة MQL4 :

1- بيان التعريف define directive :

وهو الأمر الذي ينتج ثابت ما ..

لا حظ الفرق بين المتغير والثابت فالأول يأخذ قيم متغيرة طوال الوقت سواء من المبرمج او المستخدم او الشارت , اما الثابت فهو ذو قيمة محددة لا تتغير ابدا .

مثال :



كود PHP:
#define my_constant          100 

كما تلاحظ في المثال اعلاه لا توجد علامة المساواة ( = ) فقط فراغ space بين اسم الثابت (my_constant ) وبين قيمته ( 100 )

كما يمكنك ان تلاحظ ايضا عدم انتهاء الجملة بأي من علامات الترقيم مثل الفاصلة المنقوطة مثلا ; . وانما انتهت بمجرد انتقالنا الى سطر جديد في البرنامج .

اسم الثابت يخضع لجميع القواعد الخاصة التي تعلمتها الخاصة بتسمية المعرفات ( راجع درس ال SYNTAX ) , مثلا لا يمكنك ان تبدأ برقم او تزيد عدد الأحرف اكثر من 31 حرف مثلا .

يمكنك ان تضع اي قيمة تريدها من اي نوع لهذا الثابت في البداية .

ان استخدمته في كود ما سيتامل معه البرنامج كقيمة ثابتة كما تمت كتاتها .

وهكذا يمكن كتابته على النحو التالي :



كود PHP:
sum constant1 10

2- بيان الملكية property directive :

هل تتذكرون عبارة “Controlling Compilation” السابق ذكرها في الدرس الأول وأخبرتكم وقتها ان شرحها سيأتي لاحقا .

حسنا , هي احد خواص لغة MQL4 التي تسمح لك بوضع البيان ( prperty ) وامامه اي جملة ( او قيمة ) وسيخرجها المجمع compiler كما هي في ملف البرنامج المستخدم من قبل الألة ( ex4. ) .

امثلة :



كود PHP:
#property link        "http://www.forex-tsd.com" 

#property copyright   "Anyone wants to use" 

وهذه قائمة بمعرفات هذا البيان :

الدرس الثامن بيانات المعالجة

3- بيان الإحتواء include directive :

عندما تخبر البرنامج بالأمر (include) لملف خارجي ما , فكأنك تماما تقوم بنسخ محتويات هذا الملف داخل سطر ( include ) داخل البرنامج .

مثال :



كود PHP:
#include <win32.h> 

في المثال اعلاه انت اخبرت الكومبيوتر بفتح الملف (win32.h) وقراءته ونسخ محتوياته داخل جملة ( include ).

حسنا , ما معنى القوسين < > في المثال اعلاه ؟

هما لتحديد مكان الملف المراد قراءته ( win32.h ) , وهنا القوسين < > يحددان المكان (المجلد) الإفتراضي لأي ملف داخل الميتاتريدر على هذا الأمتداد : (metatrader 4\experts\include) .

طيب ماذا لو كان الملف المراد قراءته في مكان أخر ؟

لو كان في نفس مجلد البرنامج , نضع اسمه مباشرة بين العلامتين " " .

مثال :



كود PHP:
#include “mylib.h” 

ولو كان في مجلد أخر ( مثلا داخل مجلد D:\books ) نضع اسمه هكذا :

كود PHP:
كود PHP:
#include “D:\books\mylib.h” 

وفي جميع الحالات ان لم يجد البرنامج الملف في مكانه سيقوم بإصدار رسالة ( error ) اي خطأ في البرنامج .

يمكننا استخدام الأمر ( include ) في اي سطر من البرنامج ولكن جرت العادة ان يكون في رأس البرنامج .

4- بيان الإستيراد import directive : (هذا الأمر للقراءة وهو للمتخصصين فقط )

هو يشبه تماما الأمر السابق ( include ) من حيث جلبه لملف خارجي .

ولكنه يختلف عنه في نوع الملف , فهو يقوم بقراءة الملفات ذات الأمتدادات ( dll. ) و ( ex4. ) لوضعها داخل اكواد البرنامج .

مثال :



كود PHP:
#import "user32.dll" 

   
int MessageBoxA(int hWnd,string lpText,string lpCaption

                           
int uType); 

   
int MessageBoxExA(int hWnd,string lpText,string lpCaption

                             
int uType,int wLanguageId); 

#import "melib.ex4" 

#import "gdi32.dll" 

   
int      GetDC(int hWnd); 

   
int      ReleaseDC(int hWnd,int hDC); 

#import 

متى ادخلت دوال خاصة بملف ( ex4 ) فلن تحتاج ان تقوم بإعداداها declaration داخل البرنامج الأصلي.

لكن متى ادخلت دوال من ملف ( dll ) فيجب عليك اعداداها اولا داخل البرنامج الأصلي ( وذلك لأختلاف اللغة فقد يكون الملف مصدره لغة ال C مثلا فيجب وقتها ان توافق بين اللغتين )

مثال :



كود PHP:
int MessageBoxA(int hWnd,string lpText,string lpCaption

                           
int uType); 

وستعمل الدوال التي اعددتها فقط في البرنامج .

يجب ان تنهي امر ( import ) بسطر ( import ) مجرد و خالي من اي اقواس او اسماء



كود PHP:
#import 




في الدرس القادم بأذن الله ستبدأ ببرمجة مؤشرك الأول (جزء 1)
اراكم على خير مجددا


__________________
كلمتان خفيفتان على اللسان ثقيلتان في الميزان
حبيبتان الى الرحمن

سبحان الله وبحمده سبحان الله العظيم




رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)

الكلمات الدلالية (Tags)
المعالجة, الثامن, الدرس, بيانات

جديد منتدى منتدى المؤشرات والاكسبريتات



الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 
أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة

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

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
الدرس السابع .. المتغيرات asklo منتدى المؤشرات والاكسبريتات 0 03-23-2008 10:52 AM
الدرس السادس .. الدوال asklo منتدى المؤشرات والاكسبريتات 0 03-23-2008 10:46 AM
الدرس الرابع .. الحلقات والقرارات (جزء 1) asklo منتدى المؤشرات والاكسبريتات 0 03-23-2008 10:40 AM
الدرس الثالث .. العمليات والتعبيرات asklo منتدى المؤشرات والاكسبريتات 0 03-23-2008 10:25 AM
الدرس الأول .. قواعد لغة Mql4 asklo منتدى المؤشرات والاكسبريتات 0 03-23-2008 09:43 AM

FOREXYARD - Forex Trading Online - Currency brokers offering a forex trading system.

الساعة الآن 01:32 PM.

 
Powered by vBulletin® Version 3.8.4, Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
d3am - by kious99 : Search Engine Friendly URLs by vBSEO 3.3.0 TranZlate By Dr-Yahya slimani

جميع الحقوق محفوظة لمنتدى الفوريكس يو 2008
جميع المشاركات والمواضيع في منتدى الفوريكس يو لا تعبر بالضرورة عن رأي إدارة المنتدى بل تمثل وجهة نظر كاتبها
تصميم و تركيب بدر