Merhaba,
Eskiden kullandığım fakat eski bilgisayarımla birlikte maalesef kaybettiğim bir kod parçasını sormak istiyorum. İç içe olan ve çok hesap yapan iki döngüden keypress olayıyla çıkmak zaman alıyor fakat o kod parçasıyla anında çıkılıyordu. Hatırladığım tek şey şöyle: İf ...... 127 = 127 then..... bu sadece hatırladığım kadarı. Yanlış hatırlamıyorsam tek satır bir şeydi. Bilen kullanan arkadaş varsa ve yardımcı olursa sevinirim. Şimdiden teşekkürler.
Aradığımı daha yeni buldum 9.9.2021. İhtiyacı olanlar için:
if GetKeyState(VK_ESCAPE) and 128 = 128 then exit (veya duruma göre Break);
ESC ye basar basmaz çıkılıyor.
İç içe olan döngülerden hızlı çıkış
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
İç içe olan döngülerden hızlı çıkış
En son BitByte tarafından 10 Eyl 2021 02:29 tarihinde düzenlendi, toplamda 3 kere düzenlendi.
Re: İç içe olan döngülerden hızlı çıkış
Demek istediğini tam anlayamadım.
Örnek kod verirsen daha iyi olur.
Ama normalde döngüden doğrudan çıkman için aşağıdaki komutu kullanabilirsin.
if Sart_olustuysa then break;
Örnek kod verirsen daha iyi olur.
Ama normalde döngüden doğrudan çıkman için aşağıdaki komutu kullanabilirsin.
if Sart_olustuysa then break;
Re: İç içe olan döngülerden hızlı çıkış
if Sart_olustuysa then break;
Bu kodla yavaş çıkılıyor, saniyeler sürüyor. Cevabınız için teşekkürler. Aradığımı yeni buldum.
Kod şöyle:
if GetKeyState(VK_ESCAPE) and 128 = 128 then exit (veya duruma göre break);
ESC ye basar basmaz çıkılıyor.
Bu kodla yavaş çıkılıyor, saniyeler sürüyor. Cevabınız için teşekkürler. Aradığımı yeni buldum.
Kod şöyle:
if GetKeyState(VK_ESCAPE) and 128 = 128 then exit (veya duruma göre break);
ESC ye basar basmaz çıkılıyor.
Re: İç içe olan döngülerden hızlı çıkış
Eğer iç içe birden fazla döngü varsa her döngüde çıkma koşulu kontrol etmelisiniz. Aksi halde en içteki döngüde çıkma koşulu yakalanır ise dış döngüler çalışmaya devam eder.
Kod: Tümünü seç
var
I: Integer;
I2: Integer;
KosulGerceklesti: Boolean;
begin
KosulGerceklesti := False; // döngüler devam etsin.
for I := 0 to 10000 do
begin
for I2 := 0 to 20000 do
begin
// Döngüden çıkma kontrolü yapılıyor
if Kosul = True then
begin
KosulGerceklesti := True;
Break; // en içteki döngü sonlandı.
end;
end;
if KosulGerceklesti then
Break; // dıştaki döngü de koşul geçekleştiği için sonlandı.
end;
end;