SpinEdit Kullanarak Saati Deðiþtirmek Mümkün mü?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
cagri_85
Üye
Mesajlar: 95
Kayıt: 16 Oca 2004 11:10

SpinEdit Kullanarak Saati Deðiþtirmek Mümkün mü?

Mesaj gönderen cagri_85 »

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.
gorecelik
Üye
Mesajlar: 23
Kayıt: 27 Nis 2005 02:59
Konum: İstanbul
İletişim:

Re: SpinEdit Kullanarak Saati Değiştirmek Mümkün mü?

Mesaj gönderen gorecelik »

cagri_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.
ewt mümkün 3 tane spinedit korsun forma bide button diyelim buton uygula butonu olsun

butonun kodları

Kod: Tümünü seç

SetTime(IntToStr(spinedit1.value)+':'+IntToStr(spinedit2.value)+':'+IntToStr(spinedit3.value));
komutu settime diye hatırlıyorum yanlışsa kusuruma bakma
Kullanıcı avatarı
cagri_85
Üye
Mesajlar: 95
Kayıt: 16 Oca 2004 11:10

saat

Mesaj gönderen cagri_85 »

çok teþekkür ederim :D
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

UpDown bileşeni ile aşağıdaki gibi bir kod da işini görebilir..

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
Unit1.pas

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!!
Kullanıcı avatarı
cagri_85
Üye
Mesajlar: 95
Kayıt: 16 Oca 2004 11:10

spinedit

Mesaj gönderen cagri_85 »

teþekkür ederim :)
Kullanıcı avatarı
cagri_85
Üye
Mesajlar: 95
Kayıt: 16 Oca 2004 11:10

Re: SpinEdit Kullanarak Saati Deðiþtirmek Mümkün mü?

Mesaj gönderen cagri_85 »

gorecelik yazdı:
cagri_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.
ewt mümkün 3 tane spinedit korsun forma bide button diyelim buton uygula butonu olsun

butonun kodlarý

Kod: Tümünü seç

SetTime(IntToStr(spinedit1.value)+':'+IntToStr(spinedit2.value)+':'+IntToStr(spinedit3.value));
komutu settime diye hatýrlýyorum yanlýþsa kusuruma bakma

dostum komut çalýþmadý :roll: settime sanýrým yanlýþ tekrar ilgilenirsen sevinirim
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

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...

Kod: Tümünü seç

Var
  Zaman    : TSystemTime;
  YeniSaat : TTime;
begin
  YeniSaat := StrToTime('19:51:00');
  DateTimeToSystemTime(Date+YeniSaat, Zaman);
  SetLocalTime(Zaman);
end;
- 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...
:idea:

- Başarılar...
Resim
Resim ....Resim
Cevapla