29-08-2021, 08:10 PM
(آخر تعديل لهذه المشاركة: 29-08-2021, 08:11 PM بواسطة larbiparadox.)
الآن إلى الأهم بعدما أنشئنا الملف res كيف نستدعيه
نضيفه كما هو مبين في الصورة بعد {$R *.dfm} ، ملاحظة مهمة ملف res يرفق مع المشروع و ليس مع الملف التنفيذي
ملاحظة : إذا تم ادراج من الدلفي ، كما هو مبين في الطريقة رقم 3 ، نستغني على هذه المرحلة
![[صورة: 545565978.jpg]](https://www13.0zz0.com/2021/08/29/18/545565978.jpg)
* في هذا المثال سأشرح إدراج الخط :
- أولا اثبيت الخط في جهازي حتى يسهل إعطاء إسمه لكل مكون ، للتثبيت الضغط مرتين الخط المحمل ، 1 إسم الخط و 2 قفل الثبيت
![[صورة: 406957637.jpg]](https://www14.0zz0.com/2021/08/29/18/406957637.jpg)
في حالة عدم تثبيته سيتوجب عليا كتابة لكل مكون كمثال
مثال:
![[صورة: 476271583.jpg]](https://www2.0zz0.com/2021/08/29/18/476271583.jpg)
* للان الاستدعاء :
يمكن إستخراجه من الملف للتنفيذي و وضعه بجانبه
ولاستداعاء الخط أو الملف يكفي معرفة الفهرس للموجود في و إسمه أو رقمه
بعد غلق البرنامج نقوم بحذفه
لكن الطريقة المفضلة لإستخراجه في الذاكرة و لن نحتاج الى حذفه عند الخروج
* بعدما أكملنا البرنامج لتأكد منه ، نحذف خط الكتابة أو تجربته في جهاز أخر
لحذفه من الجهاز ، 1 مسار مجلد الخطوط ، 2 بالضغط على الزر الايمن ثم حذف
![[صورة: 148040955.jpg]](https://www5.0zz0.com/2021/08/29/18/148040955.jpg)
النتيجة ، الخط بدون تثييت الخط
![[صورة: 249922622.jpg]](https://www12.0zz0.com/2021/08/29/19/249922622.jpg)
في الاخير كلمة طيبة تكفي
نضيفه كما هو مبين في الصورة بعد {$R *.dfm} ، ملاحظة مهمة ملف res يرفق مع المشروع و ليس مع الملف التنفيذي
ملاحظة : إذا تم ادراج من الدلفي ، كما هو مبين في الطريقة رقم 3 ، نستغني على هذه المرحلة
![[صورة: 545565978.jpg]](https://www13.0zz0.com/2021/08/29/18/545565978.jpg)
* في هذا المثال سأشرح إدراج الخط :
- أولا اثبيت الخط في جهازي حتى يسهل إعطاء إسمه لكل مكون ، للتثبيت الضغط مرتين الخط المحمل ، 1 إسم الخط و 2 قفل الثبيت
![[صورة: 406957637.jpg]](https://www14.0zz0.com/2021/08/29/18/406957637.jpg)
في حالة عدم تثبيته سيتوجب عليا كتابة لكل مكون كمثال
كود :
Button1.Font.Name := 'arbfonts.com-Bukra Bold';مثال:
![[صورة: 476271583.jpg]](https://www2.0zz0.com/2021/08/29/18/476271583.jpg)
* للان الاستدعاء :
يمكن إستخراجه من الملف للتنفيذي و وضعه بجانبه
ولاستداعاء الخط أو الملف يكفي معرفة الفهرس للموجود في و إسمه أو رقمه
كود :
procedure TForm1.FormCreate(Sender: TObject);
var
ResStream : TResourceStream;
sFileName : string;
begin
sFileName:=ExtractFilePath(Application.ExeName)+'bukra-bold.ttf';
ResStream:=nil;
try
ResStream:=TResourceStream.Create(hInstance, 'MyFont1', 'FONT1');
try
ResStream.SaveToFile(sFileName);
except
on E:EFCreateError Do ShowMessage(E.Message);
end;
finally
ResStream.Free;
end;
AddFontResource(PChar(sFileName));
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
end;بعد غلق البرنامج نقوم بحذفه
كود :
procedure TForm1.FormDestroy(Sender: TObject);
var
sFile:string;
begin
sFile:=ExtractFilePath(Application.ExeName)+'bukra-bold.ttf';
if FileExists(sFile) then
begin
RemoveFontResource(PChar(sFile));
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
DeleteFile(sFile);
end;
end;لكن الطريقة المفضلة لإستخراجه في الذاكرة و لن نحتاج الى حذفه عند الخروج
كود :
procedure TForm1.FormCreate(Sender: TObject);
var
LStream : TResourceStream;
cFonts: DWord;
begin
LStream := TResourceStream.Create(HInstance, 'MyFont1', 'FONT1');
try
cFonts:= 0;
AddFontMemResourceEx(LStream.Memory, Cardinal(LStream.Size), nil, @cFonts);
finally
LStream.Free;
end;
end;* بعدما أكملنا البرنامج لتأكد منه ، نحذف خط الكتابة أو تجربته في جهاز أخر
لحذفه من الجهاز ، 1 مسار مجلد الخطوط ، 2 بالضغط على الزر الايمن ثم حذف
![[صورة: 148040955.jpg]](https://www5.0zz0.com/2021/08/29/18/148040955.jpg)
النتيجة ، الخط بدون تثييت الخط
![[صورة: 249922622.jpg]](https://www12.0zz0.com/2021/08/29/19/249922622.jpg)
في الاخير كلمة طيبة تكفي
اللّهمّ فرّج أُموراً ضَاقت بها صُدورنا وعجزت بها حيلتنا وقلّ بها صَبرنا الّلهمّ أَسعِد قلوبنا بما أنتَ أعْلَمُ بِهِ مِنّا


![[-]](https://delphi4arab.net/forum/D4A2020/collapse.png)