Hallo liebe Community in den letzten Tagen versuchte ich ein Quiz zu schreiben der erste Prototype hatte auch funktioniert doch der hatte hardcodded Fragen und da ich dies unschön fand versuchte ich die fragen aus einer Text Datei in eine stringlist zu laden und von dieser in ein Array doch beim schreiben in das Array erhalte ich ein SIGSEGV exeption und ich habe keine ahnung wo diese herkommt. Der Fehler steckt in der procedure arraybeladen.
Ich hoffe es kann mir jemand helfen.
[quote=gorcher]
also Stringlisten starten bei "0"
[/quote]
Die stringliste habe ich bei 1 gestartet weil ich vor habe in einer späteren version frei diffinierbare joker einzubauen
die in der ersten zeil deffiniert werden sollen aber trozdem danke für den hinweis.
[quote=m.fuchs]
So muss das aussehen: fragenliste := TStringList.Create;
[/quote]
ok Danke, also mit den korrekturen die du vorgeschlagen hast ist die SIGSEGV meldung weg aber dafür kriege ich eine neue fehlermeldung "List index (3) out of bounds" ich hoffe du kannst mir auch hier helfen.
Zuletzt geändert von Dragon am Do 20. Mär 2014, 22:34, insgesamt 1-mal geändert.
fragenliste := TStringlist.Create;
fragenliste.LoadFromFile('/home/Dragon/Dokumente/testfragen/Quiz1.txt');
for i:=0 to fragenliste.count-1 do
begin
zuscannen := fragenliste[i];
fragenlange := length(zuscannen);
item := 1;
for ii:=1 to fragenlange do
begin
if zuscannen[ii] = ';' then
inc(item)
else
Fragen[i][item] := Fragen[i][item] + zuscannen[ii];
end;
end;
fragenliste.Free;
aber wenn Du mich fragst würde ich es anders lösen, ich weiß ja nicht wie deine Textdatei aussieht aber das sieht alles andere als schön aus
MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
hier sollen die joker diffiniert werden
test Frage;hallo1;hallo2;hallo3;hallo4;hallo1
test Frage2;hallo1;hallo2;hallo3;hallo4;hallo2
wobei der teil vor dem ersten simikolon die Frage darstellt dann kommen die vier Antwortmöglihkeiten und das sechste element ist dann die richtige Antwort
ich hab die datei so aufgebaut das ich immer eine Frage mit Antworten in eine Zeile gekriegt habe weil mir kein effektiwerer weg eingefallen ist aber für vorschläge zur verbesserung bin ich natürlih offen.
Zuletzt geändert von Dragon am Do 20. Mär 2014, 22:53, insgesamt 3-mal geändert.
Siehe oben Stringlisten beginnen bei 0 (Dein Joker) und enden bei count-1 (Deine 2 Fragen) dann werden die 2 Zeilen aus Deiner Datei auch richtig gelesen, dann kommt der Zugriff auf count (3. Frage) die ja nicht existiert und da ist Dein Fehler, siehe mein Beispiel.
MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me