delphi4arab منتديات دلفي للعرب

نسخة كاملة : مشكل في تفعيل الجدول
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
سلام احباب
عسى ان يكون الجميع في تمام الصحة و العافية
****ا منكم تصحيح الكود التالي :

[HTML]RepExe:=ExtractFilePath(Application.EXEName);
FichierIni:=TIniFile.Create(repexe+'test.ini');
rep:='data\'+fichierini.ReadString('base','rep','nonbd');
if rep='data\nonbd' then showmessage('Chemin pour la base de données non valide')
else
begin
rep:=repexe+'data\'+fichierini.ReadString('base','rep','nonbd');
table1.DatabaseName:=Rep;
table1.TableName:='data.DB';
table1.Active := true ;
end ;[/HTML]

يظهر لي الرسالة التالية

[صورة: FhK77391.jpg]

مع وقوف مؤ شر التشغيل في [HTML]table1.Active := true [/HTML]

و شكرا لكل من تعاون معي و ***** له كل التوفيق
و عليكم السلام

الخطأ الأول في الملف INI حيث /rep=bd خطأ

الصواب: rep=bd

ثم في الكود فأنت لا تحتاج لمعرفة مكان الملف التنفيذي لأن المجلد مع الملف التنفيذي تحت نفس المجلد

rep:=repexe+'data\'+fichierini.ReadString

الأسهل : rep:='data\'+fichierini.ReadString

كود :
procedure TForm1.FormCreate(Sender: TObject); begin [color=Blue]//flash[/color] ShockwaveFlash1.Movie := ExtractFilePath(Application.ExeName) + 'swf\movie.swf'; [color=Blue]//Alias[/color] RepExe:=ExtractFilePath(Application.EXEName); FichierIni:=TIniFile.Create(repexe+'test.ini'); rep:='data\'+fichierini.ReadString('base','rep','nonbd'); if rep='data\nonbd' then showmessage('Chemin pour la base de données non valide') else begin rep:='data\'+fichierini.ReadString('base','rep','nonbd'); table1.DatabaseName:=Rep; table1.TableName:='data.DB'; table1.Active := true ; end ; end;

بالتوفيق Smile
جزاك الله خيرا و بارك فيك و في علمك
merouane كتب :
ثم في الكود فأنت لا تحتاج لمعرفة مكان الملف التنفيذي لأن المجلد مع الملف التنفيذي تحت نفس المجلد
end;[/COD

هل يمكن استنتج من كلامك اني عندما استعمل التعليمة الاولى يمكن لي نسخ الملف في اي موضع ****
لدي ملاحظة مكملة للسابقة

من الأفضل ، ولكي نستفيد من الملف INI أكبر قدر ممكن نجعل rep في الملف السابق تحتوي على الوجهة الكاملة للجدول، مثلا : 'C:\MyProject\Datas'
طبعا المستعمل يستطيع تغيير مكان قاعدة البيانات أين يشاء (مثلا FlashDisk) لكن دائما نحفظ الوجهة في الملف INI

ثم في الكود

كود :
procedure TForm1.FormCreate(Sender: TObject); begin //flash ShockwaveFlash1.Movie := ExtractFilePath(Application.ExeName) + 'swf\movie.swf'; //Alias RepExe:=ExtractFilePath(Application.EXEName); FichierIni:=TIniFile.Create(repexe+'test.ini'); rep:=fichierini.ReadString('base','rep','nonbd'); if rep='nonbd' then showmessage('Chemin pour la base de données non valide') else begin table1.DatabaseName:=Rep; table1.TableName:='data.DB'; table1.Active := true ; end ; end;

الآن ضع قاعدة البيانات في FlashDisk ، و أدخل الوجهة في الملفINI عند Rep

و نفذ البرنامج

منه للمستعمل حرية تغيير مكان قاعدة البيانات (طريقة لزيادة الحماية)

تحياتي Smile
الوجهة تقصد بها الامتداد لقاعدة المعطبات
توضع بدل bd في rep=bd
و بعد تثبيت البرنامج ننسخ ملف قاعدة المعطيات حيث شئنا و نغير الامتداد كل مرة مفهوم
و لكن لماذا استعمل الاخ امكروس instelshiled في مشروعه
الوجهة أقصد بها مكان الجدول في القرص الصلب أو FlashDisk (أي بالفرنسية Chemin)، مثلا :
قاعدة البيانات في F:\Datas\ProjectFinal ، والبرنامج في D:\myProjectFinal\Version1

الأخ أمكروس استعمل instelshiled لتثبيت BDE ( لأن TTable تستعمله) و هو غير مثب على النظام
شكرا جزيلا على التوضيح
نعم انا ايصاقصدت Chemin
F:\Datas\ProjectFinal هو ما نكتب بدل bd في rep=bd قل نعم ****ك
نعم ، ولا تحتاج للكلمة التي بعدها Smile
شكرا موفق
***** ان تكتب ملاحظتك القيمة في موضوع الأخ أمكروس لتكون اكثر فعالية فهي في صلب الموضوع