View Full Version : سوال: فایل راست به چپ کردن Inno Setup 5
hamid-nic
یک شنبه 15 فروردین 1389, 19:33 عصر
سلام دوستان وقتتان بخیر
فایلی را که بتوان این نصب ساز را راست به چپ کرد را می خواستم در اینترنت یه جست و جویی کردم اما چیزی پیدا نکردم . البته فایل زبان فارسی را پیدا کردم و به برنامه اضافه کردم اما حالا می خواهم راست به چپ بشه کلاً .
موفق باشید .
hamid-nic
دوشنبه 16 فروردین 1389, 16:59 عصر
از دوستان عزیز کسی این فایل را نداره ؟
noshin2008
سه شنبه 17 فروردین 1389, 22:18 عصر
دوست عزیز اگه منظورت تغییر در سورس برنامه هستش یا سورس در فایل EXE میتونی از برنامه exe scope استفاده کنی
موفق باشی
hamid-nic
چهارشنبه 18 فروردین 1389, 09:32 صبح
خیلی ممنون دوست عزیز
من این فایل را می خواهم برای اینکه قبل از کامپایل و ساخته شدن فایل اجرایی آن را راست به چپ کند چون در حالت پیش فرض این امکان بصورت چپ به راست است . برنامه ای که شما عنوان کردید برنامه ای است برای اعمال تغییرات بروی فایلهای اجرایی .
موفق باشید .
noshin2008
چهارشنبه 18 فروردین 1389, 19:16 عصر
سلام.
دوست عزیز.من فهمیدم شما چی گفتید . اما من میگم بهتره اول با همون نرم افزار یا نرم افزار مشابه این کارو کنی بعد با نرم افزاری که میگی کامپایل کنی
من شنیدم که میشه با همون نرم افزار هم چپ به راست رو , راست به چپ کرد
دیگه نمیدونم چه جوابی بدم:خجالت:
موفق باشی
با تشکر
vcldeveloper
چهارشنبه 18 فروردین 1389, 19:42 عصر
InnoSetup خودش راست به چپ را پشتیبانی میکنه، و نیازی به نصب فایل خاصی نیست. شما زبان پروژه را فارسی یا عربی یا Hebrew انتخاب کنید، فایل Setup ساخته شده خودش راست-به-چپ میشه.
hamid-nic
چهارشنبه 18 فروردین 1389, 22:51 عصر
InnoSetup خودش راست به چپ را پشتیبانی میکنه، و نیازی به نصب فایل خاصی نیست. شما زبان پروژه را فارسی یا عربی یا Hebrew انتخاب کنید، فایل Setup ساخته شده خودش راست-به-چپ میشه.
من این کار را کردم اما نشد فایل های تصویر را ضمیمه کردم .
متن ها انگار از چپ به راست نوشته می شوند !
hamid-nic
چهارشنبه 18 فروردین 1389, 23:46 عصر
جناب آقای کشاورز منظور من این فایل بود که در لینک زیر قابل دریافت است :
لینک سایت (http://www.parmaja.com/projects/innosetup/)
خیلی ممنون .
vcldeveloper
پنج شنبه 19 فروردین 1389, 00:17 صبح
جناب آقای کشاورز منظور من این فایل بود که در لینک زیر قابل دریافت است
اون برنامه مربوط به زمانی بود که InnoSetup از راست به چپ پشتیبانی نمی کرد. از زمانی که InnoSetup از راست به چپ پشتیبانی میکنه، دیگه نیازی به اون برنامه نیست.
علت اینکه شما Setup را راست به چپ نمی بینید این هست که InnoSetup را برای راست به چپ تنظیم نکردید.
در Script مربوط به Setup خودتان باید این کد را اضافه کنید:
[LangOptions]
RightToLeft=Yes
AliReza Vafakhah
سه شنبه 13 تیر 1391, 18:06 عصر
دوستان شرمنده که تاپیک رو بعد از 2 سال آوردم بالا.
آقای کشاورز چگونه میشه زبان انتخاب شده در کادر انتخاب زبان رو تشخیص داد و بعد از تشخیص RightToLeft=Yes مقدار دهی کنیم (البته اگر زبان فارسی بود)
تشکر
hamid-nic
سه شنبه 13 تیر 1391, 18:33 عصر
با استفاده از تابع ActiveLanguage می توانید زبان فعال را بدست آورید .
Prototype:
function ActiveLanguage: String;
Description:
Returns the name of the active language.
AliReza Vafakhah
چهارشنبه 14 تیر 1391, 00:58 صبح
میشه یه مثال بزنید.
آخه نمی دونم چگونه در بخشی کدونیسی ازش استفاده کنم. به عنوان مثال در کد زیر جهت تست تابع هیچ پیغامی نمایش داده نمیشه ، در صورتی که حالت چندگانه زبان هست و زبان مورد نظر انتخاب شده.
[Code]
begin
MsgBox(ActiveLanguage, mbInformation, MB_OK);
end.
hamid-nic
چهارشنبه 14 تیر 1391, 09:11 صبح
باید توی procedure مربوطه (جایی که قراره نمایش داده بشه) اون را فراخوانی کنید . همین طوری که اصلا اجرا نمیشه .
AliReza Vafakhah
چهارشنبه 14 تیر 1391, 22:55 عصر
بلاخره با این کد تونستم زبان انتخاب شده رو شناسایی کنم.
[code]
procedure CurPageChanged (CurPageID: Integer);
begin
if (CurPageID = 1) then
if ActiveLanguage='English' then
begin
MsgBox('en.', mbInformation, MB_OK);
end
else
if ActiveLanguage='Persian' then
begin
MsgBox('fa.', mbInformation, MB_OK);
//ChangeBidiMode
end;
end;
حالا چه طوری RightToLeft رو با توجه به زبان انتخاب شده تغییر بدم؟
Felony
یک شنبه 01 مرداد 1391, 12:54 عصر
بلاخره با این کد تونستم زبان انتخاب شده رو شناسایی کنم.
[code]
procedure CurPageChanged (CurPageID: Integer);
begin
if (CurPageID = 1) then
if ActiveLanguage='English' then
begin
MsgBox('en.', mbInformation, MB_OK);
end
else
if ActiveLanguage='Persian' then
begin
MsgBox('fa.', mbInformation, MB_OK);
//ChangeBidiMode
end;
end;
حالا چه طوری RightToLeft رو با توجه به زبان انتخاب شده تغییر بدم؟
مگه این کد جواب نمیده ؟!
procedure CurPageChanged (CurPageID: Integer);
begin
if (CurPageID = 1) then
if ActiveLanguage='English' then
begin
[LangOptions]
RightToLeft=No
end
else
if ActiveLanguage='Persian' then
begin
[LangOptions]
RightToLeft=Yes
end;
end;
hamid-nic
یک شنبه 01 مرداد 1391, 13:25 عصر
section ها را نمیشه این طوری فراخوانی کرد و دسترسی بهشون داشت !
hamid-nic
سه شنبه 28 شهریور 1391, 15:39 عصر
کافیه این قطعه کد را اضافه کنید تا درست بشه :
[LangOptions]
farsi.RightToLeft=yes
منظور از کلمه farsi در بالا همون زبان که در زیر تعریف شده:
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "farsi"; MessagesFile: "compiler:Languages\Farsi.isl"
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.