المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : كيف أخرج SaveDialog مرة واحدة في تشغيل البرنامج لأول مرة


أمير الدلفي
26-12-2008, 10:10 AM
السلام عليكم
في كل الدورات التي تبعتها لم أجد شرح لمكونات Dialog و في هذا أنا محتاج لتشغيل مكونSaveDialog مرة واحدة في تشغيل البرنامج للمرة الأولى فقط حتى نحفظ قاعدة البيانات في مكان مخصص
وشكرا لكم

B.M.AbdelAziZ
26-12-2008, 10:20 AM
استعمال SaveDialog يكون باستدعائه واستخدام اسم الملف+المسار المختار
من الشكل

if SaveDialog1.Execute then Begin
// تستطيع حفظ الملف بالاسم المختار SaveDialog1.FileName
End;


مرة واحدة -> اكتب الكود في الحدث OnCreate للForm الرئيسي او DataModule

والسلام عليكم

أمير الدلفي
26-12-2008, 12:44 PM
شكرا جزيلا أخي المشرف العام
و ياليت تتابع معي المناقشة الى آخرها
بعدما استدعيت المكون واستخدمت اسم الملف ومساره المختار ونجح كل شيئ الى الأن واستعملت طريقة النسخ لكي تبقى لنا نسخة محفوظة عل كل
واستعملت الكود التالي

procedure TForm2.FormCreate(Sender: TObject);
Var
a:Boolean;
begin
if SaveDialog1.Execute then
begin
CopyFile('D:\program\data\bd\infoetud.DB',Pchar(Sa veDialog1.filename),true);
end;
end;

لكن تبين لي مشكل رهيب جدا أن الملف المنسوخ هو قاعدة البيانات فلا تتصور الخطأ الذي خرج لي
أن alise موجه الى السار الأول لأني استعملت طريقة ملفات ini مما يستوجب الآن توجيه قبلة الجداول الى المسار الجديد وفكرت في نسخ المجلد بالكامل أي حتى ملفات ini ولكن عثرت هنا
كيف يمكن تحويل المجلدبالكامل وماهو امتداده وهل تنجح الفكرة
أما الباقي أظن أني بالامكان القيام به
شكرا لتفاعلك أخي

B.M.AbdelAziZ
26-12-2008, 01:44 PM
ما الفكرة التي تحاول القيام بها ؟
سؤال المستخدم عن مكان تخزيد قاعدة البيانات ونسخها عند كل تنفيذ ؟
والسلام عليكم

أمير الدلفي
26-12-2008, 02:00 PM
الفكرة التي أحاول القيام بها
أنه عند تثبيت المستخدم للبرنامج و عند تشغيله لأول مرة يختار المستخدم لأن ينقل قاعدة المعطيات من المسار
C:\Program Files لمسار يراه آمن سواء في d أو غيره

أمير الدلفي
30-12-2008, 08:04 PM
هل تبينت الفكرة أثابك الله

B.M.AbdelAziZ
30-12-2008, 09:13 PM
يمكن ان تقوم بالتالي:
عند تنفيذ البرنامج يحاول قرائة المسار من ملف ini
فان وجده يستخدمه وان لم يجده يطلبه من المستخدم ويحفظه في ملف ini
والسلام عليكم