1. مقدمة للمواصفات
تنص هذه المواصفات بشكل أساسي على القواعد والاحتياطات التي يجب أن تتبعها برامج مصدر دلفي أثناء عملية الكتابة. الغرض من كتابة هذه المواصفات هو الحفاظ على عادات كتابة التعليمات البرمجية المصدر لمطوري برامج الشركة متسقة. القيام بذلك يمكن لكل عضو في المجموعة فهم رمز أعضاء المجموعة الآخرين ، وذلك لتسهيل التطوير الثانوي لصيانة نظام ذاكرة الكود المصدر.
2. تنسيق الوحدة
2.1 المتطلبات الأساسية
2.1.1 المسافة البادئة
المسافة البادئة هي المساحة المعرضة لزيادة قابلية القراءة عندما يتغير مستوى البرنامج المصدر. قاعدة المسافة البادئة هي المسافة البادئة للمساحة لكل مستوى. علامة التبويب غير مسموح بها. لأن علامة التبويب ستنتج تأثيرات مختلفة بسبب الإعدادات المختلفة التي أدلى بها المستخدم. عندما تواجه البدء أو إدخال الحكم ، أضف حلقة ، معالجة استثناء ، مع بيان ، إعلان نوع السجل ، إعلان الفئة ، وما إلى ذلك. سيتم تخفيض إعلانات الفصل ، وما إلى ذلك بمستوى واحد.
2.1.2 ابدأ ... نهاية
يجب أن يشغل بيان البداية وبيان النهاية سطرًا واحدًا في برنامج المصدر ، على سبيل المثال:
لأني: = 0 إلى 10 لا تبدأ // استخدام غير صحيح
نهاية؛
لأني: = 0 إلى 10 do // الاستخدام الصحيح
يبدأ
نهاية؛
2.1.3 المساحات
أضف مسافات في كلا طرفي المشغلين ورموز الحكم المنطقي ، مثل: i: = i + 1 ؛ ، a و b ، إلخ.
ولكن لا يوجد أي مساحة عند إضافة قوسين.
على سبيل المثال: إذا (أ> ب) و (أ
إذا (A> B) و (A <C) ثم // الاستخدام الصحيح
2.1.4 المتغيرات
حاول عدم استخدام الاختصارات ، حاول استخدام الأسماء.
يجب أن تسبق جميع المتغيرات العالمية في الوحدات النمطية بـ "F". إذا كان تبادل البيانات مطلوبًا بين عدة وحدات ، فيجب تنفيذها من خلال إعلان السمات.
2.2 وصف الوحدة
عند إنشاء ملف وحدة جديد ، يرجى أولاً تخصيص وصف الوحدة بالتنسيق التالي.
{*************************************************** ******** *******
حقوق الطبع والنشر؟ (ج)؟ 2000-2004؟ ********* قسم التطوير الفني للشركة
المشروع: --- المشروع الذي تنتمي إليه هذه الوحدة
الوحدة النمطية: --- الوحدة الوظيفية التي تنتمي إليها هذه الوحدة
وصف: --- وظيفة هذه الوحدة
المؤلف: --- إنشاء
التاريخ: --- تاريخ الخلق
رقم الإصدار:
تعديل التاريخ: --- تعديل المنطقة التاريخية
{******************************
تعديل رقم: --- تعديل الرقم
المعدل: --- تعديل
DateTime: --- تعديل الوقت
السبب: --- سبب التعديل
تعديل رقم: --- تعديل الرقم
المعدل: --- تعديل
DateTime: --- تعديل الوقت
السبب: --- سبب التعديل
******************************************
****************************************************** ******* *****}
2.3 وصف العمليات والوظائف
{*************************************************** ******** *******
PredureEname/FunctionName:
الإدخال: A --- وصف معلمة الإدخال ، B --- وصف معلمة الإدخال ، C --- وصف معلمة الإدخال
الإخراج: x --- وصف المعلمة الإخراج
const: s --- وصف مستمر ، t --- وصف مستمر
var: x --- وصف متغير ، j --- وصف متغير
وصف:--وصف الوظيفة
إذا لم يتم كتابة العملية أو الوظيفة من قبل خالق الوحدة ، فيرجى إضافة العناصر التالية لاحقًا:
مؤلف:
تاريخ:
****************************************************** ******* *****}
3. تسمية الضوابط
يمكن استخدام اسم عنصر التحكم مع الاختصار التالي ، ولكن يتم إضافة الاختصار المستخدم بين اسم التحكم "_":
علامة التبويب القياسية
مم tmainmenu
PM TPOPUPMENU
MMI tmainmenuitem
PMI TPOPUPMENUITEM
LBL Tlabel
EDT TEDIT
ميم tmemo
btn tbutton ؛
CB Tcheckbox
RB Tradiobutton
LB Tlistbox
CB Tcombobox
SCB TSCRORLBAR
GB Tgroupbox
RG Tradiogroup
pnl tpanel
Cl Tcommandlist
علامة تبويب إضافية
SG TSTRINGGRID
DG TDRAWGRID
IMG TIMAGE
shp tshape
bvl tbevel
SBX TScrollbox
CLB TcheckListbox
spl tsplitter
Stx tstatictext
CHT تشارت
علامة التبويب Win32
TBC TTABCONTROL
PGC tpageControl
il timagelist
إعادة تريخت
TBR TTRACKBAR
PRB tprogressbar
ud tupdown
HK Thotkey
العاني
DTP tdatetimepicker
تلفزيون ttreeview
LV TlistView
HDR Theadercontrol
Stb tstatusbar
TLB ttoolbar
CLB tcoolbar
علامة تبويب النظام
TM؟
pb ؟؟ tpaintbox
النائب؟ tmediaplayer
Olec؟ Tolecontainer
DDCC؟ tddeclientConv
ddci؟ tddeclientitem
DDSC؟ tddeserverconv
ddsi؟ tddeserveriteM
؟
علامة تبويب العينات
GG؟
CG ؟؟
SPB؟
سبيس؟
dol؟
كال؟
إيبيا؟
؟
علامة التبويب ActiveX
CFX؟
VSP؟
F1B؟
VTC ؟؟
GRP؟
؟
علامة التبويب Win31
DBLL؟
DBLC؟
TS ؟؟؟؟
رأ ؟؟؟
TNB ؟؟
NB ؟؟؟
HDR ؟؟
FLB ؟؟
DLB ؟؟
DCB؟
FCB؟
علامة التبويب ميداس
PRV؟
CDS؟
QCDs؟
DCOM؟
أولي؟
SCK؟
RMS؟
منتصف؟
علامة تبويب الإنترنت
CSK؟ tclientsocket
ssk؟ tserversocket
WBD؟ TwebDispatcher
pp ؟؟؟ tpageproducer
TP ؟؟؟ TqueryTableProducer
DSTP؟
NMDT ؟؟
NEC ؟؟؟ Tnmecho
NF ؟؟؟؟ tnmfinger
NFTP ؟؟؟ TNMFTP
NHTTP ؟؟ TNMHTTP
NMSG ؟؟ TNMMSG
NMSG ؟؟ tnmmsgserv
nntp ؟؟؟ tnmnntp
NPOP ؟؟؟ TNMPOP3
nuup ؟؟؟ tnmuuprocessor
SMTP ؟؟؟ TNMSMTP
nst ؟؟؟؟ tnmstrm
NS ؟؟؟ TNMSTRMSERV
NTM ؟؟؟ tnmtime
nudp ؟؟ tnmudp
PSK ؟؟؟ tpowersock
NGS ؟؟؟
HTML؟
URL؟
SML ؟؟ tsimplemail
علامة تبويب الوصول إلى البيانات
DS؟
TBL؟
قرع؟
sp ؟؟ tstoredProc
db ؟؟ tdatabase
SSN؟
BM ؟؟ tbatchmove
USQL ؟؟ Tupdatesql
علامة تبويب عناصر التحكم في البيانات
DBG؟
dbn ؟؟ tdbnavigator
DBT ؟؟ tdbtext
dbe ؟؟ tdbedit
DBM؟
DBI ؟؟ tdbimage
DBLB ؟؟ tdblistbox
DBCB؟
DBCH؟
dbrg ؟؟ tdbradiogroup
dbll ؟؟ tdblookuplistbox
DBLC ؟؟ tdblookupcombobox
dbre ؟؟ tdbrickedit
DBCG ؟؟ TDBCTRLGRID
DBCH ؟؟ TDBCHART
علامة تبويب مكعب القرار
DCB ؟؟ tdecisionCube
dcq ؟؟ tdecisionquery
DCS ؟؟ tdecisionsource
DCP ؟؟ tdecisionpivot
DCG ؟؟ tdecisionGrid
dcgr؟ tdecisiongraph
علامة التبويب QREPORT
QR ؟؟ tquickreport
QRSD؟ tqrsubdetail
QRB ؟؟ tqrband
QRCB ؟؟ tqrchildband
QRG ؟؟ tqrgroup
QRL ؟؟ tqrlabel
QRT ؟؟ tqrtext
qre ؟؟ tqreexpr
QRS؟
QRM ؟؟ tqrmemo
qrrrt ؟؟ tqrrichtext
QRDR؟
QRSH ؟؟ tqrshape
qri ؟؟؟ tqrimage
qrdi ؟؟ tqrdbmimage
QRCR؟
QRP ؟؟ tqrpreview
qrch tqrchart
علامة تبويب الحوار
opendialog ؟؟؟؟؟؟؟؟؟
حفظ ؟؟؟؟؟؟؟؟؟ tsavedialog
OpenPicturedialog؟ topenpicturedialog
SavePicturedialog؟
fontdialog ؟؟؟؟؟؟؟؟؟؟ tfontdialog
Colordialog ؟؟؟؟؟؟؟؟ tcolordialog
printdialog ؟؟؟؟؟؟؟؟؟؟ tprintdialog
Printersetupdialog؟
FindDialog ؟؟؟؟؟؟؟؟؟؟؟ tfinddialog
استبدال ؟؟؟؟؟؟؟ treplacedialog
4. طلب التعديل
4.1 تعديل سجل التاريخ
عند إجراء تعديلات معتمدة على الملف المصدر ، يجب على المعدل إضافة عنصر سجل تعديل إلى رأس ملف البرنامج. في كل تعديل لاحق ، يجب على المعدل ملء المعلومات التالية في العنصر:
المعدل:
DateTime:
سبب:
تعليق:
4.2 إضافة خط رمز جديد
يجب أن يكون خط الرمز الجديد قد علق الخطوط قبل وبعد.
// AB تعديل الشخص ؛
سطر الكود المضافة
// ae
4.3 حذف خط الرمز
استخدم خطوط التعليقات لوصفها قبل حذف خط الرمز.
// DB تعديل الشخص ، وقت التعديل ، تعليمات التعديل.
// سطر الكود المراد حذفه (التعليق على البيان المراد حذفه)
// دي
4.4 تعديل خط الرمز
قم بتعديل سطر الكود لحذف سطر الكود وإضافة خطوط رمز جديدة.
// MB تعديل الشخص ، وقت التعديل ، تعليمات التعديل.
// خط الرمز المسبق قبل التعديل
سطر التعليمات البرمجية المعدلة
//أنا
5. تسمية الملف
يجب أن يستخدم ملف المشروع اسمًا ذا معنى. على سبيل المثال: يسمى ملف المشروع لمعلومات النظام في Delphi Sysinfo.dpr.
3.7.2 ملف النموذج
تمشيا مع اسم النموذج: على سبيل المثال: إذا كان اسم النموذج هو frrmmain ، فإن اسم ملف النموذج هو frmmain.dfm. ملف الوحدة المقابل هو frmmain.pas
3.7.3 ملف وحدة البيانات
يجب أن يكون تسمية ملف وحدة البيانات منطقية واستخدام "DM" كبادئة. على سبيل المثال: تسمى وحدة بيانات المستخدم "dmCustomers.dfm". ملف الوحدة المقابل هو rdmcustomers.pas
3.7.4 ملف وحدة البيانات عن بُعد
يجب أن يكون اسم ملف وحدة البيانات عن بُعد منطقيًا واستخدام "RDM" كبادئة. على سبيل المثال: تتم تسمية وحدة البيانات عن بُعد المستخدم "rdmcustomers.dfm". ملف الوحدة المقابل هو rdmcustomers.pas
3.7.5 ملفات الوحدة العادية
يجب أن يكون تسمية ملف الوحدة منطقية وأن تستخدم "U" كبادئة. على سبيل المثال: تسمى الوحدة العامة "ugeneral.pas".