PDA

View Full Version : ساختن setup



ramsess
شنبه 28 اردیبهشت 1387, 21:51 عصر
سلام اهل فن نگید که اول سرچ کن که بارها و بارها سرچ کردم و سوال هم پرسیدم ولی فقطvolf جواب من رو داد البته اون هم کامل نه !!! به خدا خیلی گیر افتادم لطفا کمک کنید
بانک من اکسس هست وقتی ستاپ اون رو درست می کنم بانک رو چطور همراش بیارم و نیاز به مسیر نداشته باشه و سوال دوم اینکه چطور شماره ردیف در dbgrid درج کنم لطفا اگع وقت دارید واضح توضیح بدین و کامل اگه پی دی اف دارید خودم می خونم فقط بزارین از همتون ممنونم

RezaS_1354
شنبه 28 اردیبهشت 1387, 22:06 عصر
دوست گرامي اگر شما با ست اپ ساز استاندارد وي بي برنامه تون را پكيج ميكنيد بعد از انتخاب پروژه و رد كردن چند تا فرم و كارهاي اوليه يه فرمي هست كه قسمت caption بالاي فرم نوشته
Package and Deployment Wizard -- Included Files
و روي صفحه يك دكمه هست كه add نامگذاري شده . اين دكمه براي اين هست كه شما هر چيزي را كه ميخواهيد در اينجا ضميمه برنامه تون كنيد مثل پايگاه داده (اكسس ...) و فونت يا اكتيو ايكس و هر چيز ديگر كه البته توجه داشته باشيد بعد از كليك كردن روي اين باتوم صفحه انتخاب گزينه هاي نشان داده ميشود كه در قسمت پايين كه
Files Of Type : نامگذاري شده گزينه ( All Files) را انتخاب كنيد تا بتوانيد ديتا بيس خود را ببينيد و اونو انتخاب كنيد . بهر حال اگر با اين ست اپ ساز استاندارد ويژوال مشكل داريد بفرمائيد تا بيشتر توضيح دهم هر جند اين ست اپ ساز مطمئن هست ولي من در گرافيك و تعداد فرمهاش يك تغييراتي را اضافه تر انجام ميدهم كه يك مقدار قشنگ تر ميشود

RezaS_1354
شنبه 28 اردیبهشت 1387, 22:20 عصر
آقاعذر ميخواهم يادم رفته بود بخش دوم سئوالت رو جواب بدم از اينكه اكسس مسير نخواهد كه اين ربطي به ست اپ ساز ندارد شما در برنامه تون از هر روشي كه براي اتصال به ديتا بيس استفاده ميكنيد مسير را پاك كنيد و فقط نام اكسس باقي بماندتوجه داشته باشد اگر از dao يا Rdo استفاده ميكنيد از app.Path استفاده كنيد در غير اينصورت اگر از adodc يا data يا dataenviroment و يا ... استفاده ميكنيد فقط مسير را پاك كنيد و نام اكسس اونجا باشد چيز شاقي نيست خيلي راحت تر از اوني كه فكرشو كني . در مورد رديف گذاشتن در ديتا گريد اگر ميخواهيد رديف ها را داشته باشيد كه بهتر اين هست كه در اكسس تون يك فيلد اول تمام فيلدها ايجاد كنيد با هر نامي مثل id يا radif يا هر چيز ديگر و اگر خواستي خودش بصورت خودكار رديف ايجاد كند براي تعريف نوع فيلد اكسس از گزينه auto number استفاده كن ولي اگر خواستي خودت كنترل داشته باشي رو رديف ها گزينه number را انتخاب كن در غير اينصورت اگر نخواستي كه فيلد رديف ايجاد كني در برنامه در روي ديتا گريد كليك كن وقتي روال كد ديتا گريد نشان داده شد DataGrid1_BeforeInsert را انتخاب كن و كد رديف را اونجا بنويس كه من اين روش را اصلا پيشنهاد نميكنم ولي اگر باز هم بر اين روش اصرار داري كدش را در اختيارت ميگذارم اميدوارم جواب گرفته باشي سئوال ديگري بود در خدمتيم
رضا

RezaS_1354
شنبه 28 اردیبهشت 1387, 22:28 عصر
اين هم يك pdf ست اپ ساز كه دو تا نرم افزار را توضيح داده است يكي از اونها ست اپ ساز استاندارد وي بي است كه فكر كنم مشكلت را حل كنه اميدوارم
فعلا باي
رضا

maryamb
یک شنبه 29 اردیبهشت 1387, 09:44 صبح
بانک رو چطور همراش بیارم و نیاز به مسیر نداشته باشه
در مورد این قسمت از سوالتون همین جور که دوستمون گفتن باید مسیر دیتا بیس رو تو برنامه درست تعریف کنی.
من یه نمونه برات می ذارم تا متوجه منظورم بشی

mehdi_7070
یک شنبه 29 اردیبهشت 1387, 12:35 عصر
با سلام
مشكلي كه من با Setup ساز استاندارد VB دارم اين هست كه نمي تونم فولدر به اون اضافه كنم .
چون فايل هاي كمكي برنامه من توي چندين فولدر قرار دارند و بايد كنار برنامه باشند .
با تشكر

ramsess
یک شنبه 29 اردیبهشت 1387, 22:26 عصر
آقای rezas بی نهایت از لطف و حوصله ایی که در جواب دادن به من بخرج دادی ممنونم با این همه کمکی که کردی هنوز هم می شه توی این دنیای ماشینی گفت که ایرونی همیشه ایرونیه
از خانم maryamb هم کمال تشکر و قدردانی را دارم امیدوارم در هرجای ایران که هستید موفق و سربلند باشید اگه مشکلی داشتم باز مزاحم می شم الان می خوام برم سراغ برنامه دوباره اگه مشکلی داشتم می پرسم خیلی خیلی مرسی از همتون

RezaS_1354
دوشنبه 30 اردیبهشت 1387, 06:20 صبح
دوست عزيز (ramses)قابلي نداشت همانطوركه گفتم اگر سئوال ديگري بود در خدمتيم اما راجع به سئوال دوستمون مهدي بايد عرض كنم كه شما در اين ست اپ ساز نميتوانيد دفعتا لحظه پكيج كردن برنامه فولدر تعريف كنيد حداقل من بلد نيستم يك روشي وجود دارد كه فكرميكنم اگر امتحان كنيد بد نيست مثلا شما ميخواهيد ديتا بيس توي يك فولدر فونتها تو فولدر ديگر يا تصاوير ضميمه در فولدري جداگانه باشد يا هرچيز ديگر بعد از نصب برنامه و اولين اجرا فولدرهاي دلخواه درست ميشوند در همان مسيري كه خودمون ميخواهيم يا مسيري كه برنامه مشخص ميكند كه معمولا ( C:\ProgramFiles ) است و توجه داشته باشيد كه كنترلهايي كه مسير ميخواهند مثل adodc در قسمت تعريف مسير يادتان باشد كه اون فولدر ساخته شده را حين طراحي حتما تعريف كنيد بعد از اينكه مسير را پاك كرديد در غير اين صورت برنامه error ميدهد مثلا فولدري با نام dataB و اكسس با نام db1 به اينصورت تعريف ميشود (DataB\db1.mdb)
سپس تو اولين اجراي برنامه اكسس را در ان فولدر Copy Move ميكني توجه داشته باش حين طراحي و نوشتن برنامه همچين فولدري هم بايد وجود داشته باشد يا حداقل اگر نباشد تمام مسير adodc ها بايد بهمان صورتي كه گفت تغيير كند و سپس براي دفعات بعد و اجراي دوباره برنامتون . كدي تعريف كنيد تا چك كند كه اون فولدر موجود هست يا خير اگر نبود ميسازد كه خود برنامه در اجراي اول ساخته و اگر فولدر مذكور موجود بود برنامه كار خود را ادامه ميدهد و بدون توجه به ساخت فولدري جديد از ان ميگذرد اميدوارم اين روش بكارت بيايد البته من در خود برنامه ست اپ تغييرات كوچكي ميدهم كه ديگر نياز به اين كارها نيست و مطمئننا روشهاي بهتر از اين هم حتما وجود دارد
رضا

ramsess
سه شنبه 31 اردیبهشت 1387, 23:52 عصر
سلام rezas کارهایی که گفتی را انجام دادم ولی باز نشد نشد نشد نشد نشد وقتی که کار برنامه نصب تموم شد بدون اینکه خطایی بگیره کامل شد ولی وقتی setup را اجرا می کنم تا برنامه نصب بشه این پیغام رو می ده invalidcommand - line parameter unable to continue نمی دونم از چه پارامتری ایراد می گیره اگه خطی از برنامه ایراد داره چرا در موقع کامپایل ایراد نگرفت لطفا هر کمکی می تونه بکن لطفا خیلی گیرم به خدا مرسی

mehdi_7070
سه شنبه 07 خرداد 1387, 14:11 عصر
آقا رضاي عزيز!
خيلي ممنون كه جواب داديد و ببخشيد كه دارم الان جواب ميدم ... درگير امتحانات بودم و هستم ...
ولي اين روش خيلي دشوار و پيچيده هست . به خصوص وقتي تعداد فايل هاي كمكي زياد باشه .
يك راه ديگه هم پيدا كردم كه همه فايل هاي كمكي را با WinRar به يك فايل exe تبديل كنم . بعد اول برنامه ببينم آيا اين فايل exe هست يا نه . اگه بود اجراش بكنه . اون فايل را هم طوري توي WinRar تعريف مي كنيم كه بلافاصله بعد از اجرا شروع به Extract كردن بكنه و بعد هم خودش را پاك كنه . البته توي اين مدت كه داره Extract ميشه بايد سر كاربر را گرم كرد :دي
اگه اون تغييرات كوجك كه داديد تجاري نيست و قابل ريليز كردن هست ، بذاريد تا ما هم استفاده كنيم .
ممنون

ramsess
سه شنبه 07 خرداد 1387, 14:27 عصر
خسته نباشید که جواب دادین ولی من که نفهمیدم چی می گید دارید من رو راهنمایی می کنید یا یکی دیگر رو ؟؟؟؟؟مرسی

vbhamed
سه شنبه 07 خرداد 1387, 15:07 عصر
سلام

براي اينكه از مسير بانك ايراد نگيره بهترين راه استفاده از App.Path هست كه مسير برنامه جاري رو بر مي‌گردونه
فرض كنيم نام بانك شما Test.mdb و نام جدول Table1 هست

1 - يك Module به پروژه اضافه كنيد
2 - يك متغير مثلا به نام dbase توي اون تعريف كنيد به شكل زير


Global dbase As String3 - توي Form_Load هاي فرم هاتون دستور زير رو براي همه كنترل هاي ديتا ADO بزاريد



On Error Resume Next

dbase = Replace(App.Path & "\test.mdb", "\\", "\")

Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & dbase
Adodc1.RecordSource = "Select * From Table1"
Adodc1.Refresh

3 - ولي اگر از كنترل ديتا DAO استفاده مي كنيد دستورات زير رو بزاريد



On Error Resume Next

dbase = Replace(App.Path & "\test.mdb", "\\", "\")

Data1.DatabaseName = dbase
Data1.RecordSource = "Select * From Table1"
Data1.Refresh


4 - خاصيت Recordsource رو همين جا يا از توي پنجره Properties تنظيم كنيد، بستگي به تنظيم كنترل ديتا تو اين خاصيت يا مثل بالا يك دستور Sql رو بدين يا فقط نام جدول يا Query تنها

5 - خاصيت DatabaseName مربوط به DAO و خاصيت ConnectionString مربوط به ADO در حالت طراحي برنامه خالي باشه و اگر چيزي توش هست پاك كنيد

با اين كارها برنامتون از هر جايي اجرا بشه مسير بانك رو از همون جا مي‌خونه و ديگه ايراد نمي گيره

توجه :
براي اينكه بتونيد گرايدها و خاصيت DataSource و DataField كنترلهاي روي صفحه رو تنظيم كنيد بايد خاصيت DatabaseName و ConnectionString مقدار داشته باشه يعني اتصال با بانك برقرار باشه، اما بعد از تنظيم كردن كنترل ها، مقدار اين دو خاصيت رو پاك كنيد تا موقع اجراي برنامه ايراد نگيره