مفكرة منشأة بالدلفي
مفكرة منشأة بالدلفي خمسة
افتح دلفي واحفظ المشروع بأي اسم تختاره
ضع على النموذج أي الفورم ( Form1 ) عنصر انشاء القوائم ( MainMenu1 )
انقر نقرتين على عنصر انشاء القوائم ( MainMenu1 ) عند ظهور القائمة اكتب في العنوان (Caption) وذلك من خلال مفتش الكائنات ( Inspecteur d'objects ) ملف
ارجع الى القايمة التي ظهرت عند النقر وانتقل الى المساحة الفارقة اكتب في العنوان (Caption) وذلك من خلال مفتش الكائنات ( Inspecteur d'objects ) جديد
اكمل القائمة ملف والقائمة تحرير وكل القوائم بنفس الطريقة .
----------
القائمة ملف
ملف
جديد
فتح
حفظ
حفظ باسم
اغلاق
-------------
القائمة تحرير
تحرير
تراجع
قص
نسخ
لصق
حذف
بحث
بحث عن تالي
تجديد الكل
الوقت والتاريخ
-------------------------
القائمة نمط
لون
الخط
ضع على الفورم مربع نص متعدد السطور أي ميمو1 (Memo1)
ضع على الفورم مربع حوار فتح 1 (OpenDialog1)
ضع على الفورم مربع حوار حفظ 1 (SaveDialog1)
ضع على مربع حوار الخط 1 (FontDialog1)
ضع على الفورم مربع حوار بحث (FindDialog1)
ضع على الفورم مربع حوار لون (ColorDialog1)
//////////////////////////////////////////////
// برنامج مفكرة
//
//////////////////////////////////////////////
// بداية الوحدة الاولى
unit Unit1;
// واجهة الوحدة
interface
// استدعاء الوحدات الضرورية لتشغيل
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, StdCtrls, ComCtrls;
// نوع العناصر والمتغييرلت المستعملة
type
TForm1 = class(TForm)
// عنصر انشاء القوائم
MainMenu1: TMainMenu;
//
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
N20: TMenuItem;
N21: TMenuItem;
N22: TMenuItem;
N23: TMenuItem;
N24: TMenuItem;
// ميمو أي مربع نص متعدد السطور
Memo1: TMemo;
// مربع حوار فتح
OpenDialog1: TOpenDialog;
// مربع حوار حفظ
SaveDialog1: TSaveDialog;
// مربع حوار الخط
FontDialog1: TFontDialog;
//مربع حوار بحث
FindDialog1: TFindDialog;
// مربع حوار اللون
ColorDialog1: TColorDialog;
N25: TMenuItem;
N26: TMenuItem;
N27: TMenuItem;
N28: TMenuItem;
procedure FormCreate(Sender: TObject); // نشاء الفورم
procedure N2Click(Sender: TObject); // نقر جديد
procedure N3Click(Sender: TObject); // نقر فتح
procedure N4Click(Sender: TObject); // نقر حفظ
procedure N5Click(Sender: TObject); // نقر حفظ باسم
procedure N7Click(Sender: TObject); // اغلاق
procedure N9Click(Sender: TObject); // نقر تراجع
procedure N11Click(Sender: TObject); // نقر قص
procedure N12Click(Sender: TObject); // نقر نسخ
procedure N13Click(Sender: TObject); // نقر لصق
procedure N14Click(Sender: TObject); // نقر حذف
procedure N16Click(Sender: TObject); // بحث
procedure N17Click(Sender: TObject);
procedure N19Click(Sender: TObject); // تحديد الكل
procedure N20Click(Sender: TObject); // الوقت والتاريخ
procedure N22Click(Sender: TObject); // نقر لون
procedure N23Click(Sender: TObject); // نقر خط
procedure FormClose(Sender: TObject; var Action: TCloseAction); // اغلاق الفورم
procedure FindDialog1Find(Sender: TObject);
procedure N26Click(Sender: TObject);
procedure N27Click(Sender: TObject);
procedure N28Click(Sender: TObject); // بحث
private
// خاصة
public
// عامة
end;
// التصريح العام
var
Form1: TForm1;
// متغيير حرفي
ismFile: string;
implementation
{$R *.DFM}
// اجراء انشاء النموذج أو الفورم
procedure TForm1.FormCreate(Sender: TObject);
begin
// توسيط النافذة
Form1.Position := poScreenCenter;
// من اليمين الى اليسار
Form1.BiDiMode := bdRightToLeft;
// الخط العربي
Form1.Font.Charset := ARABIC_CHARSET;
// نوع الخط
Form1.Font.Name := 'Arial';
// عنوان النموذج
Form1.Caption := 'بدون عنوان - المفكرة';
// من ايمين الى اليسار بنسبة الى الميمو
Form1.Memo1.BiDiMode := bdRightToLeft;
// الخط العربي
Form1.Font.Charset := ARABIC_CHARSET;
// نوع الخط
Form1.Font.Name := 'Arial';
// الخط غليظ
Form1.Memo1.Font.Style := [fsBold];
// حجم الخط
Form1.Memo1.Font.Size := 12;
// ملء
Form1.Memo1.Align := alClient;
// انواع الملفات التي تعرض في مربع الحوار
OpenDialog1.Filter := 'fichier (*.txt)|*.txt|tout les fichier (*.*)|*.*';
// صيغة الفتح
OpenDialog1.DefaultExt := '*.txt';
// مكان العرض الفتراضي
OpenDialog1.InitialDir := '.\';
// انواع الملفات التي تعرض في مربع الحوار حفظ
SaveDialog1.Filter := 'fichier (*.txt)|*.txt|tout les fichier (*.*)|*.*';
// صيغة الحفظ
SaveDialog1.DefaultExt := '*.txt';
// مكان الحفظ الافتراضي
SaveDialog1.InitialDir := '.\';
// كونترول نون جديد
N2.ShortCut := ShortCut(Word('N'), [ssCtrl]);
// كونترول واو فتح
N3.ShortCut := ShortCut(Word('O'), [ssCtrl]);
// كونترول سين حفظ
N4.ShortCut := ShortCut(Word('S'), [ssCtrl]);
// كونترول زاي أو زاد فرنسي
N9.ShortCut := ShortCut(Word('Z'), [ssCtrl]);
// قص
N11.ShortCut := ShortCut(Word('X'), [ssCtrl]);
// نسخ
N12.ShortCut := ShortCut(Word('C'), [ssCtrl]);
// لصق
N13.ShortCut := ShortCut(Word('V'), [ssCtrl]);
// حذف لم أجد تعليمة
// N14.ShortCut := ShortCut(Word('س'), [ssCtrl]);
// بحث
N16.ShortCut := ShortCut(Word('F'), [ssCtrl]);
// بحث
N17.ShortCut := ShortCut(Word('F'), [ssCtrl]);
// تحديد الكل
N19.ShortCut := ShortCut(Word('A'), [ssCtrl]);
// N20.ShortCut := ShortCut(VK_F5);
// N22.ShortCut := ShortCut(Word(''), [ssCtrl]);
// N23.ShortCut := ShortCut(Word(''), [ssCtrl]);
// N.ShortCut := ShortCut(Word(''), [ssCtrl]);
// نهاية اجراء تنفيط الفورم
end;
// الاجراء نقر جديد
procedure TForm1.N2Click(Sender: TObject);
begin
// جديد
// مسح الميمو
Memo1.Lines.Clear;
// الغاء أي تغييرات حدثت داخل الميمو
Memo1.Modified := false;
// من اجل تهيئته الى ادخلات جديد
// نهاية خديد
end;
// اجراء نقر فتح
procedure TForm1.N3Click(Sender: TObject);
begin
// فتح
// تنفيذ مربع الحوار فتح
if OpenDialog1.Execute then
// بداية الشرط
// في حالة نجاح تنفيذ
begin
// اسناد اسم الملف الذي سوف يفتح الى المتغيير الحرفي
ismFile := OpenDialog1.FileName;
// تحميل محتوى الملف في الميمو
Memo1.Lines.LoadFromFile(ismFile);
// عنوان الفورم
Form1.Caption := 'مفكرة - '+OpenDialog1.FileName;
// نهاية شرط التنفيذ
end;
// نهايةالاجراء فتح
end;
// اجراء نقر حفظ
procedure TForm1.N4Click(Sender: TObject);
begin
// حفظ
// اذا لم يتم فتح أي ملف وتم الكتابة في الميمو أي مربع النص متعدد السطور
// يتم دخول داخل الشرط و تنفيذ الاوامر
if (Memo1.Modified)and(ismFile = '') then
// بداية الشرط
begin
// استدعاء الاجراء حفظ باسم
N5Click(Sender); // Save
end
// تم فتح الملف والكتابة في الميمو
else if(ismFile <> '')and(Memo1.Modified)then
// حفظ اي تعديل أو زيادة على الملف المفتوح
Memo1.Lines.SaveToFile(ismFile);
// بعد الحفظ يتم الغاء تغييرات التي حدثت
Memo1.Modified := false;
// نهاية الاجراء حفظ
end;
// اجراء نقر حفظ باسم
procedure TForm1.N5Click(Sender: TObject);
begin
// حفظ باسم
// تنفيذ مربع الحوار حفظ
if SaveDialog1.Execute then
begin
// تحديد مكان الحفظ في مربع الحوار حفظ بأي اسم تختاره
// أي
// حفظ محتوى الميمو باسم جديد
Memo1.Lines.SaveToFile(SaveDialog1.FileName);
// نهاية الشرط
end;
// وضع اسم الملف المفتوح في المتغيير الحرفي
ismFile := SaveDialog1.FileName;
// عنوان الفورم
Form1.Caption := 'مفكرة - '+ismFile;
// بعد الحفظ يتم الغاء تغييرات التي حدثت
Memo1.Modified := false;
// نهاية الاجراء حفظ باسم
end;
// اجراء نقر اغلاق
procedure TForm1.N7Click(Sender: TObject);
begin
// اغلاق
// انهاء التطبيق
close;
end;
// اجراء نقر تراجع
procedure TForm1.N9Click(Sender: TObject);
begin
// تراجع
Memo1.Undo;
end;
// اجراء نقر قص
procedure TForm1.N11Click(Sender: TObject);
begin
// قص
Memo1.CutToClipboard;
end;
// اجراء نقر نسخ
procedure TForm1.N12Click(Sender: TObject);
begin
// نسخ
Memo1.CopyToClipboard;
end;
// اجراء نقر لصق
procedure TForm1.N13Click(Sender: TObject);
begin
// لصق
Memo1.PasteFromClipboard;
end;
// اجراء نقر حذف
procedure TForm1.N14Click(Sender: TObject);
begin
// حذف
Memo1.ClearSelection;
end;
// اجراء نقر بحث
procedure TForm1.N16Click(Sender: TObject);
begin
// بحث
FindDialog1.Execute
end;
// اجراء نقر بحث عن تالي
procedure TForm1.N17Click(Sender: TObject);
begin
// بحث عن تالي
if FindDialog1.Execute then
FindDialog1.FindText;
end;
// اجراء نقر تحديد الكل
procedure TForm1.N19Click(Sender: TObject);
begin
// تحديد الكل
if Memo1.Text <> '' then
Memo1.SelectAll;
end;
// اجراء نقر الوقت والتاريخ
procedure TForm1.N20Click(Sender: TObject);
begin
// الوقت والتاريخ
Memo1.Lines.Add(DateToStr(Date)+' '+TimeToStr(Time));
end;
// اجراء نقر تت
procedure TForm1.N22Click(Sender: TObject);
begin
// لون
if ColorDialog1.Execute then
Memo1.Color := ColorDialog1.Color;
end;
// اجراء نقر الخط
procedure TForm1.N23Click(Sender: TObject);
begin
// الخط
if FontDialog1.Execute then
Memo1.Font := FontDialog1.Font;
end;
// اجراء اغلاق الفورم
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
// اي تغيرات تحدث في الميمو تنفذ الشرط التالي
if Memo1.Modified then
// بداية الشرط
begin // اذا كانت تعليمة واحدة فلا حاجة الى المحددان لانهما يستعملان في تعليمتان أو أكثر
// المحددان هما begin وend
// سوف تسأل عن الحفظ اذا كنت تريد ذلك
if MessageDlg('هل تريد حفظ الملف ',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
// بداية الشرط
begin
// استدعاء اجراء حفظ
N4Click(Sender);
// نهاية الشرط الثاني
end;
// نهاية الشرط الاول
end;
// انهاء تطبيق
Application.Terminate;
// نهاية اجاء اغلاق الفورم
end;
// اجراء البحث
procedure TForm1.FindDialog1Find(Sender: TObject);
// تصريح بمتغييرات صحيحة
var
I, J, PosReturn, SkipChars: Integer;
begin
for I := 0 to Memo1.Lines.Count do
begin
PosReturn := Pos(FindDialog1.FindText,Memo1.Lines[I]);
if PosReturn <> 0 then
begin
Skipchars := 0;
for J := 0 to I - 1 do
Skipchars := Skipchars + Length(Memo1.Lines[J]);
SkipChars := SkipChars + (I*2);
SkipChars := SkipChars + PosReturn - 1;
Memo1.SetFocus;
Memo1.SelStart := SkipChars;
Memo1.SelLength := Length(FindDialog1.FindText);
SkipChars := SkipChars + 1;
// Break;
end;
end;
end;
// الاجرء نقر توسيط
procedure TForm1.N26Click(Sender: TObject);
begin
// توسيط
Memo1.Alignment := taCenter;
end;
// اجراء نقر يمين
procedure TForm1.N27Click(Sender: TObject);
begin
// يمين
Memo1.Alignment := taRightJustify;
end;
// اجراء نقر يسار
procedure TForm1.N28Click(Sender: TObject);
begin
// يسار
Memo1.Alignment := taLeftJustify;
end;
end.