İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

sistem tarihini bir dosyaya yazdırma

P

purple

Misafir
bir butonclick altında sistem tarihini bir txt dosyasına yazdırmak istiyorum.aynı butonclick altında başka bir veriyi başka bir txt dosyasına yazdırabilirken,tarihi bir türlü yazdıramadım,nerde hata yapıyorum?kod şu:


var
F: TextFile;
P: TextFile;
zaman:string;
begin
if edit1.text<>veri then
begin
Showmessage(' Yanlış veri');
end
else if edit1.text=veri then
begin
zaman:=datetostr(date);
AssignFile(F, 'C:\A1.txt');
{$i-} Reset(F); {$i+}
if IOResult = 0 then
begin
CloseFile(F);
Rewrite(F);
Writeln(F, veri);
end
else
begin
ShowMessage('Doğru veri daha önce girilmiş.');
CloseFile(F);
end;
AssignFile(P, 'C:\BB.txt');
{$i-} Reset(P); {$i+}
if IOResult = 0 then
begin
CloseFile(P);
Rewrite(P);
Writeln(P,zaman);
end;
end;
end;
:cry: :cry: :cry: :cry:
 
Q

quickpink

Misafir
Selam,
Düzenlenmiş hali aşağıdaki gibi olacak...

var
F: TextFile;
P: TextFile;
zaman:string;
begin
if edit1.text<>veri then begin Showmessage(' Yanlış veri'); end
else
if edit1.text=veri then
begin
zaman:=datetostr(date);
AssignFile(F, 'C:\A1.txt');
{$i-} Reset(F); {$i+}
if IOResult <> 0 then begin Rewrite(F); Writeln(F,Veri); End
Else ShowMessage('Doğru veri daha önce girilmiş.');
CloseFile(F);
end;
AssignFile(P, 'C:\BB.txt');
{$i-} Reset(P); {$i+}
if IOResult<>0 then begin Rewrite(P); Writeln(P,zaman); end;
CloseFile(P);
end;
end
 
P

purple

Misafir
yardımınız içi çok teşekkür ederim.sorun halloldu.fakat IOresult<>0 yerine
IOresult>=0 yazınca veriyi dosyaya yazıyor.
dosya okurkende IOresult<=0 olması gerekiyor.Ancak bu şekilde doğru çalışıyor.Bana bu IOresult mantığını açıklayabilirmisiniz,helpdeki anlatılanlar çok karışık da.
:) :) :) :wink: :wink: :wink:
 
Q

quickpink

Misafir
Sevgili Purple,

IORESULT, standart pascal komutları arasında yeralan ve yapılan bir işlem sırasında ortaya çıkan ve işlemin operasyonel olarak durumunu gösteren değerlerin saklandığı global variable bir standart pascal değişkeni olarak tanımlayabiliriz. Fakat IORESULT kullanıcının değer atayarak kullanabileceği bir değişken gibi işlem görmemektedir. Kendisini ilgilendiren her işlemden (operasyon komutundan) sonra değeri, ilgili operasyonun sonuç durumunu gösteren sayısal değer alır. ioresult integer bir değişken olarak delphi (Pascal) internal işleme tabi tutulur.

IORESULT değeri :
0 (Sıfır) olması halinde işlemin başarılı olarak yapıldığını,
diğer durumlarda (yani >0 olması halinde) ilgili IORESULT değerine karşılık gelen hata veya durum ile karşılaşıldığını gösterir.

örnek :

Var
a:integer;
b,c:real;
Begin
b:=10;
c:=0;
{$i-}a:=b/c; [$i+}
if ioresult0 Then writeln('Division By Zero');

End;

Dosya operasyonlarında :

{$i-} AssignFile(KontF,'deneme.txt'); {$i+}
if ioresult<>0 Then Writeln('File Not Assigned');
{$i-} Reset(KontF); {$i+}
if ioresult=2 Then Writeln('File Not Found');
if ioresult=0 Then Writeln('File is exists and open read or Write mode');

/* Diğer ioresult değerlerini ve açıklamalarını help içinde
/* Run-time errors başlığı altında bulabilirsin.

Saygılarımla.

QuickPink.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst