PDA

View Full Version : بهم ریختن شکل فرمها در یک کامپیوتر دیگر



parhizkar2000
دوشنبه 19 تیر 1385, 12:09 عصر
با سلام
من یک برنامه تو خونه در ویندور ایکس پی نوشتم و وتمام فرمها وپیامها در جای خودشون در ست نمایش داده می شدند ولی بعد از اینکه برنامه رو بر روی چند کامپیوتر دیگه نصب کردم تو همشون اندازه فرمها کوچک شده بودند و خیلی جای دکمه ها و دیگر چیزها نا فرم شده بودند . ضمنا تو همون رزولیشن 600* 800 هموشون رو قرار داده بودم و تو کامپیوترهای مقصد هم 600*800 بود به نظر شما مشکل کجاست .؟

shobair
دوشنبه 19 تیر 1385, 14:16 عصر
با سلام
من یک برنامه تو خونه در ویندور ایکس پی نوشتم و وتمام فرمها وپیامها در جای خودشون در ست نمایش داده می شدند ولی بعد از اینکه برنامه رو بر روی چند کامپیوتر دیگه نصب کردم تو همشون اندازه فرمها کوچک شده بودند و خیلی جای دکمه ها و دیگر چیزها نا فرم شده بودند . ضمنا تو همون رزولیشن 600* 800 هموشون رو قرار داده بودم و تو کامپیوترهای مقصد هم 600*800 بود به نظر شما مشکل کجاست .؟

سلام
احتمالا تنظیمات ویندوز خودتون با بقیه فرق داره. منظورم Appearance منوی Display Options هستش.

شبیر

parhizkar2000
جمعه 13 مرداد 1385, 23:12 عصر
نه فکر نکنم .چون هردوتا تنظسماتشون مثل همه . ممکنه تو نسخه ویندوزها باشه ؟

ali_divsalar
شنبه 14 مرداد 1385, 06:35 صبح
مشکلتون با نصب فونتهای ویندوز تو کامپیوتریکه مشکل داره حل می شه.ولی هنوز نفهمیدم کدوم فونت تو این مسئله تاثیر می زاره تا تو برنامه نصب قرارداد.
من این مشکل رو قبلا مطرح کردم ولی نتونستم جواب بگیرم

Delphi_OnLine999
پنج شنبه 26 مرداد 1385, 01:25 صبح
شاید مشکل با مانیتور شما است ..شاید مدل قدیمی است.

فرزاد دلفی باز
پنج شنبه 26 مرداد 1385, 01:31 صبح
فکر نکنم ربطی به مانیتور داشته باشه احتمالا به ویندوز مربوطه

sma_mohseni
یک شنبه 05 شهریور 1385, 18:23 عصر
منم این مشکل رو داشتم
آخرش مجبور شدم روی کامپیوتر اصلی همه فرمهام رو میزون کنم. از یکی شنیدم میگفت مربوط به bidimode میشه ولی برای من که جواب نداد.

MNosouhi
یک شنبه 05 شهریور 1385, 20:01 عصر
1-فونتهایی که در برنامتون استفاده شده در کامپیوتر مقصد هم باید نصب شود.
2-تنظیمات فارسی به صورت کامل انجام شده باشد.
3-خاصیت Position فرمها را روی poScreenCenter قرار دهید .
4-بسته به اینکه خاصیت BidiMode شما چه گزینه ای باشد و عنصر شما در کجای صفحه قرار گرفته باشد ، خاصیت Anchors رو تغییر دهید (با توجه به اینکه فارسی زبان ها خاصیت Bidimode رو RightToLeft قرار میدن در خاصیت Anchors گزینه AkLeft باید False و در عوض گزینه AkRight باید True شود. )

ali_divsalar
سه شنبه 07 شهریور 1385, 12:43 عصر
1-فونتهایی که در برنامتون استفاده شده در کامپیوتر مقصد هم باید نصب شود.
2-تنظیمات فارسی به صورت کامل انجام شده باشد.
3-خاصیت Position فرمها را روی poScreenCenter قرار دهید .
4-بسته به اینکه خاصیت BidiMode شما چه گزینه ای باشد و عنصر شما در کجای صفحه قرار گرفته باشد ، خاصیت Anchors رو تغییر دهید (با توجه به اینکه فارسی زبان ها خاصیت Bidimode رو RightToLeft قرار میدن در خاصیت Anchors گزینه AkLeft باید False و در عوض گزینه AkRight باید True شود. )
سلام
مشکل کوچک یا بزرگ شدن فرمها و متنهاست.
اگه دقت کرده باشید به عرضتون رساندم که با نصب فونتها مشکل حل می شه ولی راه حل داخل پرانتز مربوط به شماره 4 تون رو امتحان نکردم.درهرصورت ممکنه با شناسایی یک یا چند فونت خاص و قرار دادن اون فونت (ها) در برنامه نصب مشکل حل شه.اگه می شه دراین مورد نظرتونو بگید

MNosouhi
سه شنبه 07 شهریور 1385, 14:50 عصر
همشون اندازه فرمها کوچک شده بودند و خیلی جای دکمه ها و دیگر چیزها نا فرم شده بودند


اگه دقت کرده باشید به عرضتون رساندم که با نصب فونتها مشکل حل می شه


درهرصورت ممکنه با شناسایی یک یا چند فونت خاص و قرار دادن اون فونت (ها) در برنامه نصب مشکل حل شه.اگه می شه دراین مورد نظرتونو بگید

با این کار مشکل تغییر شکل فونتها حل میشه . فقط کافیه که فونتهایی که در برنامتون استفاده کرده اید ، یعنی در خاصیت Font عناصر استفاده کرده اید در کامپیوتر مقصد نصب شوند

ali_divsalar
چهارشنبه 08 شهریور 1385, 07:29 صبح
با این کار مشکل تغییر شکل فونتها حل میشه . فقط کافیه که فونتهایی که در برنامتون استفاده کرده اید ، یعنی در خاصیت Font عناصر استفاده کرده اید در کامپیوتر مقصد نصب شوند
مشکل سر اینه که، علی رقم اینکه فونتهای بکار رفته را تو برنامه نصب گذاشتیم ، این مشکل همچنان وجود داره .ظاهرا فونتهایی مدنظر هستند که ما استفاده نکردیم و انگار مربوط به خود فرمها می باشند و مستقیما اسم اونهارو نمی بینیم

MNosouhi
چهارشنبه 08 شهریور 1385, 11:57 صبح
ظاهرا فونتهایی مدنظر هستند که ما استفاده نکردیم و انگار مربوط به خود فرمها می باشند و مستقیما اسم اونهارو نمی بینیم

اینی که گفتید منطقی نیست ، لطف کنید یه نمونه برنامه که مشکل مذکور رو داشته باشه بزارید تا بررسی کنیم.

ali_divsalar
چهارشنبه 08 شهریور 1385, 12:54 عصر
اینی که گفتید منطقی نیست ، لطف کنید یه نمونه برنامه که مشکل مذکور رو داشته باشه بزارید تا بررسی کنیم.
ممکنه حق باشما باشه. ظاهرا غیرمنطقی به نظر می رسه. ولی اینم عجیبه که من تمام فونتهای مورد استفاده ام رو تو برنامه نصبم گذاشته باشم ، در حالیکه پس از نصب سیستم اندازه فرم ،کوچک و Image ی هم که تو فرم گذاشتم کوچکتر از فرم بشه(کل فرم رو نگیره و زمینه اصلی فرم معلوم بشه) . جالب اینجاست که روی بعضی کامپیوتر ها، فرم، بیش از اندازه بزرگ می شه بطوری که scrole روی فرم ایجاد می شه و بایستی بواسطه اون تمام بخشهای فرم رو ببینیم . بااین حال ممکنه Image ی هم که تو فرم گذاشتم مثل توضیح بالا همچنان کل فرم رو پر نکنه.

به هر حال بانصب فونتها بطور جداگانه این مشکل حل می شه و این یه عیب برای یه سیستم می تونه به حساب بیاد.

نمونه اش رو اینجا ندارم که اینجا بزارم.

MNosouhi
چهارشنبه 08 شهریور 1385, 14:21 عصر
Image ی هم که تو فرم گذاشتم کوچکتر از فرم بشه

خاصیت Alighn کامپوننت Image رو به alClient تغییر دهید .


بانصب فونتها بطور جداگانه این مشکل حل می شه

در اینصورت ترتیبی دهید که در اولین اجرای برنامه ، خود برنامتون فونتهای لازم رو نصب کند (برای اینکار می تونید از رجیستری و یا یک فایل متنی ساده استفاده کنید ) . این هم تابع لازم برای نصب فونت :

procedure MFAddFont(FontFile : string);
var
DestFile : string;
FontDir : string;
begin
//Find Fonts directory
SetLength(FontDir,Max_Path);
GetWindowsDirectory(PAnsiChar(FontDir),Max_Path);
SetLength(FontDir, StrLen(PAnsiChar(FontDir)));
FontDir := FontDir + '\Fonts\';
//Copy font file to the Fonts directory
DestFile := FontDir + ExtractFileName(FontFile);
CopyFile(PAnsiChar(FontFile),PAnsiChar(DestFile),T rue);
//True-Type fonts need a header file to be created before adding them to system
if ExtractFileExt(FontFile) = '.ttf' then
//Create the header file (.fot)
CreateScalableFontResource(0,
PAnsiChar(Copy(DestFile,1,Length(DestFile) - 3) + 'fot'),
PAnsiChar(DestFile),
nil);
//Add font to system
AddFontResource(PAnsiChar(DestFile));
//Notify other windows about new font
SendMessage(HWND_BROADCAST,WM_FONTCHANGE,0,0);
end;

parhizkar2000
شنبه 11 شهریور 1385, 22:53 عصر
مشکل سر نصب فونتهای بود که تو برنامه از شون استفاده کردم . چون با پاک کردن ویندوز ونصب دوباره اون قبل از اینکه فونتها رو نصب کنم . اندازه فرمها کوچک و بهم ریخته بود ولی بعد از نصب اونها اندازه شون درست شد . تو کامپیوتری دیگه هم امتحان کردم همین بود .
با تشکر فراوان از لطف دوستان

sma_mohseni
یک شنبه 12 شهریور 1385, 07:36 صبح
آقا من میگم مشکل از فونت ها نیست
چون من این مشکل را داشتم ولی نصب فونت هیچ تاثیری نداشت