Diskuse:Turbo Pascal

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

repeat until keypressed[editovat zdroj]

Přesunuto z Diskuse s wikipedistou:Kolarp --10. 11. 2015, 08:38 (CET), Utar (diskuse)

Příkaz repeat until keypressed na konci programu v Turbo Pascalu používají studenti, aby integrované prostředí nepřekrylo svými okny to, co program vypsal na obrazovku (a co se dá zobrazit stisknutím Alt-F5). Funkce sice čeká na stisk klávesy, ale stisknutá klávesa se už nepřečte, takže se po provedení turbopascalského programu příslušný znak objeví v programu, z něhož byl ten turbopascalský spuštěn (v příkazové řádce to až tak nevadí, ale v integrovaném prostředí se pravděpodobně vloží do zdrojového textu programu). Přidání repeat until keypressed do ukázkového kódu programu mi přijde hloupé hned z několika důvodů:

  • Lepší je použít Ch := ReadKey; if Ch = #0 then Ch := ReadKey;, aby se stisknutá klávesa přečetla a dál neotravovala
  • Vkladatel neopravil středníky (za repeat until keypressed před end být středník nemusí, ale o řádek výše musí)
  • Použití funkce keypressed (nebo ReadKey) vyžaduje použití uses Crt;, na což vkladatel zapomněl; navíc se tím změní chování programu (už asi takhle nenapíšete filtr)

Proto zmíněný příkaz z ukázky mažu. Kolarp (diskuse) 10. 11. 2015, 08:22 (CET)

@Kolarp: Dobrý den. Podobná vyjádření ke konkrétnímu článku je lepší vložit rovnou na diskuzní stránku daného článku, je jednodušší najít je tam, než v nějaké diskuzi někde jinde jen zmíněné v historii editací.
Po odebrání repeat until keypressed z kódu, platí stále ještě text nad ním a počká na stisk klávesy? --10. 11. 2015, 08:38 (CET), Utar (diskuse)
Po odebrání repeat until keypressed program nečeká na stisk klávesy. Buď smyčka čekající na klávesu do ukázkového vložena, nebo buďte slova "počká na stisk klávesy" smazána. Paul E (diskuse) 10. 11. 2015, 09:03 (CET)
Smazal jsem text, že se čeká na stisk klávesy. Omlouvám se za špatné umístění diskusní stránky. Kolarp (diskuse) 10. 11. 2015, 09:49 (CET)