mit schleife verändern
Übersicht

![]() |
Rotes_Eichhörnchen |
![]() Antworten mit Zitat ![]() |
---|---|---|
hmm... also in:
Code: [AUSKLAPPEN] While Not Eof(filein)
frage$ = ReadLine(filein) Feld(i%, 1) = frage$ antwort$ = ReadLine(filein) Feld(i%, 2) = antwort$ i% = i% + 1 Wend sind alle Fragen abgespeichert, oder? also... ich weiß gerade nicht, wo jetzt meine ganzen Fragen u. Antworten abgespeichert sind... |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Feld(1,1) ist die erste Frage
Feld(1,2) ist die erste Antwort Feld(2,1) ist die zweite Frage also Feld(1+1,1) Feld(3,1) ist die dritte Frage also Feld(2+1,1) Ich hoffe das zeigt, was ich meine mit Zählvariable wie beim auslesen ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Rotes_Eichhörnchen |
![]() Antworten mit Zitat ![]() |
---|---|---|
das bedeutet wenn ich eingebe:
Code: [AUSKLAPPEN] While Not Eof(filein)
frage$ = ReadLine(filein) Feld(i%, 1) = frage$ antwort$ = ReadLine(filein) Feld(i%, 2) = antwort$ if weiter$=1 then i% = i% + 1 endif Wend oder? nur... das geht nicht... (wir nehmen an, dass ich, wenn icha uf den knopf drücke, dann weiter$ den wert 1 bekommt) also wo ist da der fehler? ich starte das Programm, es wird die erste Frage+Antwort angezeigt, ... aber weiter gehts ned... also wenn ich klicke, passiert genau 0... |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich glaube mich dunkel erinnern zu können, daß jemand bereits erwähnte das eine Variable wie weiter$=1 nicht wirklich richtig funzen kann. Denn: %=Integer (Ganzahlen 0,1,2,3...), #=Float (Fliesskomma 0.0, 0.1, 0.2), $=String (Text "AbCdEfGh"). Die Variable müsste also wie folgt...
weiter%=1 (auch weiter=1) weiter$="1" weiter#=1 ...deklariert sein! Code: [AUSKLAPPEN] While Not Eof(filein)
Feld(i,1)=ReadLine(filein) Feld(i,2)=ReadLine(filein) if weiter=1 then i=i+1 Wend oder auch möglich Code: [AUSKLAPPEN] While Not Eof(filein)
Feld(i,1)=ReadLine(filein) Feld(i,2)=ReadLine(filein) i=i+weiter Wend Ausserdem beginnt ein Dimfeld mit 0 nicht mit 1. Demnach währe Feld(i,0) und Feld(i,1) 'richtiger' angewand. |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sorry wegen Doppelpost... Mir fällt eben auf... Warum liest du die Werte in ein Dimfeld ein nachdem ein Tastendruck erfolgt? Auf diese art und weise kannst du dann auf Dim komplett verzichten. Lies mal die Werte in ein Dim-Feld ein und verarbeite sie dann während der User am Antworten ist. | ||
![]() |
preachie |
![]() Antworten mit Zitat ![]() |
---|---|---|
Höre auf hectic und denke immer an die schöne EVA ![]() Ich meine jetzt nicht die von Adam, sondern das EVA-Prinzip E - Eingabe V - Verarbeitung A - Ausgabe Das bedeutet, dass Du zu Beginn eines jeden Rechenzyklus Du Dir zunächst erstmal alle nötigen Eingaben besorgst, um weiterarbeiten zu können. In Deinem Fall wäre dies, erst einmal komplett Deine Datei einlesen und in ein Dim Feld schreiben, ohne jegliche Ausgabe oder User-Interaktion. Anschließend werden die Daten verarbeitet. Hier werden nun Berechnungen durchgeführt, es werden die Eingaben ggf. auf gewisse Regeln geprüft usw. In Deinem Programm würde nach dem Einlesen der Daten aus der Datei der Verarbeitungsteil mehr oder weniger wegfallen, da am Anfang noch nix gemacht werden muss. Also kommen wir zur Ausgabe. Hier gibst Du nun Deine erste Frage aus. Und schon beginnt der neue Rechenzyklus und es beginnt wieder bei der Eingabe. Dieses Mal fragst Du die Useraktion ab, für welche Antwort sich der User entschieden hat. In dem Verarbeitungsblock muss diesmal was gemacht werden, nämlich geprüft, was der User geantwortet hat, ob das richtig ist und wie weiter verfahren werden soll (falsche Antwort -> raus, falsche Antwort -> nochmal, richtige Antwort -> nächste Frage, usw usf.) Darauf hin folgt dann wieder die Ausgabe an den User. So gehts immer weiter, von völligen Anfang des Programms, bis zum Ende. Klar, es ist nicht immer 100% klar, was zu welchem Bereich von EVA gehört und ist dies auch kein festes Gesetz sondern eine, hmm, Empfehlung/Möglichkeit, doch es soll helfen, gewisse Strukturen in der Programmierung einzuhalten. Auch wird es mit der Zeit leichter, Anwendungen zu programmieren, wenn man sich über den Ablauf bewusst ist. Wenn Du eine neue Applikation programmieren willst, egal ob Spiel oder sonstwas, schalte erstmal den Monitor aus und überlege ![]() Mach Dir einen Kopf, wie was am besten Ablaufen könnte/sollte/müsste. Es gibt in der Programmierung keine starren Verarbeitungschemen, jeder kann mehr oder weniger so programmieren wie er möchte, aber mit der Zeit wirst auch Du erkennen, dass es viel einfacher wird, wenn man ein eigenes Schema einhält (jeder hat seinen eigenen Programmierstil, manche sind eleganter, andere weniger, aber das Ziel wird in beiden Fällen erreicht ![]() Es kann auch Sinn machen, vor der Programmierung seine Gedanken zu den Abläufen auf Papier zu bringen... hierzu eignen sich Programmablaufpläne oder (Nassi-Shneiderman)-Diagramme (in der Praxis wirst Du kein professionelles Projekt finden, in denen so etwas nicht erstellt wird ![]() Man muss sowas natürlich zu Anfangs auch nicht übertreiben, aber es hilft ungemein. Hmm, toll, mittlerweile habe ich vergessen, was ich eigentlich schreiben wollte, aber vielleicht hilft Dir, oder dem ein oder anderen Neuling, dies ja weiter... Programmieren ist mehr, als nur wild auf der Tastatur rumzuhämmern ![]() Naja, vielleicht fällt mir nachher ja nochmal ein, was ich eigentlich schreiben wollte ![]() Gruß Preachie |
||
![]() |
Rotes_Eichhörnchen |
![]() Antworten mit Zitat ![]() |
---|---|---|
i know... ich hab in der Schule programmieren, und da lernen wir das ganze mit Flussdiagramm, u. so.
also das habe ich auch gemacht... aber ich habe als Punkt genommen: Frange/Antwort ausgeben. Hatte nicht gedacht, dass das so kompliziert ist^^... also ich try es nochmal... ok... ich hab da jetzt schon mal was geschaft: wenn ich auf das file klicke, dann bekomme ich einmal die Anzahl der Zeilen... Code: [AUSKLAPPEN] While Not Eof(filein)
ReadLine(filein) i = i + 1 anzahl=i Wend soo... jetzt muss ich die Files einlesen: das mach ich einmal so: Code: [AUSKLAPPEN] a=0
While Not Eof(filein) Feld(a,1)=ReadLine(filein) Feld(a,2)=ReadLine(filein) a=a+1 Wend und, weil ich so lustig drauf bin, teste ich einmal, ob das jetzt funzt, und gebe folgendes aus: Code: [AUSKLAPPEN] Text 100,500, "" + Feld(0,1)
Text 100,520, "" + Feld(0,2) Text 100,540, "" + Feld(1,1) Text 100,560, "" + Feld(1,2) Text 100,580, "" + Feld(2,1) Text 100,600, "" + Feld(2,2) ok, freue mich schon (keine Fehlermeldungen, oder Warnungen) und dann kommt das: 0 0 0 0 0 0 wo eigentlich der Text stehen sollte... wwade mache ich falsch? |
||
![]() |
Rotes_Eichhörnchen |
![]() Antworten mit Zitat ![]() |
---|---|---|
hab das problem gefunden
Feld$(x,y) danke trotzdem an alle!"! Frue mich ja sooo |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group