محرر UNICODE خفيف الوزن ومميز في بناء الجملة.
محرر تعليمات برمجية مضغوط ومميز بتركيب الجملة باستخدام تشفير UNICODE.
يعد TCodeEdit أحد مكونات مشروع lysee الخاص بي لتحرير أكواد Pascal وLysee، ومن السهل توسيعه ليناسب اللغات النامية الأخرى. على العموم، TCodeEdit صغير وبسيط وسهل الاستخدام وقد يكون مفيدًا للمبرمجين الآخرين، لذلك أضعه هنا مفتوح المصدر.
تم تطوير TCodeEdit في الأصل كمحرر أكواد Pascal/Lysee لمشروع Lysee الخاص بي، ووجدت لاحقًا أنه يمكن توسيعه بسهولة لتحرير لغات البرمجة الأخرى. بشكل عام، يعد TCodeEdit صغيرًا وبسيطًا وسهل الاستخدام، وقد يكون مفيدًا للمبرمجين الآخرين، لذلك أضعه هنا كرمز مفتوح المصدر ليستخدمه الجميع.
TCodeEdit قيد التطوير ويفتقر إلى بعض الوظائف المفيدة.
لا يزال TCodeEdit قيد التطوير والتحسين بالإضافة إلى وظيفة التحرير الأساسية التي تسلط الضوء على بناء الجملة، لم تتم إضافة بعض الوظائف المساعدة الأخرى بعد:
تم إصدار TCodeEdit بموجب ترخيص MIT، فقط استخدمه كما تريد.
يستخدم TCodeEdit ترخيص MIT ويمكن استخدامه بثقة.
ربما أكمل للتو 60%، لذا فإن الإصدار الحالي هو 0.6.0.
ربما اكتمل بنسبة 60% فقط، لذا فإن الإصدار هو 0.6.0 مبدئيًا.
احصل على TCodeEdit وأضفه إلى مشروع Lazarus/Delphi الخاص بك.
قم بتنزيل TCodeEdit وأضفه إلى مشروع التطوير الخاص بك.
استخدم codeedit.pas في وحدة النموذج الخاصة بك وأعلن حقل الفئة للاحتفاظ TCodeEdit
أضف codeedit.pas إلى وحدة النافذة التي تحتاج إلى استخدام TCodeEdit وإعلان متغيرات أعضاء الفئة.
uses codeedit;
type
TMainForm = class (TForm)
private
FEdit: TCodeEdit ;
procedure EditStatus (Sender: TObject);
end ;
قم بوضع TCodeEdit في المكان الذي تريده عن طريق الاتصال بـ PlaceACodeEdit().
قم باستدعاء الدالة PlaceACodeEdit لوضع TCodeEdit في الموقع المطلوب.
procedure TMainForm.FormCreate (Sender: TObject);
begin
FEdit := PlaceACodeEdit(Self);
FEdit.OnStatus := @EditStatus;
end ;
يستجيب لحدث OnStatus لعرض حالة المحرر وتمكين/تعطيل القائمة أو الأزرار.
قم بالرد على حدث OnStatus لعرض حالة المحرر وتعديل خصائص القوائم والأزرار والمكونات الأخرى ذات الصلة.
procedure TMainForm.EditStatus (Sender: TObject);
begin
EditUndoMenu.Enabled := (FEdit.Undos.Last <> nil );
EditRedoMenu.Enabled := (FEdit.Redos.Last <> nil );
EditCutMenu.Enabled := FEdit.Selection.Selected;
EditCopyMenu.Enabled := FEdit.Selection.Selected;
EditPasteMenu.Enabled := HasTextFormat;
StatusBar.Panels[ 0 ].Text := Format( ' %d, %d ' , [FEdit.Caret.LineIndex + 1 , FEdit.Caret.TextIndex]);
if FEdit.Modified then
StatusBar.Panels[ 1 ].Text := ' Changed ' else
StatusBar.Panels[ 1 ].Text := ' ' ;
StatusBar.Panels[ 2 ].Text := FEdit.Syntax.Language;
end ;
كيفية فتح ملف .
كيفية فتح ملف .
procedure TMainForm.FileOpenMenuClick (Sender: TObject);
begin
CloseDialogs;
if OpenDialog.Execute then
FEdit.Lines.LoadFromFile(OpenDialog.FileName);
end ;
بناءً على امتداد الملف، سيختار TCodeEdit بناء جملة اللغة المفضلة تلقائيًا.
بعد فتح الملف، يقوم TCodeEdit تلقائيًا بتحديد فئة تمييز بناء الجملة المطابقة بناءً على لاحقة الملف.
كيفية استخدام فئة بناء الجملة يدويا.
كيفية تعيين فئات تسليط الضوء على بناء الجملة يدويا.
FEdit.Syntax.SyntaxClass := TPascalSyntax;
FEdit.Syntax.SyntaxClass := FindSyntax( ' Pascal ' );
FEdit.Syntax.SyntaxClass := FindSyntaxByFileExt( ' .pas ' );
FEdit.Syntax.SyntaxClass := FindFileSyntax( ' ~/editor/frmmain.pas ' );