slm aþaðýdaki kod da str=18:07:00 yazýyor gördüðünüz gibi bu deðeri spinedit kullanarak azaltmak,yükseltmek istiyorum bu mümkün mü?
procedure TForm1.Timer1Timer(Sender: TObject);
var
DateTime : TDateTime;
str : string;
begin
DateTime := Time;
str := TimeToStr(DateTime);
Label1.Caption := str;
if str='18:07:00' then showmessage('Saat 18:07:00');
end;
end.
SpinEdit Kullanarak Saati Deðiþtirmek Mümkün mü?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: SpinEdit Kullanarak Saati Değiştirmek Mümkün mü?
ewt mümkün 3 tane spinedit korsun forma bide button diyelim buton uygula butonu olsuncagri_85 yazdı:slm aşağıdaki kod da str=18:07:00 yazıyor gördüğünüz gibi bu değeri spinedit kullanarak azaltmak,yükseltmek istiyorum bu mümkün mü?
procedure TForm1.Timer1Timer(Sender: TObject);
var
DateTime : TDateTime;
str : string;
begin
DateTime := Time;
str := TimeToStr(DateTime);
Label1.Caption := str;
if str='18:07:00' then showmessage('Saat 18:07:00');
end;
end.
butonun kodları
Kod: Tümünü seç
SetTime(IntToStr(spinedit1.value)+':'+IntToStr(spinedit2.value)+':'+IntToStr(spinedit3.value));
UpDown bileşeni ile aşağıdaki gibi bir kod da işini görebilir..
Form1
Unit1.pas
Form1
Kod: Tümünü seç
object Form1: TForm1
Left = 360
Top = 297
Width = 338
Height = 205
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object UpDown1: TUpDown
Left = 89
Top = 24
Width = 17
Height = 25
Min = -60
Max = 60
Position = 60
TabOrder = 0
Wrap = True
OnClick = UpDown1Click
end
object Edit1: TEdit
Left = 16
Top = 24
Width = 73
Height = 24
Font.Charset = TURKISH_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'MS Sans Serif'
Font.Style = [fsBold]
ParentFont = False
ReadOnly = True
TabOrder = 1
Text = '12:35:25'
end
end
Kod: Tümünü seç
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Mask, StdCtrls, ComCtrls;
type
TForm1 = class(TForm)
UpDown1: TUpDown;
Edit1: TEdit;
procedure UpDown1Click(Sender: TObject; Button: TUDBtnType);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType);
var
st, dk, sn: integer;
ss: string;
begin
st := StrToInt(copy(Edit1.Text, 1, 2));
dk := StrToInt(copy(Edit1.Text, 4, 2));
sn := StrToInt(copy(Edit1.Text, 7, 2));
if Button = btNext then
begin
inc(sn);
if sn > 59 then inc(dk);
if dk > 59 then inc(st);
if sn > 59 then sn := 0;
if dk > 59 then dk := 0;
if st > 23 then st := 0;
end;
if Button = btPrev then
begin
dec(sn);
if sn < 0 then dec(dk);
if dk < 0 then dec(st);
if sn < 0 then sn := 59;
if dk < 0 then dk := 59;
if st < 0 then st := 23;
end;
ss := IntToStr(st);
if st < 10 then ss := '0' + ss;
Edit1.Text := ss;
ss := IntToStr(dk);
if dk < 10 then ss := '0' + ss;
Edit1.Text := Edit1.Text + ':' + ss;
ss := IntToStr(sn);
if sn < 10 then ss := '0' + ss;
Edit1.Text := Edit1.Text + ':' + ss;
end;
end.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Re: SpinEdit Kullanarak Saati Deðiþtirmek Mümkün mü?
gorecelik yazdı:ewt mümkün 3 tane spinedit korsun forma bide button diyelim buton uygula butonu olsuncagri_85 yazdı:slm aþaðýdaki kod da str=18:07:00 yazýyor gördüðünüz gibi bu deðeri spinedit kullanarak azaltmak,yükseltmek istiyorum bu mümkün mü?
procedure TForm1.Timer1Timer(Sender: TObject);
var
DateTime : TDateTime;
str : string;
begin
DateTime := Time;
str := TimeToStr(DateTime);
Label1.Caption := str;
if str='18:07:00' then showmessage('Saat 18:07:00');
end;
end.
butonun kodlarýkomutu settime diye hatýrlýyorum yanlýþsa kusuruma bakmaKod: Tümünü seç
SetTime(IntToStr(spinedit1.value)+':'+IntToStr(spinedit2.value)+':'+IntToStr(spinedit3.value));
dostum komut çalýþmadý

Merhaba...
- @gorecelik 'in kodu geçerlidir. Saat fonksiyonu için eklemede bulunucam.
- SetSystemTime ve SetLocalTime kullanırsın..
- TSystemTime içinde tarih bilgisi de olduğundan bu faktörü işin içine alarak şöyle örnek verebilirim...
- SetLocalTime ile SetSystemTime arasındaki farkı deneyerek görebilirsin. Özetlemek gerekirse bölgesel saat farkını bilgisayara bırakıp GBT standart saatine göre değişiklik yapmış olursun.
- Yani '00:00:00' girdiğinde bugün için denedim '03:00:00' olacaktır. (Yaz/Kış saati olduğundan +/-1)
- Sen örnekteki gibi SetLocalTime kullan. Bölgesel ayarlar meselesini bilgi olsun diye ek olarak sundum...
- Başarılar...
- @gorecelik 'in kodu geçerlidir. Saat fonksiyonu için eklemede bulunucam.
- SetSystemTime ve SetLocalTime kullanırsın..
- TSystemTime içinde tarih bilgisi de olduğundan bu faktörü işin içine alarak şöyle örnek verebilirim...
Kod: Tümünü seç
Var
Zaman : TSystemTime;
YeniSaat : TTime;
begin
YeniSaat := StrToTime('19:51:00');
DateTimeToSystemTime(Date+YeniSaat, Zaman);
SetLocalTime(Zaman);
end;
- Yani '00:00:00' girdiğinde bugün için denedim '03:00:00' olacaktır. (Yaz/Kış saati olduğundan +/-1)
- Sen örnekteki gibi SetLocalTime kullan. Bölgesel ayarlar meselesini bilgi olsun diye ek olarak sundum...

- Başarılar...