مشاهدة النسخة كاملة : مشكل َAlias مع installshield
SALAH
17-05-2008, 08:54 PM
السلام عليكم
نعم بعدما رسمتم لي الطريق لكي أستغل برنامج instelshiled بارك الله فيكم خاصة أخي المشرف DeltaAziz الذي قدم لي موضوع أتبعه في الرابط التالي :
http://www.delphi4arab.com/forum/showthread.php?t=317
فبالمناسبة بعدما اتبعته واجهتني محطات لم أفهم قصد الكاتب ومرة مشاكل لا أدري بحلها بتاتا رغم المحاولاتالمتكررة ولذلك سأعدها لكم على شكل نقاط وبالصور حتى تكرموا علي بالحل الصحيح جزاكم الله خيرا فمرة أذكر ما فهمت لتصححوه لي ومرة أسألكم مباشرة وأستأذنكم لننتقل الى النقاط
1 . فيما يخص خاصية files في البرنامج فإننا نضع هنا ملفات التي يريدها البرنامج أليس كذلك ؟
لاشك أن في هذه المرحلة خطورة كبيرة ويجب توخي الحذر هذا مما يدفعني الى القول أن هناك قواعد يجب أن نتقيد بها في هذه المرحلة مثلا قواعد المعطيات في ملف و ملفات الصور في ملف أم كل شيئ مع بعض ...
وما فعلته أنا أن عندي قاعدة معطيات paradox في ملف هو بذاته فيه الملف التنفيذي فكيف نضع الملفات في هذه الحالة ، مع العلم أني **** بعد تنصيب البرنامج يخلق ملف في جهاز مستخدم البرنامج وليكن هذا الملف مثلا في mes documents و يضعه المستخدم حيثما شاء في جهازه وليضعه ان أراد في d أو g ويكون الحفظ تلقائيا أي البرنامج يتعقب مكان ملف قاعدة البيانات
http://www7.0zz0.com/2008/05/17/18/278673075.jpg
2 . في نقطة مع شرح الأخ أشار الى محرك قاعدة البيانات وأنا بطبيعة الحال أستعمل bdo وهو يشترط أن يكون منصبا في جهاز المستخدم و لكن هل في هذه الحالة instelshiled هل هو يتولى بنقل ملفات bdo أم يجب أن أنقلها يدويا
http://www7.0zz0.com/2008/05/17/18/427226781.jpg
3.بعد نهايتي من المراحل المتبعة في شرح الأخ بارك الله فيه وبالضبط في بند test وحين مرحلة نقل الملفات من مراحلالتثبيت واجهتني هذه الرسالة فما رأيكم بالخطأ ولكن عندما أضع ok يستمر في نقل الملفات حتى النهاية .
http://www7.0zz0.com/2008/05/17/18/113341479.jpg
4 . المشكلة العظيمة هي هذه وأظن أنها ستتعبكم
حينما خرج ملف التنفيذ شغلته في جهازي اشتغل بما قرت به عيني ولكن عندما أخذته الى جهاز آخر
بدت المأساة alise يا اخوة وخرجت لي الرسالتين التالييتين :
http://www7.0zz0.com/2008/05/17/18/181634943.jpg
http://www7.0zz0.com/2008/05/17/18/599923019.jpg
و في الأخير دعوني أشكركم جزيلا على المرور
أخي صلاح عليك بإدراج الصور بشكل أحسن و ذلك بإستخدام زر إدراج صورة و ذلك بوضع رابط مباشر لها
SALAH
18-05-2008, 11:06 AM
السلام عليكم
أشكرك جدا على اهتمامك أستاذ وأنا آسف جدا على الصور فقد كانت تظهر حين رفعت الموضوع
وعلى العموم فقد أعدت رفعها من جديد وكذلك هي بالمرفقات حسب الترتيب في الموضوع فأنا أردت أن أجعلها في الموضوع ولكن لم أجد زر يشيرني الى التعديل
1 http://www.arb-up.com/files/arb-up-2008-1/auN01215.jpg
2 http://www.arb-up.com/files/arb-up-2008-1/Q1F01271.jpg
3http://www.arb-up.com/files/arb-up-2008-1/ZU001320.jpg
4 http://www.arb-up.com/files/arb-up-2008-1/4Jn01364.jpg
5http://www.arb-up.com/files/arb-up-2008-1/IGb01406.jpg
وتقبلوا تحياتي الفائقة
شكرا
أمير الدلفي
18-05-2008, 12:05 PM
استفسارك حقيقة صعب جدا فأنا لم أجرب inselshiled بعد و لكن أنصحك أن تركز على ترتيب الملفات فأنا أعمل ببرامج الفلاش وأعاني من هذه النقطة فالحواسيب تختلف من شخص لآخر
بالتوفيق أخي العزيز
SALAH
19-05-2008, 09:29 PM
شكرا أخي أمكروس على رأيك في انتظار الاخوة الآخرين على ردهم الذي أنتظره أحر من الجمر
و***** أن نستفيد جميعا
شكرا
http://www.arb-up.com/files/arb-up-2008-1/IGb01406.jpg
رسالة الخطأ هذه تعني أن Alias (الإسم المستعار) branch غير موجود على النظام
في الرابط توجد طريقة لإنشاء الإسم المستعار بالبرمجة
http://www.delphi4arab.com/forum/showthread.php?t=71
SALAH
20-05-2008, 09:55 AM
شكرا جزيلا أخ مهدي
وأقدر جميلك هذا كثيرا
ولابد أننا قضينا على االمشكل الأول
شكرا مرة أخرى
أمير الدلفي
21-05-2008, 10:21 AM
شكرا جزيلا أخ مهدي
***** أن نلقى توضيحا شاملا عن سؤال الأخ صلاح الأول خاصة
لأنه تمهيدا لاجابة مشكل alise
شكرا لكم
أمير الدلفي
22-05-2008, 03:10 PM
لقد بحثنت كثيرا في شأن استفسارك الأول فقد شغل تفكيري كثيرا لأني أعتقد أنها الخطوة المهمة في احراز برامج مرضية و بدون مشاكل
1 - أما عن استعمال قاعدة البيانات فيجب عليك وضعها أين تثبت برنامجك أما عن النسخة التي تتحدث عنها أي التي يخزنها المستخدم أين يريد فتلك يقال عنها النسخة الفرعية و أما عن النسخة الرئيسية فعليك بتتبع درس الأخ مهدي بارك الله فيه .
2- ملفات الصوت تضعها في ملف و ليكن اسمه مثلا wav و تستعمل الكود التالي :
procedure TForm1.FormActivate(Sender: TObject);
begin
if FileExists('wav\start.wav') then
begin
with MediaPlayer1 do
try
FileName := 'wav\debut.wav';
AutoRewind := True;
Open;
Play;
except
Exit;
end;
end;
Randomize;
end;
و يجب أن تجعل الملف الصوتي بجانب الملف التنفيذي و سيشتغل حتى لو نصب البرنامج في \:d
و اما عن ملفات الفلاش swf فأنت تريد ان تكون مشتغلة باستمرار بمجرد اشتغال البرنامج أي بدون أن تضغط زر مثلما نرى في مواقع الويب فكرتك مذهلة و لكن الكود لست متاكد منه و لا أعرف في اي حدث تضعه و هاهو :
ShockwaveFlash1.Movie := ExtractFilePath(Application.ExeName) + 'FlashName.swf';
حيث ان FlashName هو اسم فلاشك و يكون بجانب ملفك التنفيذي و لا تنسى ان تضع adobe flash player في حزمة تنصيبك و تكون من الفئة التي تنصب دوما في instelshiled
***** ان اكون موفقا في اجابتي
و اما عن استفسارك عن BDO ف***** ان نلقى من يوجهنا فانا احتاد الى ال******
. فيما يخص خاصية files في البرنامج فإننا نضع هنا ملفات التي يريدها البرنامج أليس كذلك ؟
أفضل أن تقوم بإنشاء مجلد إسمه Data على سبيل المثال و يكون هذا المجلد داخل مجلد البرنامج و قم بوضع ملفات قاعدة بيانات paradox، ثم أنشيء الإسم المستعار لهذا المجلد.
أما بخصوص برنامج InstallShield فيمكنه تنصيب محرك قاعدة بيانات و يمكنه أيضا إنشاء إسم مستعار Alias الخاص بالبرنامج.
أخي صلاح ****ا أن نكون قد أجبناك
و أي صعوبات خاصة بمشروعك يمكنك طرحها و نجيب عليها بإذن الله.
SALAH
23-05-2008, 06:00 PM
شكرا جزيلا
ربما توجد نقطة صغيرة في وسط العملية لم أفهمها ولكن تابعوا الخطوات معي
مثلا عندي في مشروعين جدولين
table1 لمعلومات الطالب
table2 لمعلومات المادة
جعلت في form1 كل من table1 و ضغطت في base de donnée ثم explorateur ثم جعلت جديد و ربطت الاتصال بمجلد قاعدة البيانات الذي هو مخزن في d:\data
و جعلت لـ table1 كل ادوات الاظهار من dbgrid ...
نفس العملية قمت بها مع الجدول الثاني
وكان في form1 ملف swf جعلته على form و من قائمة الخصائص خاصية movie التي وضعت فيها الرابط لكي يشتغل و الرابط هو : e:\swf\1.swf
لأني **** من الفلاش ان يشتغل من الثانية الأولى
و من هنا أجد نفسي قد اتممت المشروع و جعلت له compiler projet1 و حفظت المشروع في الرابط
d:\projet
الآن فتحت instelshiled و جهزت كل الخصائص الخاصة للمشروع من اسم و اصدار ...
1. في قائمة files كيف أضع ملفاتي استنادا الى الروابط التي ذكرتها سابقا مع العلم أني أحب ان يكون البرنامج في program files و اما ملف data يكون مبدئيا في mes documents و اذا غير المستخدم مكانه الى D , E ...فلا يؤثر
الرجاء تفصيلا **** حتى الملل مع بيان كل الخطوات و ما يجب فعله و ان كان بالصور فهذا من دواعي سروري فانا احب ان اقتل المشكل
جزاكم الله خيرا على صبركم معي
أنا أفهم من سؤالك أنك تريد ما هي أفضل لتنصيب برنامج
فأقول الأفضل أن تنشيء مجلد رئيسي للبرنامج في مجلد program files مثلا
x:\program files\Dossier d'instalation
و في المجلد الرئيسي قم بوضع الملف التنفيذي و مجلد قاعدة البيانات data و مجلد الفلاش swf كما يلي
x:\program files\Dossier d'instalation\data
x:\program files\Dossier d'instalation\swf
يمكنك تغيير موقع المجلد الرئيسي مثلا
C:\Dossier d'instalation
D:\Dossier d'instalation
و لكن بشرط تغيير رابط الإسم المستعار بتغير مسار المجلد data أما فيما يخص مجلد الفلاش فتأخذ الخاصية movie قيمة swf\1.swf بهذا يكون مجلد الفلاش متعلق بموقع الملف التنفيذي.
أما إذا واجهتك مشاكل في تشغيل الفلاش في جهاز آخر فعليك بتنصيب قارئ الفلاش الموجود على الرابط التالي إضغط هنا (http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player.exe)
SALAH
23-05-2008, 10:22 PM
و لكن بشرط تغيير رابط الإسم المستعار بتغير مسار المجلد data إضغط هنا[/URL]
الكلام هنا : ما رأيك بـ: الاسم المستعار الذي وضعته و كيف اغير الرابط في كلامك بتغير مسار المجلد data و اذا كان الاسم المستعار دينامكيا هل يستوجب التغيير
و هل مشغل الفلاش أضعه بجانب الملف التنفيذي
هذا ما اقصد به كيف ارتب في البند files التي هي في instelshiled
nassi
23-05-2008, 10:47 PM
ماذا تقصدون بالاسم المستعار
ما فائدته و هل يمكن تخطيه
الكلام هنا : ما رأيك بـ: الاسم المستعار الذي وضعته و كيف اغير الرابط في كلامك بتغير مسار المجلد data و اذا كان الاسم المستعار دينامكيا هل يستوجب التغير
في المثال التالي الموجود في الرابط التالي
http://www.delphi4arab.com/forum/showthread.php?t=348
مسار الإسم المستعار مرتبط بمسار المجلد الرئيسي (مجلد التنصيب) رقم 15 من الصورة السابعة بحيث أين ما يكون مسار مجلد التنصيب يكون مجلد Data فبرنامج IntallShield سيقوم بإنشاء إسم مستعار في أي مسار يختاره المستخدم زائد \Data هذا من جهة.
و من جهة أخرى يمكنك إضافة خاصية لبرنامجك تقوم بتغيير مسار الإسم المستعار برمجيا و ذلك من خلال الموضوع التالي
http://www.delphi4arab.com/forum/showthread.php?t=71
و هل مشغل الفلاش أضعه بجانب الملف التنفيذي
هذا ما اقصد به كيف ارتب في البند files التي هي في instelshiled
تقوم بتنصيبه بشكل مستقل في النظام الذي لا يقرأ الفلاش
ماذا تقصدون بالاسم المستعار
ما فائدته و هل يمكن تخطيه
الإسم المستعار هو ALIAS و هو منفذ مرور للبرنامج إلى قاعدة البيانات (هو عبارة عن مسار لقاعدة البيانات).
أمير الدلفي
24-05-2008, 01:11 AM
لقد اخذ الموضوع اكثر من حقه
ساقدم الان طريقة تنزع المشكل نهائيا و تنزع العبء على اخانا Mahdi
وهي بالبرمجة بدون alise نعم و اليك الطريقة
عليك تصميم واجهة لبرنامجك
بعده اضغط مرتين على Form1 واكتب ما يلي في : USES
Inifiles
وفي VAR أكتب ما يلي :
Fichierini : tinifile ;
; Rep,RepExe: string
ثم نفتح المفكرة Note-Pad ونكتب ما يلي :
[Base]
rep=bd/
Fichier=bd.hbd
تقوم بحفظ المذكرة باسم test.ini بجانب الملف التنفيذي
الجدول مثلا يكون باسم : 'Reintégration.DB' داخل المجلد التالي: bd الذي بدوره يكون في data
و الذي يكون بجانب الملف التنفيذي اجباري واكيد
ثم نعود إلى الدالفي ونضغط على الــ Form1 مرتين ونكتب ما يلي:
procedure TForm1.FormCreate(Sender: TObject);
begin
RepExe:=ExtractFilePath(Application.EXEName);
FichierIni:=TIniFile.Create(repexe+'test.ini');
rep:='data\'+fichierini.ReadString('base','rep','n onbd');
if rep='nonbd.' then
showMessage('Désole mais vous n"avait pas cree une base de donnée')
else
begin
rep:=repexe+'data\'+fichierini.ReadString('base',' rep','nonbd');
table1.DatabaseName:=Rep;
table1.TableName:='Reintegration.DB';
table1.Active:=true;
end;
end
و واصل برمجتك الى آخرها و ضع برنامجك اينما تريد.
تقوم بتنصيبه بشكل مستقل في النظام الذي لا يقرأ الفلاش
البيانات).
نعم اخي مهدي لابد ان يضع قارئ الفلاش في الحزمة احتمال عدم احتوائه في جهاز المستخدم
و لكن لا تضعه مع الملف التنفيذي وانما بملف وحده و انما يكون مع ملف البرنامج
اظن كما في الصورة المرفقة اليس كذلك اخ مهدي.
http://www.arb-up.com/files/arb-up-2008-1/8rv84146.jpg
تقوم بتنصيبه بشكل مستقل في النظام الذي لا يقرأ الفلاش
كنت أقصد بكلامي هذا أن يجعله خارج الحزمة و يقوم بتنصيبه بشكل مستقل
نعم اخي مهدي لابد ان يضع قارئ الفلاش في الحزمة احتمال عدم احتوائه في جهاز المستخدم
و لكن لا تضعه مع الملف التنفيذي وانما بملف وحده و انما يكون مع ملف البرنامج
اظن كما في الصورة المرفقة اليس كذلك اخ مهدييمكنك وضعه في أي مكان من الحزمة و تعطي الأمر لIstallShield بتثيبته كما هو موضخ في الصورة
http://i292.photobucket.com/albums/mm8/mahdi1978/delphi4arab/0805241.jpg
و أقول للأخ صلاح إذا لم نقم بإعطائك الجواب الكافي فعليك أن تطرح سؤالك بشكل دقيق -لا يوجد إزعاج أخي-
أمير الدلفي
24-05-2008, 07:09 PM
ما رايك عن البرمجة بدون alise
SALAH
25-05-2008, 08:59 AM
الله يعطيكم كل ما تتمنوه و يزيدكم علما و يغفر لكم ان شاء الله
آمين و إياكم نتمنى لكم التوفيق
ما رايك عن البرمجة بدون alise
هناك عدة طرق للتعامل مع قاعدة البيانات من بينها التي ذكرتها و لكن الأفضل إستخدام الإسم المستعار لأنه يوفر خاصية إستقلالية الملف التنفيذي (بحيث يمكنك تشغيل البرنامج و فتح قاعدة البيانات من أي مكان في الحاسوب) الموضوع التالي يحوي أحسن الطرق فيما يخص الموضوع
http://www.delphi4arab.com/forum/showthread.php?t=71
ملاحظة : لقد ذكرت طريقة القراءة من ملف ini لكنك لم تذكر طريقة الكتابة عليه
zouhirmz
21-03-2009, 04:06 PM
قائمة الملفات لجعل البرنامج يعمل مع قاعدة البيانات اينما نقلته
delphi7 أو delphi5
المسار الدي تاخد منه الملفات
C:\Program Files\Fichiers communs\Borland Shared\BDE
other.btl
sqlint32.dll
usa.btl
bantam.dll
charset.cvb
europe.btl
fareast.btl
idapi32.dll
idbat32.dll
iddbas32.dll
idpdx32.dll
idr20009.dll (delphi7 ou idr2000c.dll delphi5)
idsql32.dll
اضف الملفات الى مجلد مشروعك قبل الكومبيل
ثم اضف هده السطور الى سورس برنامجك
procedure TForm1.FormCreate(Sender: TObject);
var
chemin : string ;
begin
chemin := extractfilepath(paramt(0))+'data' ; //data repertoire de tout table *.db
session.configmode:=cmsession ; *
try
session.addstandardsAlias('MyAlias' , chemin , Paradox');
finaly
session.configmode:=cmAll ;
end;
databaseset1.aliasname := 'MyAlias' ;
table1.open ; //ouverture des tables ...
end;
vBulletin® , Copyright ©2008-2012