دوستان چجوری میتونم توی دلفی 7 به کاربر پیام بدم : لطفا منتظر بمانید
به صورتی که یس یا نو یا کنسل نداشته باشه پیام ظاهر بشه و بدون اینکه کاربر کاری بکنه اتومات بعد از یک ثانیه پیام از صفهه پاک بشه
دوستان چجوری میتونم توی دلفی 7 به کاربر پیام بدم : لطفا منتظر بمانید
به صورتی که یس یا نو یا کنسل نداشته باشه پیام ظاهر بشه و بدون اینکه کاربر کاری بکنه اتومات بعد از یک ثانیه پیام از صفهه پاک بشه
سلام.
یکی از راههای خوبش اینه که یک فرم برای این کار درست کنید و اون رو شومودال کنید.
در فرم هم از یک تایمر استفاده کنید برای بسته شدن.
توابع تبدیل تاریخ با دقت 5000 سال
پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840
دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/
نرم افزار پخش مویرگی
فرض کن برنامه قراره یک پردتزش انجام بده که چند دقیقه زمان بره و هنگام پردازش میخام پیام منتظر بمانید نمایش داده بشه
با شومودال و اجرای فرم جدید فرم قبلی پردازش استپ میشه و بعد از بسته شدن فرم جدید و بازگشت به فرم قبلی پردازش تازه شروع میشه
این راهکاری که شما گفتین مناسب این نیست
procedure CloseMessageBox(AWnd: HWND; AMsg: UINT; AIDEvent: UINT_PTR;
ATicks: DWORD); stdcall;
var
Wnd: HWND;
begin
KillTimer(AWnd, AIDEvent);
Wnd := GetActiveWindow;
if IsWindow(Wnd) then
PostMessage(Wnd, WM_CLOSE, 0, 0);
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var
TimerId: UINT_PTR;
begin
TimerId := SetTimer(0, 0, 3 * 1000, @CloseMessageBox); // زمان مورد نظر را اینجا تنظیم کنید
Application.MessageBox('... نرم افزار در حال پرداش درخواست می باشد','اخطار', 0);
KillTimer(0, TimerId);
end;
متاسفانه خطا میده در دلفی 7
2022-02-01_8-43-07.jpg
procedure CloseMessageBox(AWnd: HWND; AMsg: UINT; AIDEvent: DWORD;
ATicks: DWORD); stdcall;
var
Wnd: HWND;
begin
KillTimer(AWnd, AIDEvent);
Wnd := GetActiveWindow;
if IsWindow(Wnd) then
PostMessage(Wnd, WM_CLOSE, 0, 0);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
TimerId: UINT_PTR;
begin
TimerId := SetTimer(0, 0, 3 * 1000, @CloseMessageBox); // زمان مورد نظر را اینجا تنظیم کنید
Application.MessageBox('... نرم افزار در حال پرداش درخواست می باشد','اخطار', 0);
KillTimer(0, TimerId);
end;
TimerId: UINT_PTR;
از این خطا میگیره و نوعشو کردم اینتیجر جواب داد
فقط یه باتن اوکی زیر پیام نمایش میده اونو چجوری میشه حذف کرد که فقط پیام و نشون بده و بعد چند ثانیه بسته بشه و باتنی برای بستن وجود نداشته باشه
به این شکل تعریف اش کنید : در دلفی 7 مشکل حل خواهد شد.
type
UINT_PTR = Cardinal;
procedure CloseMessageBox(AWnd: HWND; AMsg: UINT; AIDEvent: DWORD;
ATicks: DWORD); stdcall;
var
Wnd: HWND;
begin
KillTimer(AWnd, AIDEvent);
Wnd := GetActiveWindow;
if IsWindow(Wnd) then
PostMessage(Wnd, WM_CLOSE, 0, 0);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
TimerId: UINT_PTR;
begin
TimerId := SetTimer(0, 0, 3 * 1000, @CloseMessageBox); // زمان مورد نظر را اینجا تنظیم کنید
Application.MessageBox('... نرم افزار در حال پرداش درخواست می باشد','اخطار', 0);
KillTimer(0, TimerId);
end;
من باشم راحت از یک پنل استفاده می کنم