PDA

نسخه کامل مشاهده نسخه کامل : درخواست : يه Messagebox ي ميخواهم كه كاربر نتونه بيشتر از 7 كاراكتر وارد كنه



hp1361
28-08-2006, 17:34
سلام

دوستان منيه برنامه نوشتم كه بايد از كاربر بوسيله پنجره اي غير از پنجره اصلي اطلاعات رو بگيره . از mesagebox

استفاده مي كنم اما دو تا مشكل باهاش دارم

1- كاربر نبايد بيشتر از 7 كاراكتر اطلاعات وارد كنه . چطور كاربر رو محدود كنم
2- فونت اون جالب نيست (البته اين خيلي ضروري نيست اما از زيبايي برنامه كم ميكنه)

دوستاني كه ميتونن در اين موارد كمك كنن و اگه نميشه كاري كرد راهي ديگه براي گرفتن اطلاعات معرفي كنن


ممنون و منتظرم

codemaster
28-08-2006, 18:22
اگه منظورت از Message Box یه فیلد باشه که کاربر بتونه توش تایپ کنه میتونی کارهای زیر رو انجام بدی:

یک MaskEdit بذاری و Editmask اون رو بصورت


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

تنظیم کنی.

بعد دیگه کاربر بیشتر از 7 کاراکتر نمیتونه تایپ کنه!

:biggrin:

hp1361
28-08-2006, 19:13
سلام

نه دوست من اره اشتباه از من بود

منظورم Inputbox ست

ممنون و منظرم

Admiral
28-08-2006, 20:54
نظر من اینه که یک فرم به شکل InputBox درست کن.

حالا کلیه ی خصوصیاتش رو میتونی خودت تعیین کنی.

با ShowModal هم فرم رو نمایش بده.

موفق باشید.

soldier
28-08-2006, 21:08
سلام
خوب مي توني از هفت تا كاراكتر اول استفاده كنيد و به بقيه كار نداشته باشي

hp1361
28-08-2006, 21:20
سلام دوباره

دوستان ميخواستم بدونم كومپوننتي نيست كه اوپشن هايي مثل اين چيزي كه من مي خواهم بده

ممنون

مرد مباح
28-08-2006, 22:20
من تا حالا نديدم.
ولي راحتترين كارت اينه كه توي KeyPress كد بنويسي :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

متغير i هم توي formShow مساوي با 0 قرار بده.
موفق باشي و خبرشو بده.

hp1361
29-08-2006, 16:23
سلام

از تركيب ايده هاي سولجر و ادميرال استفاده ميكنم

يه فرم براي دريافت اطلاعات و همچنين دستور فرمت براي دريافت عدد

راستي دوستان من با دستور showmodule فرمم رو نمايش ميدم اما اگه كاربر اينتر رو قبل از كامل كردن اديت باكس ها بزنه فرم بسته ميشه چيكار كنم كه تا اديت ها كامل نشدن فرم بسته نشه ؟

ممنون

Admiral
29-08-2006, 16:49
برای Form2 توی onclosequery مقدار Canclose رو False کن.

فقط وقتی توی Edit هفت کاراکتر وارد شده بود مقدار Canclose رو True کن.

hp1361
29-08-2006, 16:55
ممنون دوست عزيز

Mahmood_N
29-08-2006, 17:02
چرا فرمت بسته میشه ؟
دکمه ای که گذاشتید رو خاصیت Kind ش چیه ؟
یعنی توی خاصیت Kind چی وارد کردید ، ویا آیا مقدار خاصیت Default دکمتون روی True تنظیم شده ؟
اگه جوابها رو بدید مشکلتون راحت حل می شه ...

hp1361
29-08-2006, 18:09
خاصيت kind اون bkcustom هست و default اون هم yes

default اون رو به no تغيير دادم مشكل بسته شدن رد شد اما هنوز نميتونم دستور بسته شدن در صورت كامل بودن اديت باكس ها رو بنويسم

Mahmood_N
29-08-2006, 18:40
سلام
[/QUOTE]اما هنوز نميتونم دستور بسته شدن در صورت كامل بودن اديت باكس ها رو بنويسم[QUOTE]
براي اين كار به صورت زير عمل كن :
1. يه متغير از نوع Integer بساز ...
2. به جای ادیت از MaskEdit استفاده کن و همونطور که قبلا گفته شد مقدار Mask اون رو برای 7 رقم مقدار دهی کن.
3. موقع زدن دکمه تایید یا ... ( دکمه ای که برنامت رو می بنده ) متغییری که از نوع Integer ساختی رو بهش مقدار زیر رو بده :
برای مثال :
var
I: Integer;
begin
I:= MaskEdit1.GetTextLen;
end;
به وسیله کد بالا تعداد رقمها یا حروف داخل MaskEdit میشه مقدار متغیر I که تعریف کردی ...
حالا چک کن اگه I کمتر از 7 بود فرم رو نبند در غیر این صورت فرم رو ببند و بقیه ماجرا ...
اگه به مشکل برخوردی بگو ...
موفق باشی ...

hp1361
29-08-2006, 19:07
يه كمي راهنماي دلفي رو خوندم كه گفته بود اگه بر روي فرمي كه با دستور showmodale نمايش داده ميشه يه دكمه باشه و خاصيت modaleresult اون mrok باشه وقتي كاربر دكمه رو فشار بده فرم خود بخود بسته ميشه و براي اينكه بسته نشه اين خاصيت رو به mrnone تغيير دادم و در رويداد onclick دكمه نوشتم (البته اين شرط براي نمونه است )



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

و مشكل حل شد

حالا دو تا سوال دارم
1- ايا اين دستواتي كه من نوشتم درسته منظورم show و close هست
2-بقيه گزينه هايي كه مربوط به modaleresult دكمه بود چه معني و كاربردي دارن ؟

ممنون و دستت درد نكنه آقا محمود عزيز

Mahmood_N
30-08-2006, 01:20
سلام

1- ايا اين دستواتي كه من نوشتم درسته منظورم show و close هست
2-بقيه گزينه هايي كه مربوط به modaleresult دكمه بود چه معني و كاربردي دارن ؟
1. آره درسته ( ولي مربوط به همون كارتونه ؟ ) راستش متوجه نشدم مي خوايد چي كار كنيد ( چي رو مي خوايد نشون بديد با Show ؟
2. من هم اطلاعات زیادی در مورد همه این مقدارها ندارم ولی ...
ببینید ...
هر فرمی که به صورت مودال نشون داده می شه یک ModalResult داره ...
وقتی شما یک دکمه روی یک فرم می زارید و اون رو به روش مودال نشون می دید ، و اگه ModalResult دکمه شما روی مثلا mrOK باشه ، بعد از کلیک رو اون دکمه ModalResult فرمتون هم به همون تغییر پیدا می کنه ...
با این روش می تونید بفهمید که توی اون فرمی که مودال نشون دادید چه دکمه ای زده شده ...
من تقریبا همین ها رو می دونستم ...
بازم اگه سئوالی بود در خدمتم ...
موفق باشید ...

hp1361
30-08-2006, 19:26
ممنون و متشكرم