Kod: Tümünü seç
ilkzaman := FormatDateTime('yymmddhhnnss', Now);
Kod: Tümünü seç
simdikizaman := FormatDateTime('yymmddhhnnss', Now);
Kod: Tümünü seç
cikart=simdikizaman-ilkzaman
Kod: Tümünü seç
ilkzaman := FormatDateTime('yymmddhhnnss', Now);
Kod: Tümünü seç
simdikizaman := FormatDateTime('yymmddhhnnss', Now);
Kod: Tümünü seç
cikart=simdikizaman-ilkzaman
Kod: Tümünü seç
USES DateUtils;
procedure TForm1.BitBtn1Click(Sender: TObject);
Const
{$j+}
boolSayac : Boolean = False;
{$j-}
Var
T1, T2 : TDateTime;
SureDk : Integer;
begin
SureDk := 5;
T1 := Now;
T2 := T1;
boolSayac := NOT boolSayac;
While (MinutesBetween( T1, T2 ) < SureDk) and boolSayac do
begin
T2 := Now;
TBitBtn(Sender).Caption := Format('Sürenin bitmesine %d saniye kaldı..', [ SecondsBetween(T2, IncMinute(T1, SureDk) )]);
Application.ProcessMessages;
Sleep(1);
end;
if boolSayac
then ShowMessageFmt( '%d dakika oldu...', [SureDk])
else begin
TBitBtn(Sender).Caption := 'Başlat';
end;
boolSayac := False;
end;
Kod: Tümünü seç
Var
xboolSayac : Boolean = False;
xSureDk : Integer;
xT1 : TDateTime;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if xboolSayac then
begin
xboolSayac := False;
TBitBtn(Sender).Caption := 'Başlat';
end
else begin
TBitBtn(Sender).Caption := 'Durdur';
xT1 := Now;
xSureDk := 1;
xboolSayac := True;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if xboolSayac then
begin
if MinutesBetween(xT1, Now) >= xSureDk then
begin
xboolSayac := False;
ShowMessageFmt('%d dakikalık Zaman doldu...', [xSureDk]);
end else
begin
Caption := Format('%d dk. bitmesine %d sn.kaldı..', [ xSureDk, SecondsBetween(Now, IncMinute(xT1, xSureDk) )]);
end;
end;
end;
Kod: Tümünü seç
ilkzaman := FormatDateTime('yymmddhhnnss', Now);
Kod: Tümünü seç
simdikizaman := FormatDateTime('yymmddhhnnss', Now);
Kod: Tümünü seç
sonuc=ilkzaman-simdikizaman;
Kod: Tümünü seç
Var
ilkzaman, simdikizaman : tDateTime;
sonuc : Integer;
procedure TForm1.Button1Click(Sender: TObject);
begin
ilkzaman := now; //FormatDateTime('yymmddhhnnss', Now);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
simdikizaman := now; //FormatDateTime('yymmddhhnnss', Now);
sonuc := SecondsBetween( ilkzaman, simdikizaman );
ShowMessageFmt('%d saniye geçmiş...', [sonuc]);
end;
Kod: Tümünü seç
ilkzaman := now;
Kod: Tümünü seç
if ilkzaman = '32324324' then begin
Kod: Tümünü seç
w:string;
w:=ilkzaman;
Kod: Tümünü seç
w := FormatDateTime('yymmddhhnnss', ilkzaman);
Burada ilk giriş kısmında 1 cide zamanı alıp kaydediyoruz ondan sora aynı dakkada 9 kere giriş yaparsa onuda alıcaz ve if ile = karşılaştırıcaz aynı ise banlist.ini dosyasına yazıcaz ve banlist.ini dekini ilk baştaki kısımda alıp okumak istiyorum 10 dk geçtiyse banlist.ini sildirtmek istiyorum.if kere = 1 then begin q := Now; end; // (ilk)
if kere = 9 then begin w := now; end; // (son)
if kere = 9 then // (9 giriş)
begin
if CompareTime(q, w) = 0 then // Denetliyo aynimi
begin
Yaz(ip, TimeToStr(w)); // Ini yaziyo
kere := 0;
end;
end;
Kod: Tümünü seç
1504300107
Kod: Tümünü seç
ilkzaman:=1504300107;
Kod: Tümünü seç
if zaman > '1504300107' then begin showmessage('Banlist.ini silebilirsin.'); end;
Kod: Tümünü seç
USES INIFiles, DateUtils;
function IPKontrol( strIP: String ):Boolean;
Var
INI : TINIFile;
dtSaat : TDateTime;
begin
INI := TINIFile.Create( ChangeFileExt(Application.Exename, '.ini' ) );
dtSaat := INI.ReadDateTime( 'IP', strIP, 0 ); // kayıtlarda IP varsa giriş saatini okuyoruz...
if dtSaat = 0 then
begin // bu IP ilk defa giriş yapmış...
Result := True;
// Zaman Aşımı Saatini INI'ye yazıyoruz...(5dk sonrası)
INI.WriteDateTime( 'IP', strIP, IncMinute(Now, 5) );
end else
begin // INI'de kayıtlı, yani zaten giriş yapmış.
if dtSaat <= now
then // zaman aşımı olmuş... yeniden giriş serbest.
begin
Result := True;
// Yeni zaman aşımını INI'ye yazıyoruz..
INI.WriteDateTime( 'IP', strIP, IncMinute(Now, 5) );
end
else // 5 dakika içinde yeniden giriş denemesi yapılıyor... Engellenecek...
Result := False;
end;
INI.Free;
end;
Kod: Tümünü seç
if NOT IPKontrol( '192.168.1.10' ) then BaglantiyiKopar();
Kod: Tümünü seç
USES INIFiles, DateUtils;
function IPKontrol( strIP: String ):Boolean;
Const
iZamanAsimi = 5; // dakika
iErisimSiniri = 10;
Var
INI : TINIFile;
dtSaat : TDateTime;
iErisim: Integer;
begin
INI := TINIFile.Create( ChangeFileExt(Application.Exename, '.ini' ) );
dtSaat := INI.ReadDateTime( 'IP', strIP, 0 ); // kayıtlarda IP varsa giriş saatini okuyoruz...
iErisim:= INI.ReadInteger ( 'ErisimSay', strIP, 0 );
if dtSaat = 0 then
begin // bu IP ilk defa giriş yapmış...
Result := True;
// Zaman Aşımı Saatini INI'ye yazıyoruz...(5dk sonrası)
INI.WriteDateTime( 'IP', strIP, IncMinute(Now, iZamanAsimi) );
INI.WriteInteger ( 'ErisimSay', strIP, 1 );
end else
begin // INI'de kayıtlı, yani zaten giriş yapmış.
if dtSaat <= now
then // zaman aşımı olmuş... yeniden giriş serbest.
begin
Result := True;
// Yeni zaman aşımını INI'ye yazıyoruz..
INI.WriteDateTime( 'IP', strIP, IncMinute(Now, iZamanAsimi) );
INI.WriteInteger ( 'ErisimSay', strIP, 1 );
end
else // 5 dakika içinde yeniden giriş denemesi yapılıyor... Engellenecek...
begin
Inc(iErisim);
if iErisim >= iErisimSiniri //10. defayı gelmiş veya aşmış... Banlanacak..
then Result := False
else begin // 9 kere aynı IP zaman içerisinde yeniden erişim yaparsa serbest
INI.WriteInteger ( 'ErisimSay', strIP, iErisim ); // aynı IP bir artmış yeni erişim sayısı kayıt altına alınıyor.
Result := True;
end;
end;
end;
INI.Free;
end;
Kod: Tümünü seç
Const
iZamanAsimi = 5; // dakika
iErisimSiniri = 10;