الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تشغيل النظام تلقائيا من Cd

بدأه friendsack في 13 مارس 2008 · 7 رد · 1,027 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أنا واقع في مشكل وهي متمثلة في الآتي :

عندي نظام متصل بقاعدة بيانات Access وقد تم ربطه في البداية عن طريق BDE

وعند استخدام ADO حاولت وضع النظام على CD وتشغيله تلقائياً AUTORUN لم يعمل النظام

مع العلم أنه عندما ربط عن طريق BDE اشتغل تلقائياً من CD ولكن المشكلة أني احتاجه من غير استعمال BDE

تم تعديل هذه المشاركة بواسطة friendsack في 13 مارس 2008 في 09:21

#2
friendsack كتب:
ولكن المشكلة أني احتاجه من غير استعمال BDE

يمكن استعمال BDE دون تثبيته بارفاق مجموعة من المكتبات راجع هذا:

/index.php?showtopic=91170

والسلام عليكم ورحمة الله

d4baa0.gif
#3

السلام عليكم

لم افهم السؤال جيدا لكن يمكن وضع ملفا ت DLL ل ADO في ملف RES وتثبيها عند انطلاق البرنامج اذا كنت لم تستعمل stup

{$R ADO.res}

Function LoadResourceFile(NomRessource, Destination:string):TFileStream;
var
ResourceStream:TResourceStream;
begin
{------------------------------------------------------------------}
{enregistrement sur le disque du fichier contenu dans la ressource }
{------------------------------------------------------------------}

  Try
  ResourceStream:=TResourceStream.Create(hInstance,NomRessource,RT_RCDATA);
  Except
  end;
  try
	//Vérifie si le chemin existe ou crée le !
	If not DirectoryExists (ExtractFileDir(Destination)) then MkDir(ExtractFileDir(Destination));
	//FileStream permet aux applications de lire et écrire dans un fichier disque.
	Result:=TFileStream.Create(Destination, fmCreate);
	try
	  //copie du flux donnant accès aux ressources vers le flux fichier
	  Result.CopyFrom(ResourceStream, 0);
	  // à partir de ce moment, on a un nouveau fichier sur le disque ...
	finally
	  Result.Free; //libération mémoire
	  Application.ProcessMessages;
	end;
  finally
	ResourceStream.Free; //libération mémoire
	Application.ProcessMessages;
  end;

end;

	LoadResourceFile('ADO',' chemin de fichier DLL ');

تم تعديل هذه المشاركة بواسطة زكيري عبد العالي في 13 مارس 2008 في 11:07

#4

السلام عليكم

عفوا يا أخي ما الغرض من هذه التعليمة وأين أستخدمها

{$R ADO.res}

وبالنسبة للدالة LoadResourceFile

هل يتم استدعائها عن الحدث FormCreate

وشكرا للاهتمام

#5
friendsack كتب:
{$R ADO.res}

$r توجيه للمجمع Compiler

تعني تظمين الملف ADO.RES داخل رسورس Resource الملف التنفيذي للمشروع

-

ملاحظة لست بحاجة لتضمين الملفات داخل الملف التفيذي

يكفي وضعها في نفس المجلد الموجود به البرنامج / اي داخل القرص CDROM

والسلام عليكم ورحمة الله

d4baa0.gif
#6

بالنسبة لملف ADO.res ماذا سيحتوي

آسف ولكنني لم أستوعب هذه الفكرة إلى الآن

تم تعديل هذه المشاركة بواسطة friendsack في 16 مارس 2008 في 11:41

#7

الفكرة التي اقترحها عليك الاخ عبد العالي هي تضمين مكتبات ADO داخل ملفك التنفيذي ولم يذكر ماهي الملفات

d4baa0.gif
#8

لقد غيرت الفكرة تماما

وكونت تطبيق صغير يقوم بنسخ ملفات النظام من الـ CD إلى HDD

ومن ثم يقوم هذا التطبيق بتشغيل البرنامج من HDD وقابلتني مشكلة وهي أن التطبيق عندما يقوم بنسخ الملفات يقوم بنسخها كما هي من CD

أي ReadOnly وتغلبت على هذه المشكلة باستخدام FilesetReadOnly بقيت لي مشكلة صغيرة وهي تشغيل النظام من التطبيق

حيث استعملت الدلة WinExec لم يشتغل النظام مع العلم أن هذه الدالة تعمل في نسخة التطبيق الموجودة في HDD

تم تعديل هذه المشاركة بواسطة friendsack في 16 مارس 2008 في 16:12

مواضيع مشابهة