Tarihi Sayıya çevirme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Tarihi Sayıya çevirme
Herkese merhaba.
benim elimde 19.07.2005 şeklinde bir tarih var.
bu tarihi 190705 şekline nasıl çevirebilirim.
herkese kolay gelsin.
teşekür ederim.
benim elimde 19.07.2005 şeklinde bir tarih var.
bu tarihi 190705 şekline nasıl çevirebilirim.
herkese kolay gelsin.
teşekür ederim.
- yuksel2004
- Üye
- Mesajlar: 61
- Kayıt: 26 May 2005 08:55
- Konum: Bursa
olayı şöyle çözdüm.
herkese kolay gelsin.
Kod: Tümünü seç
function TfmGidenTren.TarihiDonustur(Tarih: TDate; Secim: Byte): string;
var
Yil, Ay, Gun: Word;
Ayy, Gunn, Yill: string;
begin
DecodeDate(Tarih, yil, ay, gun);
case Secim of
0:
begin
if Ay > 9 then
Ayy := IntToStr(Ay)
else
Ayy := '0' + IntToStr(Ay);
if Gun > 9 then
Gunn := IntToStr(Gun)
else
Gunn := '0' + IntToStr(Gun);
Result := Ayy + Gunn
end;
1:
begin
if Ay > 9 then
Ayy := IntToStr(Ay)
else
Ayy := '0' + IntToStr(Ay);
if Gun > 9 then
Gunn := IntToStr(Gun)
else
Gunn := '0' + IntToStr(Gun);
Yill := Copy(IntToStr(Yil), 3, 2);
Result := Gunn + Ayy + Yill;
end;
end;
end;
şöyle daha iyi olmazmıydı.
................................................
Kod: Tümünü seç
function TfmGidenTren.TarihiDonustur(Tarih: TDate; Secim: Byte): string;
begin
case Secim of
0:result:=formatdatetime('ddmm',tarih);
1:result:=formatdatetime('ddmmyy',tarih);
end;
end;
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
S.A.
arkadaşlar function yazmayı pek bilmiyorum. Ama bu kodlarda aynen istediğiniz işi görüyor
arkadaşlar function yazmayı pek bilmiyorum. Ama bu kodlarda aynen istediğiniz işi görüyor
Kod: Tümünü seç
var
s:string;
begin
s:=datetostr(date);
showmessage(copy(s,1,2)+copy(s,4,2)+copy(s,9,4));
end;
Varmı Beni İçinizde Tanıyan?
Yaşanmadan Çözülmeyen Sır Benim
Kalmasada Şöhretimi Duymayan,
Kimliğimi Tarif etmek zor Benim.
Kimsesizim hısmım da çok, hasmım da,
Görünmezim cismim de yok, resmim de,
Dil üzmezim, tek hece var ismimde,
Barınağım Delphi denen yer Benim..!
Yaşanmadan Çözülmeyen Sır Benim
Kalmasada Şöhretimi Duymayan,
Kimliğimi Tarif etmek zor Benim.
Kimsesizim hısmım da çok, hasmım da,
Görünmezim cismim de yok, resmim de,
Dil üzmezim, tek hece var ismimde,
Barınağım Delphi denen yer Benim..!
s.a.
Hancet
eğer tarih formatı farklı ise sizin kodunuz hatalı çalışacaktır.
tarih formatının dd.mm.yyyy olması durumunda çalışan kodunuz
tarih fromatının d.m.yy olması durumunda çalışmayacaktır.
kolay gelsin.
Hancet
eğer tarih formatı farklı ise sizin kodunuz hatalı çalışacaktır.
tarih formatının dd.mm.yyyy olması durumunda çalışan kodunuz
tarih fromatının d.m.yy olması durumunda çalışmayacaktır.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Re: Tarihi Sayıya çevirme
soru böyle olduğu için bende böyle bir mantık kullandımademcicek yazdı:benim elimde 19.07.2005 şeklinde bir tarih var.
bu tarihi 190705 şekline nasıl çevirebilirim.
yoksa dediğin gibi diğer durumda benim komut çalışmayacak
Varmı Beni İçinizde Tanıyan?
Yaşanmadan Çözülmeyen Sır Benim
Kalmasada Şöhretimi Duymayan,
Kimliğimi Tarif etmek zor Benim.
Kimsesizim hısmım da çok, hasmım da,
Görünmezim cismim de yok, resmim de,
Dil üzmezim, tek hece var ismimde,
Barınağım Delphi denen yer Benim..!
Yaşanmadan Çözülmeyen Sır Benim
Kalmasada Şöhretimi Duymayan,
Kimliğimi Tarif etmek zor Benim.
Kimsesizim hısmım da çok, hasmım da,
Görünmezim cismim de yok, resmim de,
Dil üzmezim, tek hece var ismimde,
Barınağım Delphi denen yer Benim..!
- ender_arslanturk
- Kıdemli Üye
- Mesajlar: 709
- Kayıt: 18 Şub 2005 03:38
- Konum: İstanbul
Windows Tarih Sistemi Değiştirileceği İçin Şöylede Yapılabilir...
Formda 1 Adet DateTimePicker1, 1 Adet Edit1, 1 Adette Button Olduğunu Varsayarsak
butonun Click Olayına
var
i:integer;
begin
Edit1.Text:=Datetostr(DateTimePicker1.Date);
edit1.SelStart:=0;
edit1.sellenght:=1;
For i:=0 To Lenght(Edit1.Text) Do
begin
if edit1.seltext<>'.' then edit2.Text:=Edit2.Text+Edit1.Seltext;
edit1.SelStart:=Edit1.Selstart+1;
edit1.selenght:=Edit1.Selstart+1;
end;
end;
şeklinde olabilir....
Saygılarımla,
Formda 1 Adet DateTimePicker1, 1 Adet Edit1, 1 Adette Button Olduğunu Varsayarsak

butonun Click Olayına
var
i:integer;
begin
Edit1.Text:=Datetostr(DateTimePicker1.Date);
edit1.SelStart:=0;
edit1.sellenght:=1;
For i:=0 To Lenght(Edit1.Text) Do
begin
if edit1.seltext<>'.' then edit2.Text:=Edit2.Text+Edit1.Seltext;
edit1.SelStart:=Edit1.Selstart+1;
edit1.selenght:=Edit1.Selstart+1;
end;
end;
şeklinde olabilir....

Saygılarımla,
s.a.
@ender_arslanturk kardeşim tarih sistemi değişirse demişsin genede "." kullanmışsın. tarih sistemi değiştiğinde "." yerine "/" kullandığında senin kodlarında çalışmayacaktır.
(datetime picker formatı windowsdan alıyor.)
eğer "."yerine dateseperator umarım doğru yazmışımdır kullanılması da bizi tarih formatından bağımsız kılar.
+
bir satırlık bir kod yazmak varken neden uzun bir procedure yazalım.
(kendimizi geliştirmek farklı düşünme yolları... )
Kolaygelsin.
@ender_arslanturk kardeşim tarih sistemi değişirse demişsin genede "." kullanmışsın. tarih sistemi değiştiğinde "." yerine "/" kullandığında senin kodlarında çalışmayacaktır.
(datetime picker formatı windowsdan alıyor.)
eğer "."yerine dateseperator umarım doğru yazmışımdır kullanılması da bizi tarih formatından bağımsız kılar.
+
bir satırlık bir kod yazmak varken neden uzun bir procedure yazalım.
(kendimizi geliştirmek farklı düşünme yolları... )
Kolaygelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
tartismayla uzaktan bir ilgisi oldugu icin yaziyorum.
Indy nin bu konu ile ilgili bilesenleri var onlari indirirseniz, bircok tarih cevirme konusunda yardimci olacaktir.
Aslinda senin elinde öyle bir tarih yok öyle bir string var. o string'i alirsin icindeki seperatorlerin yerini bulup yok edersin.
Yada Yükselin dedigi gibi söyle cözülebilir.
function StringToTarih(sTarih: string): string;
begin
DateSeparator := FindDateSeperator(sTarih);
try
result := FormatDateTime('ddmmyy', StrToDate('sTarih'));
except
end;
end;
function FindDateSeperator(sTarih: string) : string;
var
i: Integer;
begin
i := 1;
while (i <= Length(sTarih)) and (S in ['0'..'9']) do
Inc(i);
if (i =! 1) and i <= Length(sTarih) then
result := sTarih
else
result := ''
end
miskin
Indy nin bu konu ile ilgili bilesenleri var onlari indirirseniz, bircok tarih cevirme konusunda yardimci olacaktir.
Aslinda senin elinde öyle bir tarih yok öyle bir string var. o string'i alirsin icindeki seperatorlerin yerini bulup yok edersin.
Yada Yükselin dedigi gibi söyle cözülebilir.
function StringToTarih(sTarih: string): string;
begin
DateSeparator := FindDateSeperator(sTarih);
try
result := FormatDateTime('ddmmyy', StrToDate('sTarih'));
except
end;
end;
function FindDateSeperator(sTarih: string) : string;
var
i: Integer;
begin
i := 1;
while (i <= Length(sTarih)) and (S in ['0'..'9']) do
Inc(i);
if (i =! 1) and i <= Length(sTarih) then
result := sTarih
else
result := ''
end
miskin
- sadettinpolat
- Moderator
- Mesajlar: 2131
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
Aslangerinin kodu uyguladim orda gördügüm hata, soruda tarih olarak verilen string, string önce Tarihe cevrilmesi lazim sonra string'e.sadettinpolat yazdı:ben oyumu aslangerinin yazdığı koda veriyorum
hem kolay anlaşılır (bir yer hariç) hem de değişik tarih formatlarına uygun.
Neyse Aslangeri dogru görmüs, ben yine acele etmisim. Bende oyumu aslangeriye verdim
miskin
falza bir seçenek olmadığı (ve basit bir örnek olması) için 0 ve 1 kullandım.sadettinpolat yazdı:ben oyumu aslangerinin yazdığı koda veriyorum
hem kolay anlaşılır (bir yer hariç) hem de değişik tarih formatlarına uygun.

Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim