1. إذا كنت تريد أن يتعامل برنامجك مع الاستثناءات بشكل صحيح، فيرجى اقتباس وحدة SysUtils.pas، وإلا حتى إذا كان البرنامج يستخدم المحاولة. . . يستثني. . . لم يتم أيضًا اكتشاف الاستثناءات بشكل صحيح. 2. طريقة لتحديد مورد سلسلة ثابتة aa='aaaa';raise Exception.CreateRes(@aa); 3. تهيئة مصفوفة ثابتة للسلسلة const constarray:array [0..2] of string=('first', 'الثانية'،'الثالثة')؛4. نوع تهيئة البنية Tstructinit=record A1:integer A2:array [0..2] of integer;End;Const m_structinit:Tstructinit=(A1:0;A2:(0,1,2));5. طول المصفوفة متعددة الأبعاد var array2:صفيف مصفوفة عدد صحيح;setlength(array2,2,2) ;6 . المساحة المفتوحة باستخدام الإنشاء والجديد موجودة في الكومة ولا يمكن تحريرها تلقائيًا. يوصى باستخدام FreeAndNil للتحرير. توجد المعلمات والمتغيرات المحلية في المكدس ويتم تحريرها تلقائيًا. 7. SizeOf غير مناسب للكائنات ويعيد دائمًا 4؛ يمكن إرجاعه بشكل صحيح للأنواع الثابتة 8. يجب تحرير الإنشاء (nil) يدويًا، وسيتم تحرير الإنشاء (الذاتي) مع إصدار المالك تم تحديد قيمة التغييرات PROcedure ChangeConst(const Const;var Value;Size:Integer);begin Move((@Value)^,(@Constant)^,Size);End;10. سيؤدي استخدام DownTo في حلقة عند إجراء عملية الحذف إلى تجنب الأخطاء 11. رمز Ascii للأحرف الصينية هو >128، والذي يمكن استخدامه لتحديد ما إذا كان حرفًا صينيًا أم لا 12. عند كتابة ملف dll، يجب عليك استخدامه وحدة Sharemem للإشارة إلى إدارة الذاكرة BORLANDMM.DLL 13. يقوم PostMessage بوضع الرسالة في قائمة انتظار الرسائل فقط ويجب وضعها في قائمة الانتظار للمعالجة. يتجاوز SendMessage قائمة انتظار الرسائل ويتم إرساله مباشرة إلى إجراء النافذة، ولا يعود حتى يتم إرجاع قيمة معالجة الرسالة. 14. يمكنك استخدام ThintWindow وأسلوب الفئة ActivateHint لإنشاء نموذج عائم.17. يستخدم مربع حوار خصائص الملف وظيفة ShowFileProperties(FileName: String; Wnd: فعل := PAnsiChar('properties'); lpIDList := nil; nShow := 0; 0; lpClass := nil; ShellExecuteEX(@sfi);end;procedure TForm1.Button1Click(Sender: TObject);begin ShowFileProperties('c:/AA.txt', Handle);end;18. تغيير وقت النظام يستخدم Windows,Dialogs,Forms;var MyTime : TsystemTime;begin fillChar(MyTime,sizeof(MyTime),#0); MyTime.wYear:=2003; MyTime.wMonth:=06; إذا لم يكن SetSystem(MyTime) ثمShowmessage('Failure'); خيط)؛
فار
البحث: TSearchRec؛
التوصية: كلمة؛
يبدأ
SourceDir := SourceDir + '/';
Rec := FindFirst(SourceDir + '*.*', faAnyFile, Search);
بينما Rec = 0 افعل
يبدأ
إذا كان Search.Name[1] <> '.'
يبدأ
إذا (Search.Attr وfaDirectory) = faDirectory ثم
يبدأ
Windows.CreateDirectory(PChar(DestinationDir + '/' + Search.Name), nil);
FileSetAttr(DestinationDir + '/' + Search.Name, FileGetAttr(SourceDir + '/' + Search.Name));
X_Copy(SourceDir + '/' + Search.Name, DestinationDir + '/' + Search.Name);
نهاية
آخر
يبدأ
CopyFile(PChar(SourceDir + '/' + Search.Name),PChar(DestinationDir + '/' + Search.Name), True);
FileSetAttr(DestinationDir + '/' + Search.Name, FileGetAttr(SourceDir + '/' + Search.Name));
application.ProcessMessages;
نهاية؛
نهاية؛
Rec := FindNext(Search);
نهاية؛
FindClose(بحث);
نهاية؛20. رسم إجراء صورة نقطية شفافة DrawTrans(DestCanvas: TCanvas; ; ORBitmap:= NIL; حاول ANDBitmap:= TBitmap.Create; .اللون := clBlack; cmSrcCopy; Canvas.BrushCopy(Src, SrcBitmap, Src, AColor end); Canvas.BrushCopy(Src, SrcBitmap, Src, AColor end; مع DestCanvas ابدأ CM := CopyMode := cmSrcAnd; Draw(X,Y, ANDBitmap); ANDBitmap.Free; ORBitmap.Free;end;end;إجراء TForm1.Button4Click(Sender: TObject);begin DrawTrans(Image1.Canvas, 0,0, Image2.Picture.Bitmap, clBlack, clSilver);end;21. الحصول على وظيفة سرعة وحدة المعالجة المركزية GetCpuSpeed: Extended;var t, mhi, mlo, nhi, nlo: dword; shr32 : شركات;ابدأ shr32 := 65536; 65536; t := GetTickCount; while t = GetTickCount do ; asm DB 0FH,031H // rdtsc mov nhi,edx mov nlo,eax end; ((nhi * shr32 + nlo) - (mhi * shr32 + mlo)) / 1E6;end;procedure TForm1.Button4Click(Sender: TObject);begin label1.Caption := FloatToStr(GetCpuSpeed) + 'mhz';end; لقد كتبت الكثير للتو، وسوف أقوم بالتحديث تدريجيًا وإضافة المزيد في المستقبل.