![]() |
Delphi-Version: 7
Edit Eingabe Vergleich / String aus Text File
Hi,
folgendes Problem: Ich bastel zur Zeit an nem Quiz für die Schule und habe als einen von mehreren Fragetypen auch eine Eingabefrage. Sprich es wird eine Frage angezeigt und die Antwort wird in ein Editfeld eingegeben. Angeschlossen ist daran ist natürlich eine Auswertung der Antwort (sofort nach der Eingabe mit Button Click). Diese funktioniert an und für sich gut. Jetz kommt das Problem: ist die Antwort eine Zahl, z.B. " Wie viele Aggregatzustände gibt es?" - "3" wird die Antwort immer FALSCH gewertet (hab mir die Auswertung zur Kontrolle auf das Form gelegt). Die Zahlen durch Wörter esetzen hat leider auch keinen Sinn. hier mal der Code zur Auswertung:
Delphi-Quellcode:
Wie ihr sehen könnt wird dann das Ergebniss in ein Textfile geschrieben (funktioniert). So, jetz meine Frage/Bitte. Wieso werden keine Zahlen verglichen. Und wie bekomm ich hin das sie es werden? Sind ja letztenendes auch nur Strings. zeichen die wie Zahlen aussehen.
var Richtig1, FrageStr, Schluessel : string
// FrageStr und Schluessel könnt ihr eig ignorieren ... IF EditEingabe.text=Richtig1 then begin label7.Caption:='richtig'; assignFile (outfile, EditSchuelername.Text + '.txt'); reset (outfile); append (outfile); writeln (outfile, FrageStr); writeln (outfile, Schluessel); writeln (outfile, 'Richtig'); closefile(outfile); end else begin label7.caption:='falsch'; assignFile (outfile, EditSchuelername.Text + '.txt'); reset (outfile); reset (outfile); append (outfile); writeln (outfile, FrageStr); writeln (outfile, Schluessel); writeln (outfile, 'Falsch'); closefile (outfile); end; Danke |
AW: Edit Eingabe Vergleich / String aus Text File
Moin Torro,
es wäre ganz hilfreich, wenn Du mal den Code zeigen würdest, mit dem Du vergleichst, denn der scheint ja offensichtlich einen Fehler zu enthalten :wink: Vergiss das vorherige :wall: Kontrollier doch mal, was in Richtig1 steht. Wenn da, z.B., 3 drinsteht und in EditEingabe.Text auch, müsste das als richtig gewertet werden. |
AW: Edit Eingabe Vergleich / String aus Text File
Hast du schon mit dem Debugger geprüft?
Hast du das in dem Programm wirklich so umgesetzt? Die beiden Teile sind ja so gut wie gleich ... und dann noch ein doppeltes Reset |
AW: Edit Eingabe Vergleich / String aus Text File
@ Christian: hab mir Richtig1 extra aufs form gelegt zur kontrolle. da steht immer ne 3 drin oder was gerade richtig sein soll.
@ Rufo: ja hab es so umgesetzt. Die doppelten Resets sind überflüssig? Debugger hab ich noch nie benutzt und wüsste auch nicht wie. |
AW: Edit Eingabe Vergleich / String aus Text File
Zitat:
Ein Beispiel: Auf die Frage "Wer war im Jahr 2009 deutscher Bundeskanzler" könnte man antworten "Angela Merkel" oder auch "Merkel, CDU" oder auch "A. Merkel". Alle drei Antworten sind richtig aber dein Programm ist unfähig alle Antworten zu erkennen, weil es keine künstliche Intelligenz hat. Du müsstest auf ein ![]() |
AW: Edit Eingabe Vergleich / String aus Text File
Hab ich drin ;) Sind 3 verschiedene fragetypen. Multiple-Choice Fragen sind auch dabei. Die Eingabe Fragen sind eindeutig formuliert um das geschilderte Problem zu umgehen.
|
AW: Edit Eingabe Vergleich / String aus Text File
Eindeutig?
"Wieviel Aggregatzustände gibt es?" - 3 - drei - Drei - DREI - natürlich drei Sind alle richtig und würden von deinem Programm auch als richtig erkannt (also vom Design her)? |
AW: Edit Eingabe Vergleich / String aus Text File
in der fragestellung wird angegeben ob ich eine zahl haben will oder nicht. außerdem soll auf die rechtschreibung geachtet werden.
allerdings entfernen wir uns grad etwas von meiner frage. |
AW: Edit Eingabe Vergleich / String aus Text File
Nur mal so als Vorschlag, wie man sich diese doppelten Codezeilen spart
Delphi-Quellcode:
var
Richtig1, FrageStr, Schluessel : string; Ergebnis : string; // FrageStr und Schluessel könnt ihr eig ignorieren ... // Eingabe kommt von aussen // Verarbeitung IF EditEingabe.text = Richtig1 then Ergebnis := 'Richtig' else Ergebnis := 'Falsch'; // Ausgabe ... // ... auf dem Formular Label7.Caption := Ergebnis; // ... in eine Datei AssignFile( outfile, EditSchuelername.Text + '.txt' ); // Also entweder // Reset( outfile ); // oder Append( outfile ); // beides zusammen macht schon mal gar keinen Sinn! Writeln( outfile, FrageStr); Writeln (outfile, Schluessel); Writeln (outfile, 'Richtig'); Closefile(outfile); |
AW: Edit Eingabe Vergleich / String aus Text File
Danke für die Idee. Hab das gleich nach dem Muster angepasst. Bin schlicht nich auf die Idee gekommen das Ergebnis auch noch in eine VAR zu schreiben.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz