السلام عليكم
عندي زرين Button 1 & 2
عند عمل Procedure
مع العلم ان الزر 1 انا من يضغط عليه اريد ان اجعل الزر 2 ينفذ تلقائيا بعد وقت احدده ماذا افعل ؟
سؤال حول برمجة الأزرار
وعليك السلام
تحت الزر واحد
اكتب
....sleep(5000);button2.click;
بعد خمس ثواني من الضغط على الزر الأور سينفذ الزر الثاني
إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة
فما أحوجني إلى دعوة صالحة من أخ لي كريم
أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز
هل يوجد حل اخر بدون مكون تيامير و sleep(5000);
السلام عليكم
تفضل الطريقة وهي من خلال إستعمال دوال WinAPI :
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
IdFunction : Cardinal;
implementation
{$R *.dfm}
procedure PressNextButton();
begin
Form1.Button2Click(Form1.Button2);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
form1.Caption := '1';
IdFunction := SetTimer(0,0,4000,@PressNextButton)
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
form1.Caption := '2222' + Form1.Caption;
KillTimer(0,IdFunction)
end;
end.
إن اشكل عليك شيء تفضل بالسؤال
طريقة جملية أخي
أنا أستعمل في برامجي thread
يعني بالاختصار تنشأ ثريد عند الضغط على الزر الأول ، وتدع برنامجك يكمل عمله في ذلك الوقت يقوم هذا الثريد بحساب الوقت ثم ينفذ الزر الثاني
تم تعديل هذه المشاركة بواسطة أحمد أبو عبد البر في 4 فبراير 2014 في 21:46
إذا رأيتموني غبت فأطلت الغياب فربما أكون قد انتقلت عن الدنيا إلى الآخرة
فما أحوجني إلى دعوة صالحة من أخ لي كريم
أول برنامج عربي للمحاسبة والتجارة وإدراة المخازن يعمل على اللينكس والماك والويندوز
