Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
hello
Anmeldungsdatum: 15.04.2010 Beiträge: 34
|
Verfasst am: 28.04.2010, 20:09 Titel: Direkt beim Schreiben |
|
|
Hallo,
Ich wollte mit FreeBASIC arbeiten.
Bin bei INPUT, nicht besonders schwer
Da alles was eingegeben werden kann, nur 1-Stellig ist, wollte Ich machen, dass man, wenn man z.B. eine 3 eingibt es sofort als 3 annimmt, und man nicht noch Enter eingeben muss.
Wisst ihr was Ich meine?
Wenn nicht, dann fragen _________________ Regards |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 28.04.2010, 20:32 Titel: |
|
|
Hallo,
dazu kannst du INPUT als Funktion verwenden und die Länge des Eingabepuffers als Argument übergeben:
Code: | DIM AS STRING k
PRINT "Zum Beenden ESCape druecken."
DO
k = INPUT(1)
Print "Du hast " & k & " gedrueckt."
LOOP UNTIL k = CHR(27) |
INPUT nimmt in diesem Code 1 Zeichen entgegen und liefert es als Ergebnis zurück, das dann der Variablen k zugewiesen wird.
Viele Grüße!
Sebastian _________________
Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
hello
Anmeldungsdatum: 15.04.2010 Beiträge: 34
|
Verfasst am: 28.04.2010, 20:49 Titel: |
|
|
Ich versteh' alles bis zur DO ... LOOP-Schleife:
Der Nutzer Sebastian hat Folgendes geschrieben: | DO
k = INPUT(1)
Print "Du hast " & k & " gedrueckt."
LOOP UNTIL k = CHR(27)
|
Kannst du mir noch die DO ... LOOP-Schleife noch kurz erklären, bitte für doofe = D
Und auch das was da drin steht, Ich bin noch nicht so Erfahrungsreich in FreeBASIC.
_________________ _________________ Regards |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 28.04.2010, 20:56 Titel: |
|
|
es wird so lange eine einstellige eingabe geprüft, bis diese CHR(27) = ESC ist. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
Stueber
Anmeldungsdatum: 07.07.2008 Beiträge: 202
|
Verfasst am: 28.04.2010, 21:00 Titel: |
|
|
Eine Do-loop-until Schleife läuft immer wieder durch, am Ende startet sie wieder von vorne, es sei denn die Bedingung nach until ist wahr. In diesem Fall geht das Programm wieder normal weiter. k ist eine Stringvariable und input(1) liest genau ein Zeichen ein, egal ob Enter gedrückt wurde oder nicht. |
|
Nach oben |
|
|
hello
Anmeldungsdatum: 15.04.2010 Beiträge: 34
|
Verfasst am: 29.04.2010, 19:21 Titel: |
|
|
Danke, jetzt so verstanden
Danke an Beide _________________ Regards |
|
Nach oben |
|
|
hello
Anmeldungsdatum: 15.04.2010 Beiträge: 34
|
Verfasst am: 29.04.2010, 19:43 Titel: |
|
|
Jojo hat Folgendes geschrieben: | es wird so lange eine einstellige eingabe geprüft, bis diese CHR(27) = ESC ist. |
Code: | DO
k = INPUT(1)
Print "Du hast " & k & " gedrueckt."
LOOP UNTIL k = CHR(27) |
Kann ich auch irgendwie so machen?:
LOOP UNTIL k = CHR(27) {oder} irgendetwas anderes
Also, kann ich ein "oder" einfügen? _________________ Regards |
|
Nach oben |
|
|
Stueber
Anmeldungsdatum: 07.07.2008 Beiträge: 202
|
Verfasst am: 29.04.2010, 19:52 Titel: |
|
|
Ja, das Wort heist "or":
Code: | LOOP UNTIL (k = CHR(27)) or (1 = 0) 'blödes Beispiel, 1 ist nie gleich 0 ;) |
Ausserdem stehen dir noch and, not und xor zur verfügung. Mehr hier. |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 29.04.2010, 19:52 Titel: |
|
|
hello hat Folgendes geschrieben: | Kann ich auch irgendwie so machen?:
LOOP UNTIL k = CHR(27) {oder} irgendetwas anderes
Also, kann ich ein "oder" einfügen? |
Code: | DIM AS STRING k
PRINT "Zum Beenden ESCape druecken."
DO
k = INPUT(1)
Print "Du hast " & k & " gedrueckt."
LOOP UNTIL k = CHR(27) OR k = "x" OR TIME = "13:37:00" |
Die neue Schleife läuft so lange, bis entweder...
- ESC gedrückt,
- x gedrückt oder
- die Uhrzeit "13:37:00" erreicht wird.
_________________
Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4597 Wohnort: ~/
|
Verfasst am: 30.04.2010, 00:50 Titel: |
|
|
Code: | die Uhrzeit "13:37:00" erreicht wird |
Aber nur, wenn genau in dieser Sekunde eine Taste gedrückt wird, oder irre ich mich? _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 30.04.2010, 12:59 Titel: |
|
|
nemored hat Folgendes geschrieben: | Code: | die Uhrzeit "13:37:00" erreicht wird |
Aber nur, wenn genau in dieser Sekunde eine Taste gedrückt wird, oder irre ich mich? |
Oh ja, du hast völlig Recht. Damit das richtig funktioniert, müsste man INKEY statt INPUT nehmen. Ich wollte einfach noch ein Beispiel für eine andere Abbruchbedingung, die keinen Tastendruck auswertet, einbauen, hab aber übersehen, dass sich das in Form mit INPUT "beißt". Danke für den Hinweis. _________________
Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
MisterD
Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 30.04.2010, 17:01 Titel: |
|
|
hoho und bei allen engländern terminiert das programm nie weils da 1:37pm wird muhaha _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 30.04.2010, 18:14 Titel: |
|
|
Ist das TIME-Format nicht (mehr) standardisiert auf hh:mm:ss? _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
Westbeam
Anmeldungsdatum: 22.12.2009 Beiträge: 760
|
Verfasst am: 30.04.2010, 18:28 Titel: |
|
|
Ich dachte es ist auf AM und PM standardisiert worden?
Bei uns in der Schule gibt es auch nur AM und PM, ich dachte das mit 24 Stunden wurde abgeschafft? |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 30.04.2010, 19:14 Titel: |
|
|
Westbeam hat Folgendes geschrieben: | Ich dachte es ist auf AM und PM standardisiert worden? [...] ich dachte das mit 24 Stunden wurde abgeschafft? |
Nein, wo hast du das denn gehört?! Sofern du in Deutschland lebst, kann ich dich beruhigen: Das 24-Stunden-Zeitformat gilt und es gibt meines Wissens auch keine politischen Bestrebungen, das zu ändern.
Da der Thread inzwischen ziemlich von der ursprünglichen Frage abkommt, "close" ich ihn an an dieser Stelle. Zum Beispiel im Trashthread können die Zeitfragen ja weiter besprochen werden. _________________
Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
|