PDA

View Full Version : مشكل با نتيجه MessageDlg



NOROOZY
سه شنبه 27 اردیبهشت 1384, 08:35 صبح
سلام
من کد زیر را در برنامه ام نوشتم ولی شرط دستورif همیشه False است چه کلیدyesرا انتخاب کنم چه کلید no را لطفا راهنمائیم کنید


if MessageDlg('Message',mtInformation,mbYesNo,0,mbyes )= mrYes then
begin
try
DataModule2.TBL_Sefaresh.Delete();
except end;
end;
MaskEdit1.SetFocus;
End;
در ضمن در DBCombo Box بعد از تعیین دیتا سورس و دیتا فیلد چه کار دیگری باید کرد که لیست دیده شود

Mah
سه شنبه 27 اردیبهشت 1384, 10:38 صبح
سلام :
ببین این کد مشکلت را حل می کنه .
برای لیست یک فیلد در Combobox بهتر است کل فیلد را بخوانی و در آن Load کنی .

V60
سه شنبه 27 اردیبهشت 1384, 11:08 صبح
سلام
آقای نوروزی
من mesdlg را اینجوری می نویسم و جواب می ده
نمی دانم شما چه جوری نوشته ای و ایراد هم نمی گیره

MessageDlg('ok',mtInformation,[mbyes,mbno],0);
امیدوارم کمکت کنه
همین را در شرط قرار بده و برابر مقدار mryes برای من که جواب می ده
اگر جواب نداد بگو

NOROOZY
سه شنبه 27 اردیبهشت 1384, 14:12 عصر
نه برادر جواب نداد :cry: مثل اینکه اشکال در فایل من است چون در یک اپلیکشن دیگر این کدها جواب میدن ولی در برنامه من جواب نمیده ازتون ممنونم.
ولی در مورد کامبو باکس چیزی ننوشتید

V60
سه شنبه 27 اردیبهشت 1384, 14:46 عصر
فکر کنم می خواهی در dbcombobox یک لیستی از رکوردهای یک جدول دیگر را داشته باشی؟ درست است؟
اگر اینجوری باشد بایدبگم که کلی در اشتباهی :mrgreen: شما باید از کامپوننت DBLookupComboBox استفاده کنی در این صورت به شما اجازه می دهد که یک دیتاسورس و یک فیلد را به عنوان مرجع انتخاب کنی و همچنین یک فیلد و دیتاسورس به عنوان گیرنده
امیدوارم مشکلت حل بشه
راستی برای اون مسیج دیالوگ هم من توی یک برنامه نتوانستم حلش کنم اون وقت اینجوری حلش کردم

w:word;
begin
w:=mrno;
w:=MessageDlg('ok',mtInformation,[mbyes,mbno],0) ;
if w=mryes then
...
البته نمی دونم چرا :گیج:
ولی اینجورکی جواب داد

NOROOZY
چهارشنبه 28 اردیبهشت 1384, 14:20 عصر
دوست عزیز DBLookUpCombobox یک مبدا داره و یک مقصد یعنی از یک جدول لیست رو میبینی و در جدول دیگر قرار میدهی .
من میخواهم از یک جدول لیست رو ببینم و انتخاب کنم و از خاصییت Text همان دی بی کومبو باکس مقدار رو بردارم امیدوارم منظورم رو رسونده باشم :)

V60
چهارشنبه 28 اردیبهشت 1384, 17:35 عصر
ببین اومدی نسازی :mrgreen:

procedure TForm1.ADOTable1AfterOpen(DataSet: TDataSet);
begin

ComboBox1.Clear;
ADOTable1.First;
while not (ADOTable1.Eof) do
begin
ComboBox1.Items.add(ADOTable1id.asstring);
ADOTable1.Next;
end;



end;
اینجوری اون کاری را که می خواهی می توانی انجام دهی
دقت کن از کمبوی خالی استفاده کردم نه از دی بی کمبو امیدوارم گویا باشد :oops:

quack
چهارشنبه 28 اردیبهشت 1384, 20:58 عصر
mryes مقدار 6 بر میگردونه جالبه مثال خود دلفی رو هم اگه copy past کنن جواب نمیده

من بجای mryes عدد استفاده میکنم. yes=3, no=4 و ....

بقیه روهم میشه اینطوری بدست آورد:

Edit1.Text:= inttostr(MessageDlg('test',mtConfirmation, [mbYes, mbNo], 0, mbYes) );

vcldeveloper
پنج شنبه 29 اردیبهشت 1384, 05:07 صبح
mryes مقدار 6 بر میگردونه جالبه مثال خود دلفی رو هم اگه copy past کنن جواب نمیده

من بجای mryes عدد استفاده میکنم. yes=3, no=4 و ....



...
{ TModalResult values }

const
mrNone = 0;
mrOk = idOk;
mrCancel = idCancel;
mrAbort = idAbort;
mrRetry = idRetry;
mrIgnore = idIgnore;
mrYes = idYes;
mrNo = idNo;
....

{$EXTERNALSYM IDOK}
IDOK = 1; ID_OK = IDOK;
{$EXTERNALSYM IDCANCEL}
IDCANCEL = 2; ID_CANCEL = IDCANCEL;
{$EXTERNALSYM IDABORT}
IDABORT = 3; ID_ABORT = IDABORT;
{$EXTERNALSYM IDRETRY}
IDRETRY = 4; ID_RETRY = IDRETRY;
{$EXTERNALSYM IDIGNORE}
IDIGNORE = 5; ID_IGNORE = IDIGNORE;
{$EXTERNALSYM IDYES}
IDYES = 6; ID_YES = IDYES;
{$EXTERNALSYM IDNO}
IDNO = 7; ID_NO = IDNO;

در نتیجه mrYes=idYes=6 هیچ مشکلی نداره و می تونید بنویسید:


if MessageDlg('A Test',mtInformation,[mbYes,mbNo],0) = mrYes then
beep;

quack
یک شنبه 01 خرداد 1384, 20:03 عصر
اااااااااا راست میگی . ok و yes حواسم نبود 2 تاس :mrgreen:

javidtaheri
دوشنبه 02 خرداد 1384, 12:19 عصر
من با ئmrOk امتحان کردم درست بود دلیلش را نمیدونم شما با این تغییر( mrcancel ,mrOk) ببین چطور میشه

NOROOZY
شنبه 07 خرداد 1384, 15:59 عصر
آقای وی60
آقا چرا من هر چی میگم شما یه جور دیگه جواب میدی :cry:
بابا پس این دی بی دی بی کامبو باکس به چه دردی میخوره :mad:

V60
جمعه 13 خرداد 1384, 14:20 عصر
هر چیزی یک راهی داره
از دی بی کامبو بوکس برای این استفاده می کنند بشود از یک لیست پایین افتادنی موردی را انتخاب کنی و در یک فیلد از یک جدول قرار بدهی
از دی بی لوک آپ کمبو بوکس هم استفاده می کنند به خاطر اینکه بشود از یک جدول یک فیلد را انتخاب کنند و در جدول دیگری قرار بدهند
اگر می خواهی از یک جدول لیستی تهیه کنی و از خاصیت text آن استفاده کنی کاری که من گفتم یکی از روشهای ساده است وگرنه باید از کاپوننتهای بازاری استفاده کنی که باید بری سر اغ ریس :wink:

لطفا ادب رو رعایت کنید.
کشاورز

shahrokhian
چهارشنبه 25 شهریور 1388, 19:32 عصر
سلام...

نباید از qdialogs توی uses استفاده کرده باشی...در اون صورت مشکل حل میشه.:قلب: