9. November 200025 j Wie kann ich unter C die Escape abfragen? Mit getchar() kann ich irgendwelche Tastatureingaben abfragen blos Escape eben nicht! cu Mohamet
9. November 200025 j Ahoi, mal sehen, was ich mir in C gemerkt habe. Probier mal das aus: char=escape; . . escape=getch(); . if(escape==27) { clrscr(); sleep(1); } if(escape!=27) { . . } Webentwickler
10. November 200025 j @Werbeentwickler ich hab ja nicht unbedingt vor zu merkern aber hast du schon mal was von if else gehört. damit sollen die programme irgendwie besser zu lesen sein. if (a== { } else // statt if (a!= { } [/code] ------------------ mfg maddin
10. November 200025 j ooooder: versuch doch mal, die escape-funktion in ascii umzusetzen (welcher wert ist das noch mal???) dann müsste der syntax sinngemäß lauten: escapewert = CHR$(xy) (getch(escapewert)) oder so, halt irgendwie, halt irgenwie auchnicht? ach weiss, nicht, war eh nur geraten :-) nein, doch nicht... verwirre ich dich jetzt?????
10. November 200025 j Hi Mohammed, das Problem ist in der Tat nicht ganz so einfach. In C ist es naemlich so, dass der Eingabepuffer bei Consoleneingaben erst eingelesen wird, sobald ein "return" ausgeloest wird. Also das Beispiel unten verwendet getchar() und erkennt ESC, wenn erst ESC und dann Return gedrueckt wird. Wenn das Programm auf alleiniges Druecken von ESC reagieren soll, dann brauchst Du eine Funktion, die Tastaturevents registriert. Solche Funktionen gehoeren aber nicht zum Umfang der Sprache C, sondern sind betriebssystemabhaengige Bibliotheksfunktionen Deines Compilers. Beispielsweise bietet Borland dafuer kbhit() an. Verwendest Du solche Funktionen, verlierst Du aber die ANSI-C-Kompatibilitaet. /* ANSI-C-Testdatei fuer Mohammed */ #include <stdio.h> int main() { char esc = getchar(); if (esc==27) printf("das war ein escape"); else printf("das war kein escape"); return 0; } hope this helps Uli ------------------ Uli's Prüfungspages ... die Seite mit den Prüfungshinweisen
10. November 200025 j if (a== { } else // statt if (a!= { } [/code] [/b]<HR></BLOCKQUOTE> Ahoi, kannst ruhig meckern. Ich habe ja nicht behauptet, dass C meine große Leidenschaft und Stärke ist. Webentwickler [Dieser Beitrag wurde von Webentwickler am 11. November 2000 editiert.]
10. November 200025 j Hi Webentwickler, Du bist sogar im Recht, denn ein guter Compiler duerfte den zweiten if-clause durchaus wegoptimieren und durch ein "else" ersetzen, solange a und b nicht als "volatile" definiert sind, was sie ja auch nicht waren. Uli ------------------ Uli's Prüfungspages ... die Seite mit den Prüfungshinweisen
11. November 200025 j <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von Uli Luethen: Hi Webentwickler, Du bist sogar im Recht, denn ein guter Compiler duerfte den zweiten if-clause durchaus wegoptimieren und durch ein "else" ersetzen, solange a und b nicht als "volatile" definiert sind, was sie ja auch nicht waren. Uli
11. November 200025 j <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von Webentwickler: Ahoi Uli, echt?! Ist ja cool! Und das mit Null Ahnung von C. Vielleicht wird doch noch einmal ein C-Programmierer aus mir *grins*.
13. November 200025 j <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von Uli Luethen: Hi Webentwickler, Du bist sogar im Recht, denn ein guter Compiler duerfte den zweiten if-clause durchaus wegoptimieren und durch ein "else" ersetzen, solange a und b nicht als "volatile" definiert sind, was sie ja auch nicht waren. Uli
13. November 200025 j Hallo maddin, Comperoptimierungen kann man NICHT an Quelltextdateien erkennen, denn das Erzeugnis eines Compilers ist kein Quelltext, sondern ein executable binary; Du muesstest also einen Vergleich der Maschinenbefehle vornehmen, um eine Aussagen treffen zu koennen. Was DEIN Compiler macht, sagt auch nicht viel darueber aus, was ANDERE Compiler machen oder machen duerfen. Uli ------------------ Uli's Prüfungspages ... die Seite mit den Prüfungshinweisen
14. November 200025 j schon richtig, bloß sprach ich anfangs von der lesbarkeit des quellcodes. du hatest mit der optimierung beim compilieren geantwortet. was ich dir damit bloß sagen wollte ist, dass es trotz gut optimierten code auch auf einen verständlich geschriebenen quellcode ankommt. schließlich lese ich, wenn ich wissen will, was ein programm macht den quellcode und nicht die binary. ------------------ mfg maddin
14. November 200025 j <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von maddin: was ich dir damit bloß sagen wollte ist, dass es trotz gut optimierten code auch auf einen verständlich geschriebenen quellcode ankommt. schließlich lese ich, wenn ich wissen will, was ein programm macht den quellcode und nicht die binary.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.