PDA

View Full Version : سوال در مورد پنجره ShowMessage



EBRAHIMJAN
شنبه 27 آذر 1389, 20:21 عصر
سلام
من مي خواستم ببينم چطور ميتونم كپشن پنجره ShowMessage رو تغيير بدم به عنوان مثال :
ShowMessage(‘Salam’);
با اجراي پيغام بالا پنجره ايي ظاهر ميشه كه تو عنوان اون نوشته Project1 مي خواستم ببينم چطور ميتونم اسمش رو تغيير بدم
با سپاس

Felony
شنبه 27 آذر 1389, 20:48 عصر
باید از تابع MessageBox استفاده کنید ، مثلا :


MessageBox(0, 'Sample Message ...', 'Caption here', MB_OK+ MB_ICONINFORMATION);

EBRAHIMJAN
شنبه 27 آذر 1389, 21:34 عصر
باید از تابع MessageBox استفاده کنید ، مثلا :


MessageBox(0, 'Sample Message ...', 'Caption here', MB_OK+ MB_ICONINFORMATION);
آيا امكان گذاشتي آيكن براي قسمت كپشن پنجره وجود داره يا نه؟

يه سوال ديگه هم داشتم من يه فرم دارم كه توش دوتا TEdit دارم كه كادر اولي ففط مختص وارد كردن نام و كادر دومي براي وارد كردن شماره هست حالا مي خوام براي اين دوتا TEdit دو تا تابع InputBox جداگانه تعريف كنم كه با كليك بر روي TEdit اون تابع فراخواني بشه و بتونم كاراكتر ها رو توش وارد كنم حالا مشكل من از اينجا شروع ميشه كه اگه تو پنجره تابع InputBox كه بايد نام را وارد كنم يه شماره وارد كنم اون رو تو كادر TEdit اولي ثبت مي كنه كه من نمي خوام اين كار رو انجام بده و فقط نام رو ثبت كنه نه شماره رو البته اين مشكل برعكسش هم صادقه مي خواستم ببينم چطور بايد اين كار رو انجام بدم؟

Felony
شنبه 27 آذر 1389, 22:51 عصر
آيا امكان گذاشتي آيكن براي قسمت كپشن پنجره وجود داره يا نه؟
خیر ، میتونید خودتون یه فرم به عنوان MessageBox طراحی کنید و براش آیکن هم در نظر بگیرید .


يه سوال ديگه هم داشتم من يه فرم دارم كه توش دوتا TEdit دارم كه كادر اولي ففط مختص وارد كردن نام و كادر دومي براي وارد كردن شماره هست حالا مي خوام براي اين دوتا TEdit دو تا تابع InputBox جداگانه تعريف كنم كه با كليك بر روي TEdit اون تابع فراخواني بشه و بتونم كاراكتر ها رو توش وارد كنم حالا مشكل من از اينجا شروع ميشه كه اگه تو پنجره تابع InputBox كه بايد نام را وارد كنم يه شماره وارد كنم اون رو تو كادر TEdit اولي ثبت مي كنه كه من نمي خوام اين كار رو انجام بده و فقط نام رو ثبت كنه نه شماره رو البته اين مشكل برعكسش هم صادقه مي خواستم ببينم چطور بايد اين كار رو انجام بدم؟
اگر منظورت رو درست متوجه شده باشم ، کد زیر رو تو رویداد OnClick شئ Edit اولت بنویس و رویداد OnClick شئ Edit دومت رو هم با رویداد OnClick شئ Edit اولی مقداردهی کن :

if Sender is TEdit then
begin
if TEdit(Sender).Name= 'Edit1' then
TEdit(Sender).Text:= InputBox('Test title', 'Enter Name :', 'Ali');
if TEdit(Sender).Name= 'Edit2' then
TEdit(Sender).Text:= InputBox('Test title', 'Enter Number :', '0123');
end;

EBRAHIMJAN
یک شنبه 28 آذر 1389, 07:25 صبح
خیر ، میتونید خودتون یه فرم به عنوان MessageBox طراحی کنید و براش آیکن هم در نظر بگیرید .
[/CODE]

من تازه كار هستم ميشه يكم بيشتر در اين مورد توضيح بدي چطور اين كار رو انجام بدم.


if Sender is TEdit then
begin
if TEdit(Sender).Name= 'Edit1' then
TEdit(Sender).Text:= InputBox('Test title', 'Enter Name :', 'Ali');
if TEdit(Sender).Name= 'Edit2' then
TEdit(Sender).Text:= InputBox('Test title', 'Enter Number :', '0123');
[/CODE]


نه درست متوجه نشدي من كدهاي بالا رو ميدونم و ازش استفاده مي كنم بگذار سوالم رو از روي كد بالا واضح تر توضيح بدم زماني كه در كادر edit اولي كليك ميكنم پنجره INputbox ظاهر ميشه كه توش نوشته علي البته به طور پيش فرض. خوب سوال من اينجاست من مي خوام اين كادر كه توش علي نوشته فقط حرف قبول كنه نه عدد. متوجه شدي چي ميگم؟

Felony
یک شنبه 28 آذر 1389, 08:30 صبح
نه درست متوجه نشدي من كدهاي بالا رو ميدونم و ازش استفاده مي كنم بگذار سوالم رو از روي كد بالا واضح تر توضيح بدم زماني كه در كادر edit اولي كليك ميكنم پنجره INputbox ظاهر ميشه كه توش نوشته علي البته به طور پيش فرض. خوب سوال من اينجاست من مي خوام اين كادر كه توش علي نوشته فقط حرف قبول كنه نه عدد. متوجه شدي چي ميگم؟
InputBox از تابع InputQuery که تو دلفی پیاده شده استفاده میکنه میتونید اون تابع رو تغییر بدید که کار سختی هم نیست یا اون مورد رو هم خودتون طراحی کنید ، یه نمونه برنامه براتون نوشتم که هر دو مورد توش پیاده شده که میتونید از ضمیمه دریافتش کنید ( البته تابع InputQuery تغییر داده نشده و InputBox به صورت یک فرم جدا طراحی شده ) .

EBRAHIMJAN
یک شنبه 28 آذر 1389, 10:11 صبح
ممنون ولي يه مشكل زماني كه پروژه رو باز ميكنم و مي خوام اجراش كنم روي اين دو خط ارور ميده و اجرا نمي شه
يكي تو قسمت project1
Application.MainFormOnTaskbar:=True;
و تو قسمت unit3
Self.Edit1.NumbersOnly:=Numberic;

يه سوال ديگه در مورد عنصر button‌هست مي خواستم ببينم با چه كدي اين دكمه رو قرار دادي كه با رفتن موس روش روشن و خاموش ميشه؟
به خاطر آپ فايل ممنونم

Felony
یک شنبه 28 آذر 1389, 14:11 عصر
اون نمونه برنامه که قرار دادم با استفاده از دلفی 2010 نوشته شده و مشکلاتی که گفتید به خاطر این هست که شما از دلفی 7 استفاده میکنید ، نمونه برنامه نوشته شده با دلفی 7 رو میتونید از ضمیمه این پست دریافت کنید .

EBRAHIMJAN
سه شنبه 30 آذر 1389, 07:27 صبح
سلام
آقا مجتبي يه سوال ديگه دارم من اگه بخوام تو فورم 1 كه شما نوشتيد :



procedure TForm1.Edit1Click(Sender: TObject);
begin
if Sender is TEdit then
begin
if TEdit(Sender).Name= 'Edit1' then
Form3.ShowModal(Sender, 'Test title', 'Enter your name :', 'Ali', False);
if TEdit(Sender).Name= 'Edit2' then
Form3.ShowModal(Sender, 'Test title', 'Enter your number :', '123', True);
end;

بيش از دو عنصر TEdit قرار بدم مي خوام ببينم وضعيت False و True عناصر چطور بايد باشد آيا بايد يكي درميان اون ها رو قرار بدم به اين صورت:




procedure TForm1.Edit1Click(Sender: TObject);
begin
if Sender is TEdit then
begin
if TEdit(Sender).Name= 'Edit1' then
Form3.ShowModal(Sender, 'Test title', 'Enter your name :', 'Ali', False);
if TEdit(Sender).Name= 'Edit2' then
Form3.ShowModal(Sender, 'Test title', 'Enter your number :', '123', True);
if TEdit(Sender).Name= 'Edit3' then
Form3.ShowModal(Sender, 'Test title', 'Enter your number :', 'Family', False);
if TEdit(Sender).Name= 'Edit4' then
Form3.ShowModal(Sender, 'Test title', 'Enter your number :', 'Phone Number', True);
end;

Felony
سه شنبه 30 آذر 1389, 07:33 صبح
اون پارامتر آخر که از نوع Boolean هست مشخص میکنه که کادر دریافت فقط عدد بپذیره یا همه کارکترها رو قبول کنه ، ربطی به یکی در میون بودن نداره !