زمان جاری : یکشنبه 16 اردیبهشت 1403 - 7:46 بعد از ظهر
نام کاربری : پسورد : یا عضویت | رمز عبور را فراموش کردم



ارسال پاسخ
تعداد بازدید 413
نویسنده پیام
hshafiei آفلاین


ارسال‌ها : 9
عضویت: 18 /5 /1391
محل زندگی: قم
سن: 31


دو نرم افزار در یک پروژه
دو نرم افزار در یک پروژه یا یک پروزه یا خروجی های چند منظوره
هدف آموزشی : شرایط هنگام کامپایل
آیا خواستید یک نرم افزار در دو گروه مجاز تولید نماید یا یک برنامه کاربردی را برای دو هدف خاص طراحی نماید .
راه قدیمی بدین صورت است که از پروژه اصلی یک کپی تهیه نماید و در برنامه کپی شده تغییرات جدید را اعمال نماید . در این روش اگر برنامه اول دجار ویرایش خاصی گردد برنامه دوم تغییر نخواهد کرد و بروز نخواهد شد .نگهداری کدهای کار بسیار سختی خواهد بود راه دوم اینکه اکثر بخش های مشترک برنامهای چند منظوره را بوسیله کلاس های پایه در هم ادغام نماید در این روش ارتباط کلاس کمی دشوار و تولید و برنامه نویس آن کمی سخت خواهد شد .
روش سوم کمی ساده است . استفاده از بخش مالتی و رژن در دلفی .
تکنیک این روش بوسیله conditional compilation ( شرایط هنگام کامیایل ) بوسلیه نشانه های pre-defined
می باشد مانند WIN32.
برای مثال ما می خواهیم در یک پروژه دو نسخه داشته باشیم اصلی و ازمایشی
مراحل کار
- در Project Manegar بخش ProjectGroup1 را باز نماید و گره Build Configurations گزینه Release کلیک راست نموده و New Configuration.. رانتخاب و برای مثال TRIAL
- در روی TRIAL کلیک راست و گزینه Edit را انتخاب نماید در پنجره .Project Options در جلوی Conditional defines امکان تایپ وجود دارد حال کلمه TRIAL_VERSION را بوسیله یک سمیکال وارد نماید .و کلید ok را در اخر انتخاب نماید .
- در این مرحله در فرم اصلی این کد را اضافه نماید

procedure TForm1.FormCreate(Sender: TObject);
begin
{$IFDEF TRIAL_VERSION}
Caption := 'This is a TRIAL RELEASE version';
{$ELSE}
{$IFDEF DEBUG}
Caption := 'This is a DEBUG version';
{$ELSE}
Caption := 'This is a RELEASE version';
{$ENDIF}
{$ENDIF}
end;


- با دابل کلیک روی هر گزینه برنامه با پیکرنندی انخاب شما کامپایل می شود مثلا (RELEASE یا TRIAL )
-حتی امکان داشتن فرمهای مختلف نیز برای شما وجود دارد مانند
program Project1;

uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
{$IFDEF TRIAL_VERSION}
SplashUnitTrial in 'SplashUnitTrial.pas' {SplashFormTrial};
{$ELSE}
SplashUnitRelease in 'SplashUnitRelease.pas' {SplashFormRelease};
{$ENDIF}

{$R *.res}

begin
Application.Initialize;

{$IFDEF TRIAL_VERSION}
TSplashFormTrial.Execute;

Application.Title := 'myApplication TRIAL VERSION';
{$ELSE}
TSplashFormRelease.Execute;

Application.Title := 'myApplication';
{$ENDIF};

Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

توجه نماید وارد کردن کد های دستی در بخش پروژه باید بادقت انحام شود در صورت بروز مشکل باید دستی مشکلات را حل نماید .
- در این مرحله می خواهیم بوسیله خود کامپایلر نام برنامه خودکار تغییر نماید
ابتدا در بخش TRIAl راانتخاب کلیک راست و Edit را انتخاب نماید در بخش delphi compiler جلوی Output Directory این عبارت و نام فایل دلخواه را وارد نماید

چهارشنبه 15 شهریور 1391 - 11:18
نقل قول این ارسال در پاسخ گزارش این ارسال به یک مدیر
ارسال پاسخ



برای ارسال پاسخ ابتدا باید لوگین یا ثبت نام کنید.


پرش به انجمن :