ایده برای نصب در 2 سی دی

abf630

New Member
من پروژه ای دارم که قراره 100 تا مقاله رو نشون بده در دسته بندی 12 منوی اصلی و باید حتما در 2 سی دی باشه !
1. می خوام سی دی اول نصب بشه و بعد کاربر فقط با سی دی دوم برنامه رو ببینه . حالا نمیدونم که تو سی دی اول چیکار کنم ؟ یعنی به فرض باید مقالات 6 تا منوی اول رو جایی در کامپیوتر save کنم و در سی دی دوم منوها رو به اون لینک بدم ؟ {که در این مورد با <SrcDir> مگه نباید فایل ها درکنار فایل exe باشند؟ }
2. در مورد resulotion که 800*600 باشه چون پروژه من 1024*750 و میخوام سایز مونیتور 1024*768 بشه این کد رو نوشتم ولی کار نکرد :

PHP:
[LTR] 
x=ScreenWidth()
y=ScreenHeight()
SysCommand("ResizeWindow","1024,768")
SysCommand("CenterWindow","1024,768")
[/LTR]
 

evil_gates

اين نيز بگذرد ...
من پروژه ای دارم که قراره 100 تا مقاله رو نشون بده در دسته بندی 12 منوی اصلی و باید حتما در 2 سی دی باشه !
1. می خوام سی دی اول نصب بشه و بعد کاربر فقط با سی دی دوم برنامه رو ببینه . حالا نمیدونم که تو سی دی اول چیکار کنم ؟ یعنی به فرض باید مقالات 6 تا منوی اول رو جایی در کامپیوتر save کنم و در سی دی دوم منوها رو به اون لینک بدم ؟ {که در این مورد با <SrcDir> مگه نباید فایل ها درکنار فایل exe باشند؟ }
دوست عزيز
در مورد اين سوالتون شما بايد تمام مقالات رو تو يك پوشه بريزيد و اين پوشه رو كنار فايل اصلي قرار بديد. خب طبيعتا تو فايل اصلي برنامه براي اجراي هر مقاله از SrcDir استفاده ميكنيد.

حالا براي نصب بايد برنامه ديگه اي بسازيد كه مسيري رو از كاربر دريافت كنه و تمام فايلهاي برنامه و مقالات رو درون اون مسير كپي كنه.

شما ممكنه مقالات رو به دو دسته تقسيم كنيد و هر دسته رو تو يك CD بريزيد. خب بنابراين فرايند نصب شما به اينصورت خواهد بود:

تو CD اول برنامه نصب اجرا ميشه و مسير نصب رو از كاربر سوال ميكنه. براي اينكار ميتونيد از دستور BrowseForFolder و تابع CBK_OpenDir استفاده كنيد. تا مسير مورد نظر برگرده.

كاربر مسير مورد نظرش رو وارد ميكنه. شما بايد اين آدرس رو به شكلي نگه داريد. مثلا ميتونيد به طور موقت يك فايل متني تو temp بسازيد و اين آدرس رو به صورت يك متغير رشته اي به اون فايل ارسال كنيد. يا ممكنه با SaveVariable اين آدرس رو تو رجيستري ذخيره كنيد.

به هر حال تو مسيري كه انتخاب شده دسته اول فايلهاي يعني همون فايلهايي كه تو CD1 هستن كپي ميشن.

در پايان بايد درخواست CD دوم رو نمايش بديد و از كاربر بخوايد تا CD دوم رو وارد كنه و دسته دوم فايلهاي شما كپي بشه.

براي CD دوم هم بايد يك برنامه جداگانه اجرا كنيد اما اين برنامه به طور خودكار ادامه عمليات كپي رو دنبال ميكنه. به اينصورت كه در page start دستوري اجرا ميشه كه اون آدرسي كاربر تو CD يك وارد كرده بود فراخواني ميشه. اگه تو يك فايل متني آدرس رو كپي كرده بوديد ميتونيد از StrFromFile استفاده كنيد يا اگه تو رجيستري ذخيره كرديد ميتونيد با LoadVariable اون آدرس رو برگردونيد و مجددا عمليات كپي رو تو مسير مورد نظر دنبال كنيد.

در پايان ميتونيد يك shortcut از فايل اصلي برنامه رو تو Desktop قرار بديد و برنامه نصب رو خاتمه بديد.

اين ساده ترين راه حلي بود كه ميشه با اون توسط mmb برنامه نصب ايجاد كنيد.

در مورد سوال دومتون هم من كد شما رو اصلاح كردم. اين كد رو به جاي كد خودتون وارد كنيد:

کد:
x=ScreenWidth()
y=ScreenHeight()
SysCommand("ResizeWindow","x,y")
SysCommand("CenterWindow","")
 

abf630

New Member
من کدی که شما فرمودید رو هم زدم ولی بازهم پروژه ام crop میشه ؟!؟!؟!
واسه این نصبی که یاد دادید نمونه ای در این انجمن هست ؟
یک دنیا ممنون که زود جواب دادید ......
 

abf630

New Member
واسه ریختن فایل ها روی کامپیوتر کاربر می تونم از نرم افزار های setup ساز استفاده کنم ؟
 

evil_gates

اين نيز بگذرد ...
بله نرم افزارهاي Setup ساز زيادي وجود داره. تو همين انجمن جناب SilverSoft يه برنامه ساخته بود. بگرديد حتما پيدا ميشه.
 

abf630

New Member
با سلام
یک سوالی در ادامه این کار داشتم :
فرض کنید فایل پروژه و یک سری فایل های مربوطه اش در کامپیوتر کاربر ریخته شده ! برای اینکه به فرض موزیک یا یک فایل اجرایی از داخل سی دی اجرا شود باید از<SrcDir> چطور استفاده کنم ؟
یک نکته دیگر اینکه هنوز هم مشکل 800* 600 را دارم...... اصلا یک پروژه ساده 1024*768 درست کنید و رزولوشن کامپیوتر را تغییر دهید ..... حتما Crop می شود !!!!!!!!!!!!!! :))))))
 

Amit13

Well-Known Member
evil جان ،نمي شد كه از يك فايل جانبي در هر سي دي جداگانه قرار دهد كه مشخص كننده ي شماره سي دي باشد،مثلا cd1.txt در سي دي اول و cd2.txt در سي دي دوم و در برنامه ي نصب شده ،ابتداي برنامه وجود اين فايلها چك شود.
 

Amit13

Well-Known Member
سوال دوم،خوب مي توني در قسمت display Resolution از منوي project setting<< project رو فعال كني.
تا برنامه احرا بشه رزولوشنه ويندوز تغيير مي كنه،تا خارج بشي به حالت اول بر ميگرده.
 

evil_gates

اين نيز بگذرد ...
با سلام
یک سوالی در ادامه این کار داشتم :
فرض کنید فایل پروژه و یک سری فایل های مربوطه اش در کامپیوتر کاربر ریخته شده ! برای اینکه به فرض موزیک یا یک فایل اجرایی از داخل سی دی اجرا شود باید از<SrcDir> چطور استفاده کنم ؟
یک نکته دیگر اینکه هنوز هم مشکل 800* 600 را دارم...... اصلا یک پروژه ساده 1024*768 درست کنید و رزولوشن کامپیوتر را تغییر دهید ..... حتما Crop می شود !!!!!!!!!!!!!! :))))))

دوست عزيز

اگه منظورتون اينه كه فايلي كه رو كامپيوتر كپي شده بتونه فايلي رو از رو CD اجرا كنه لازمه اول نام درايو CD رو بدست بياريد و بعد دنبال فايل موردنظر بگرديد

براي بدست آوردن درايو CD پلاگينهاي مختلفي وجود داره اما با يك حلقه هم ميتونيد فايل موردنظر رو تو درايو CD پيدا كنيد. من اين كد رو پيشنهاد ميكنم:
کد:
For i=65 To 90
  path$ = CHR(i) + ':\myfolder\myfile.exe'
  FileExist("path$","x")
  If (x=1) Then
    Run("path$","")
    Return()
  End
Next i

در مورد سوال دومتون هم من دقيقا متوجه منظورتون نشدم دوست عزيز

نكته اي كه بديهي هست اينه كه هميشه ابعاد پروژه شما بايد از رزولوشن مانيتور كمتر باشه تا بتونيد همه پروژه رو ببينيد.

مثلا اگه شما فايلي با ابعاد 1024 در 768 ساختيد نبايد رزولوشن مانيتورتون كمتر از 1024*768 باشه و اگه هست يا بايد ابعاد برنامه رو برنامه رو كوچكتر كنيد يا رزولوشن مانيتور رو بالا ببريد.

اما اگه ابعاد پروژتون از رزولوشن مانيتور كمتر باشه مشكلي پيش نمياد.
 

evil_gates

اين نيز بگذرد ...
evil جان ،نمي شد كه از يك فايل جانبي در هر سي دي جداگانه قرار دهد كه مشخص كننده ي شماره سي دي باشد،مثلا cd1.txt در سي دي اول و cd2.txt در سي دي دوم و در برنامه ي نصب شده ،ابتداي برنامه وجود اين فايلها چك شود.

متوجه منظورتون نشدم دوست عزيز
 

abf630

New Member
سلام
این رزولوشن واسه من شده کابوس . پروژه من سایزش 1024*768 . چون یک سری مقاله تو خود پروژه باز میشه و اندازه کوچکتر پروژه خیلی کوچیک میشه. حالا نمیدونم کسی هست که هنوز مونیتورش بالاتر از 800*600 نشه ؟ چون این برنامه قراره مثلا به کلی شرکت داده بشه .....:cry: دارم خل میشم.....
 

evil_gates

اين نيز بگذرد ...
دوست عزيز

بعيد به نظر ميرسه كه هنوز كارت گرافيكي باشه كه بالاتر از 800*600 رو پشتيباني نكنه.

اما به هر حال توصيه ميكنم براي جلوگيري از هرگونه مشكلي قبل از اجراي برنامه اول رزولوشن مانيتور كاربر رو با توابع مربوطه بدست بياريد و تو يك شرط چك كنيد كه اگه مثلا كوچكتر از 800*600 هست به كاربر يك پيغام خطا براي اصلاح رزولوشن مانيتورش بده و از اجرا شدن برنامه جلوگيري كنه.
 

جدیدترین ارسال ها

بالا