10-11-2009, 12:33 AM
الصفحات : 1 2
10-11-2009, 07:13 AM
جزاك الله خيرا و جعله في موازين حسناتك.
10-11-2009, 10:13 AM
وعليكم السلام ورحمة الله وبركاته
الله يحفظك أخي TF6M ، مجهود كبير يثمر عن درس رائع...
إضافة لإثراء الموضوع...
في نسخ Delphi الجديدة يمكن إضافة ملفات الرسورس مباشرة من القائمة Project
للمزيد:
http://www.delphi4arab.net/forum/showthr...802&page=2
شكرا كثيرا.
الله يحفظك أخي TF6M ، مجهود كبير يثمر عن درس رائع...
إضافة لإثراء الموضوع...
في نسخ Delphi الجديدة يمكن إضافة ملفات الرسورس مباشرة من القائمة Project
للمزيد:
http://www.delphi4arab.net/forum/showthr...802&page=2
شكرا كثيرا.
10-11-2009, 12:01 PM
AL-MOB4RM3G كتب :او على الأقل, صعب جدا القرآئة بهذا الخط المستعملتفضل أخي الكريم هدا الدرس بصيغته الأصلية و أيضا office2003
عدل عليه كما تشاء .
kachwahed كتب :في نسخ delphi الجديدة يمكن إضافة ملفات الرسورس مباشرة من القائمة projectنعم أخي ... إظافة جميلة سبق و أطلعت على الدرس ... بارك الله فيك .
لكن كان هدفي تصميم + إستخدام هدا النوع من الملفات .
بالتوفيق ,,
01-12-2009, 10:12 PM
إثراءا للموضوع...
أولا: يمكن الاستغناء عن كتابة اللاحقة في التوجيه
مباشرة:
لأن الموجه R$ أصلا مخصص لملفات الرسورس.
ثانيا: هذه لم تعمل معي !
استخدمت Delphi2010 ثم Delphi7
+ لماذا كتبت في الدرس 10 دون علامات تنصيص أليس المطلوب PChar أو PWideChar !
جربت أيضا باستخدام دالة Windows كما يلي:
سؤال أخير
لماذا يتم التحقق بالمقارنة إلى
هذا الـ Cast يعيد أكبر قيمة لـ DWORD التي تطابق الثابت INVALID_HANDLE_VALUE، أليس من المفروض أن تقارن إلى 0 بدلا عن ذلك؟
أضيف RCDATA... بنفس الطريقة يمكن تحميل ملف من أي نوع على ملف Binary، مثال تحميل ملف RTF إلى TRichEdit
نقوم بصناعة ملف (RtfRes.rc) الرسورس كما يلي:
لا ننسى Compile
كما لا ننسى إضافة الرسورس:
ثم الاستدعاء بهذا الشكل:
من الأفضل حماية الحيز Try/Except ربما يطرأ تغيير على البرنامج 
هذه الطريقة عملية لتخزين نموذج Template من قاعدة البيانات إذا كانت صغيرة.
بالتوفيق.
أولا: يمكن الاستغناء عن كتابة اللاحقة في التوجيه
كود :
{$R ResFile.res}كود :
{$R ResFile}ثانيا: هذه لم تعمل معي !
كود :
PlaySound(PChar('10'), HInstance, SND_SYNC or SND_RESOURCE);+ لماذا كتبت في الدرس 10 دون علامات تنصيص أليس المطلوب PChar أو PWideChar !
جربت أيضا باستخدام دالة Windows كما يلي:
كود :
var
h1, h2: THandle;
p: pointer;
begin
h1:=FindResource(HInstance, 'MYWAVE', 'WAVE');
h2:=LoadResource(HInstance,h1);
p:=LockResource(h2);
sndPlaySound(p, SND_ASYNC or SND_MEMORY);
if (h2 <> 0) then begin
UnlockResource(h2);
FreeResource(h2);
end;
end;
لماذا يتم التحقق بالمقارنة إلىكود :
DWORD(-1)أضيف RCDATA... بنفس الطريقة يمكن تحميل ملف من أي نوع على ملف Binary، مثال تحميل ملف RTF إلى TRichEdit
نقوم بصناعة ملف (RtfRes.rc) الرسورس كما يلي:
كود :
rtf RCDATA "LoadRtf.rtf"كود :
brcc32 RtfRes.rcكود :
{$R RtfRes}كود :
var
rs: TResourceStream;
begin
rs := TResourceStream.Create(HInstance, 'rtf', [color=Red]RT_RCDATA[/color]);
RichEdit1.Lines.LoadFromStream(rs);
rs.Free;
end;
هذه الطريقة عملية لتخزين نموذج Template من قاعدة البيانات إذا كانت صغيرة.
بالتوفيق.
01-12-2009, 10:55 PM
أولا: يمكن الاستغناء عن كتابة اللاحقة في التوجيه : جميل جدا !
ثانيا: هذه لم تعمل معي ! .... كيف وضح أكثر :
راجع هدا الموضوع :
http://www.delphi4arab.net/forum/showthread.php?tid=42
استخدمت Delphi2010 ثم Delphi7 ... : لم أفهم قصدك
(ممكن pchar 2010 = pwidechar 7) ؟؟
- في ما يخص try/eXCEPT (راجع للمبرمج مهارات كتابة الكود ممكن نستغني عنها).
- في ما يخص إنشاء ملف الريسورس يكفي أن نعطي إسم نوع الريسورس (لايهم)
و الـID .
ثانيا: هذه لم تعمل معي ! .... كيف وضح أكثر :
كود :
PlaySound(PChar('10'), HInstance, SND_SYNC or SND_RESOURCE);http://www.delphi4arab.net/forum/showthread.php?tid=42
استخدمت Delphi2010 ثم Delphi7 ... : لم أفهم قصدك
(ممكن pchar 2010 = pwidechar 7) ؟؟
إقتباس :+ لماذا كتبت في الدرس 10 دون علامات تنصيص أليس المطلوبar أو PWi PChdeChar !لم أكتب الدرس 10 ؟
إقتباس :سؤال أخير :صحيح لكن من الممكن أن أعيد القيمة 0 بعد الإنتهاء من العمل بالمقبضيعني ممكن أحتاج القيمة 0 .
- في ما يخص try/eXCEPT (راجع للمبرمج مهارات كتابة الكود ممكن نستغني عنها).
- في ما يخص إنشاء ملف الريسورس يكفي أن نعطي إسم نوع الريسورس (لايهم)
و الـID .
02-12-2009, 12:03 AM
إقتباس :كيف وضح أكثرحسنا... أخطأت في كتابة القيمة 10 كان ينبغي ألا أكتبها بين علامتي تنصيص أي '10'، وليس الدرس رقم 10 :laugh:
إقتباس :راجع هدا الموضوعالموضوع حفظته منذ مدة... ولا بأس بالمراجعة.
إقتباس :استخدمت Delphi2010 ثم Delphi7 ... : لم أفهم قصدكقصدت أني جربت الكود على D14 وD7 ولم يكن يعمل (ربما لم أسمع الصوت لصغر حجم الملف :kick

إقتباس :سؤال أخير .... :صحيح لكن من الممكن أن أعيد القيمة 0 بعد الإنتهاء من العمل بالمقبضالمشكلة أن هذا لا يعمل:
كود :
if hRes <> 0 thenشكر كثيرا.
02-12-2009, 12:29 AM
لا يا أخي kachwahed فالـ hRes تأخذ قيمة مغايرة لـ 0 في حالة
نجاح تحميل الريسورس ... لقد أرفقت الكود سورس بالدرس ممكن تتطلع عليه ؟؟؟.
+
انا أعمل بالدلفي 7 و نجح معي الامر ؟؟؟ .
نجاح تحميل الريسورس ... لقد أرفقت الكود سورس بالدرس ممكن تتطلع عليه ؟؟؟.
+
انا أعمل بالدلفي 7 و نجح معي الامر ؟؟؟ .
02-12-2009, 12:35 AM
إقتباس :لا يا أخي kachwahed فالـ hRes تأخذ قيمة مغايرة لـ 0 في حالةأجل، هذا ما أظنه دوما...
لكن هنا لم يحدث ذلك، قبل تحميل الصورة جرب:
كود :
ShowMessage(IntToStr(hRes));ربما أرجع إلى D7، معهم حق ناس زمان... الرجوع للأصل فضيلة :oops:
02-12-2009, 12:43 AM
لا أعرف أين الخلل ممكن ترفق المشروع كاملا ؟؟
![[صورة: 5451z.jpg]](http://img24.imageshack.us/img24/2331/5451z.jpg)
![[صورة: 5451z.jpg]](http://img24.imageshack.us/img24/2331/5451z.jpg)
الصفحات : 1 2