• 0
sky19

سؤال حول برمجة الأزرار

سؤال

السلام عليكم
عندي زرين Button 1 & 2
عند عمل Procedure
مع العلم ان الزر 1 انا من يضغط عليه اريد ان اجعل الزر 2 ينفذ تلقائيا بعد وقت احدده ماذا افعل ؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

4 إجابة على هذا السؤال .

  • 0

وعليك السلام

 

تحت الزر واحد

اكتب

....sleep(5000);button2.click;

بعد خمس ثواني من الضغط على الزر الأور سينفذ الزر الثاني

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

هل يوجد حل اخر بدون مكون تيامير و sleep(5000);

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

 

تفضل الطريقة وهي من خلال إستعمال دوال 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.



إن اشكل عليك شيء تفضل بالسؤال
 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

طريقة جملية أخي

 

أنا أستعمل في برامجي thread

 

 

يعني بالاختصار تنشأ ثريد عند الضغط على الزر الأول ، وتدع برنامجك يكمل عمله في ذلك الوقت يقوم هذا الثريد بحساب الوقت ثم ينفذ الزر الثاني

تم تعديل بواسطه أحمد أبو عبد البر
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .