süre verme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

süre verme

Mesaj gönderen erdogan_ozkaya »

merhaba arkadaşlar
timer nesnesine öyle bir kod yazmalıyımki
edit1 de belirttiğim saniye kadar dursun ondan sonra örnek edit2.text temizlesin
daha sonra başa al dediğimde tekrar editteki süre kadar beklesin ve edit2.text tekrar temizlesin
yardımınız için tşk. ederim.
palandoken
Üye
Mesajlar: 151
Kayıt: 16 Eki 2006 10:43
Konum: ERZURUM

Re: süre verme

Mesaj gönderen palandoken »

Kod: Tümünü seç

var
  Form1: TForm1;
  i : Integer ;

implementation

uses Math;

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
   i := i + 1 ;
   if i = StrtoInt(Edit1.Text) then
      begin
         Edit2.Clear ;
         Timer1.Enabled := False ;
      end ;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   Timer1.Enabled := True ;
   i := 0 ;
end;

end.
akıllanma , aklını başına toplama , toparlanma , kendisini derleme bu dünyaya ait bir vazife.
ahirette nasıl olsa aklın başına gelecek.
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: süre verme

Mesaj gönderen erdogan_ozkaya »

hocam ilgin ve cevabıl için teşekkür ederim fakat kod sürekli hata veriyor :)
palandoken
Üye
Mesajlar: 151
Kayıt: 16 Eki 2006 10:43
Konum: ERZURUM

Re: süre verme

Mesaj gönderen palandoken »

Timer1 in enabled ini formun onshow unda false yapın ve edit1 ede sayı girildiğinden emin olun. Hata vermeden çalışır.
akıllanma , aklını başına toplama , toparlanma , kendisini derleme bu dünyaya ait bir vazife.
ahirette nasıl olsa aklın başına gelecek.
erdogan_ozkaya
Üye
Mesajlar: 839
Kayıt: 03 Eki 2007 02:00

Re: süre verme

Mesaj gönderen erdogan_ozkaya »

Hocam aynen dediğiniz gibi yapıyorum fakat tık yok :)

Kod: Tümünü seç

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Timer1: TTimer;
    Edit1: TEdit;
    Edit2: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  i : Integer ;

implementation

{$R *.dfm}

uses Math;

procedure TForm1.Button1Click(Sender: TObject);
begin
   Timer1.Enabled := True ;
   i := 0 ;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
   i := i + 1 ;
   if i = StrtoInt(Edit1.Text) then
      begin
      Edit2.Clear ;
   Timer1.Enabled := False ;
 end ;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text:='5';    // 5 Saniye Vs.
   Timer1.Enabled := False ;
 end ;

end.
qamyoncu
Üye
Mesajlar: 266
Kayıt: 12 Tem 2008 04:30

Re: süre verme

Mesaj gönderen qamyoncu »

Kod: Tümünü seç

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Timer1: TTimer;
    Edit1: TEdit;
    Edit2: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  i : Integer = 0;

implementation

{$R *.dfm}

uses Math;

procedure TForm1.Button1Click(Sender: TObject);
begin
   Timer1.Enabled := True ;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
   i := i + 1 ;
   if i = StrtoInt(Edit1.Text) then
      begin
      Edit2.Clear ;
      Timer1.Enabled := False ;
      i:=0;
   end ;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text:='5';    // 5 Saniye Vs.
   Timer1.Enabled := False ;
end ;

end.

Sanırım ki, Timer1.enabled:=true dediğinizde direk timer1timer olayı işleniyor. İ:=0 satırı timer1timer eventından sonra işleniyor. Bu sorun yaratıyor olabilir. üstteki gibi düzeltirseniz eğer sorun dediğim sorunsa hallolucaktır.
saygılarımla..
Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
Cevapla