![]() |
Anfänger Problem - Psychologietest
Also ich habe folgendes vor / bin dabei
einen psychologie Test zu programmieren der bei einer Frage die auf eine bestimmte Weise beantworte wird, halt den Werten: „schizoid“ , „depressiv“, “hysterisch“, “zwanghaft“ und so genannten Lügenfragen. Jedoch habe ich im Moment ein Problem das mich stutzen lässt. Erstmal der Quellcode: das formular wo so ziemlich außer namensabfrage und auswertung abläuft:
Delphi-Quellcode:
So das Problem was gelöst werden muss ist das beim antworten nur bei der Frage : „ frage[3,0,0] “ auch wirklich ein wert zur Variable addiert wird. Bei allen anderen Fragen nicht.
unit Unit2;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm2 = class(TForm) Label1: TLabel; Label2: TLabel; label_vorname: TLabel; label_nachname: TLabel; Button1: TButton; label_text: TLabel; Button2: TButton; label_frage: TLabel; RadioButton1: TRadioButton; RadioButton2: TRadioButton; RadioButton3: TRadioButton; RadioButton4: TRadioButton; RadioButton5: TRadioButton; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } schizoid,hysterisch,depressiv,luegen,zwanghaft:integer; Seite:integer; //frage:array of tfrage; frage: array[1..100,0..2,0..2] of string; dummy:integer; end; var Form2: TForm2; implementation uses Unit1, Unit3; {$R *.dfm} procedure TForm2.Button1Click(Sender: TObject); begin form1.close; end; procedure TForm2.FormCreate(Sender: TObject); begin Radiobutton1.Hide; Radiobutton2.Hide; Radiobutton3.Hide; Radiobutton4.Hide; Radiobutton5.Hide; label_text.caption:='Lieber Testteilnehmer,'+#13+#10+'Liebe Testteilnehmerin,'+#13+#10+#13+#10'dies ist ein Test, der Ihr Freizeitverhalten untersuchen wird. Ich bitte Sie, alle Fragen so zu '+#13+#10+'beantworten, dass Ihre Antworten am besten Ihrer Einstellung entsprechen. Neben jeder Frage '+#13+#10+'sehen Sie fünf Antwortmöglichkeiten. Die Kästchen dazwischen geben jeweils Zwischenwerte an,'+#13+#10+' damit Sie ihre Antworten'+#13+#10+'besser abstufen können. Lassen Sie bitte keine Frage aus und entscheiden Sie spontan, welche '+#13+#10+'Antwort am besten zu Ihnen passt.'; Frage[1,0,0]:='Bei Diskussionen halte ich mich her zurück.'; Frage[2,0,0]:='Die meisten Menschen sind mir zu neugierig.'; Frage[3,0,0]:='Ich spiele gerne Fußball.'; Frage[4,0,0]:='Ich werde bestimmt mal im Lotto gewinnen. '; Frage[1,1,0]:='d'; Frage[2,1,0]:='s.'; Frage[3,1,0]:='z'; Frage[4,1,0]:='dummy'; end; procedure TForm2.Button2Click(Sender: TObject); begin case seite of 0:begin label_text.Caption:=''; label_frage.caption:=frage[1,0,0]; Radiobutton1.show; Radiobutton2.show; Radiobutton3.show; Radiobutton4.show; Radiobutton5.show; Seite:=seite+1; end; 1..4: begin if (radiobutton1.Checked=false)AND(radiobutton1.Checked=false)AND(radiobutton2.Checked=false)AND(radiobutton3.Checked=false)AND(radiobutton4.Checked=false)AND(radiobutton5.Checked=false) then begin messagedlg('Du hast keine Auswahl getroffen',mterror,[mbok],1); abort; end else label_frage.caption:=frage[seite+1,0,0]; if radiobutton1.Checked=true then begin if frage[(seite+1),1,0]= 'd' then depressiv:=depressiv+2 ; if frage[(seite+1),1,0]= 's' then schizoid:=schizoid+2 ; if frage[(seite+1),1,0]= 'z' then zwanghaft:=zwanghaft+2 ; if frage[(seite+1),1,0]= 'h' then hysterisch:=hysterisch+2 ; if frage[(seite+1),1,0]= 'l' then luegen:=luegen+1 ; if frage[(seite+1),1,0]= 'dummy' then dummy:=dummy+0 ; end; if radiobutton2.Checked=true then begin if frage[seite+1,1,0]= 'd' then depressiv:=depressiv+1 ; if frage[seite+1,1,0]= 's' then schizoid:=schizoid+1 ; if frage[seite+1,1,0]= 'z' then zwanghaft:=zwanghaft+1 ; if frage[seite+1,1,0]= 'h' then hysterisch:=hysterisch+1 ; if frage[seite+1,1,0]= 'l' then luegen:=luegen+1 ; if frage[seite+1,1,0]= 'dummy' then dummy:=dummy+0 ; end; messagedlg('Depressiv:'+inttostr(depressiv)+', schizoid:'+inttostr(schizoid)+',zwanghaft:'+inttostr(zwanghaft)+',lügen:'+inttostr(luegen)+'.',mtinformation,[mbok],1); Radiobutton1.Checked:=false; Radiobutton2.Checked:=false; Radiobutton3.Checked:=false; Radiobutton4.Checked:=false; Radiobutton5.Checked:=false; seite:=seite+1; end; 5: begin form2.Hide; form3.show; form3.label_depressiv.caption:=inttostr(depressiv); form3.label_schizoid.caption:=inttostr(schizoid); form3.label_zwanghaft.caption:=inttostr(zwanghaft); form3.label_hysterisch.caption:=inttostr(hysterisch); //form3.label_luegen.caption:=inttostr(luegen); end; end; end; end. Erstmal nur wichtig das er die Ergebnisse richtig zählt.... \\\\\\\\ Zur kurzen Erläuterung : 1. ich bin absoluter Anfänger 2. ich bin Anfänger ;) 3. ein array mit 3 dimensionen weil ich in der frage / var irgendwo die frage, die kategorie und später auch noch die gegenfrage abspeichert. |
Re: Anfänger Problem - Psychologietest
Hmm soweit ich das verstanden habe, ist in deinem Fall kein 3Dimensionales Array nötig.
Du kannst das Ganze über einen Record lösen:
Delphi-Quellcode:
So brauchst du nur ein Array[AnzahlDerFragen] of TFrage
type
TFrage = record Frage: String; Antworten: Array[0..3] of string; Zuordnung: Array[0..3] of byte; end Zuordnung sagt, welche Antwort welchem Typ zugeordnet wird, du könntest also zum beispiel folgendes machen:
Delphi-Quellcode:
Hoffe ich hab das beschrieben was du meinst und es war nicht zun kompliziert
var
Fragen: Array[0..99] of TFrage; //..... begin Fragen[0].Frage := 'Glas ist Halbvoll oder halbleer?' Fragen[0].Antwort[0] := 'Halbvoll'; Fragen[0].Antwort[1] := 'Halbleer'; //... Fragen[0].Zuordnung[0] := 1; Fragen[1].Zuordnung[1] := 3; // USW... DU hast ein Array, wo die Anzahl der Jeweiligen Typen drinsteht, so kannst du zum Beispiel inc(Typen[Fragen[AktuelleFrage].Zuordnung[GewählteFrage]]) |
Re: Anfänger Problem - Psychologietest
Zitat:
|
Re: Anfänger Problem - Psychologietest
okay mal abgesehen von dem Beitrag von Luckie der für einen Anfänger
nicht gerade sehr konsruktiv ist schonmal danke an Tormentor32. Also das mit dem Record hab ich soweit gerafft. Allerdings .. Wozu brauche ich ?
Delphi-Quellcode:
Es gibt indem Sinne keine Antworten...
Fragen[0].Antwort[0] := 'Halbvoll';
es läuft nur so ab das man 5 Knöppe hat und ganz links is "trifft sehr stark zu" und ganz rechts "trifft garnicht zu" Sodass beim radiobutton1 für diesen den fragenspezifischen presönlichkeits wert "2" addiert wird. beim Radiobutton2 nurnoch "1" und bei den restlichen garkeine mehr. Daher versteh ich im Moment nicht ganz wo ich die addition zu der bersönlickeitsvariable unterbringe. Zitat:
|
Re: Anfänger Problem - Psychologietest
Hmm dann hab ich dein Quiz ein wenig falsch verstanden...
Bevor ich mir jetzt die Arbeit mache^^ frag ich lieber nochmal nach: Du willst erreichen, dass man bestimmte Fragen beantwortet, indem man quasi eine Zahl zwischen 1 und 5 angibt (Trifft nicht zu bis trifft voll zu). Jede Frage wird einem bestimmten "Menschtyp" zugeordnet und hinterher wird ausgewertet, welcher Menschtyp die meisten Punkte hat. Sehe ich das richtig? Ach übrigens, Luckies Beitrag ist wichtiger als du denkst, denn ein gut durchformatierter Quelltext ist sehr wichtig, und wenn du dein Programm bessispielsweise 2 Jahre lang nicht anguckst, dann kannst du bei einem gut formatiertem Quelltext viel schneller durchblicken. |
Re: Anfänger Problem - Psychologietest
Also ist ein psychologischer Test der darauf abziehlt am ende die Punkte zahl zu ermitteln zuwieviel % oder Punkten man ein :
-depressiver -hysterischer -zwanghafter -schizoider Mensch ist. Man bekommt eine Frage ( so um die 40 sinds ) dann hat man 5 Knöpfe .. so ungefähr (O = radiobutton) trifft sehr stark zu | O O O O O | trifft garnicht zu. wenn man ganz links klickt ( also bei "trifft sehr stark zu" ) soll erzu der gruppe die die Frage angehört 2 Punkte hinzu addieren. Beim 2. Knopf von links nurnoch 1 punkt und die restlichen 3 Knöpfe immer NUll. Beispiel : 1. Bei Diskussionen halte ich mich her zurück. (nicht sichtbar : Kategorie: depressiv) O O O O O ( ich klicke mal den 2. knopf von links an ) --> Auswertung : Du bist : Depressiv : 1 Punkt ------------------------------------------- Das ist die Hauptaufgabe des Programms. Später soll noch hinzukommen das es Vergleichsfragen gibt. z.B. Frage nr. 2 Ich habe schnell Mitleid Frage nr. 34 Ich kann gut mit dem Leid anderer mitfühlen Wenn da beide mit "ja trifft zu" bewertet werden wird das halt gegengerechnet.... aber das erst später.. ^^ Ich hofe war verständlich genug ^^ |
Re: Anfänger Problem - Psychologietest
Zitat:
Delphi-Quellcode:
Und das:
procedure TForm2.Button2Click(Sender: TObject);
begin case seite of 0:begin label_text.Caption:=''; label_frage.caption:=frage[1,0,0]; Radiobutton1.show; Radiobutton2.show; Radiobutton3.show; Radiobutton4.show; Radiobutton5.show; Seite:=seite+1; end; 1..4: begin if (radiobutton1.Checked=false)AND(radiobutton1.Checked=false)AND(radiobutton2.Checked=false)AND(radiobutton3.Checked=false)AND(radiobutton4.Checked=false)AND(radiobutton5.Checked=false) then begin messagedlg('Du hast keine Auswahl getroffen',mterror,[mbok],1); abort; end else label_frage.caption:=frage[seite+1,0,0]; if radiobutton1.Checked=true then begin if frage[(seite+1),1,0]= 'd' then depressiv:=depressiv+2 ; if frage[(seite+1),1,0]= 's' then schizoid:=schizoid+2 ; if frage[(seite+1),1,0]= 'z' then zwanghaft:=zwanghaft+2 ; if frage[(seite+1),1,0]= 'h' then hysterisch:=hysterisch+2 ; if frage[(seite+1),1,0]= 'l' then luegen:=luegen+1 ; if frage[(seite+1),1,0]= 'dummy' then dummy:=dummy+0 ; end; if radiobutton2.Checked=true then begin if frage[seite+1,1,0]= 'd' then depressiv:=depressiv+1 ; if frage[seite+1,1,0]= 's' then schizoid:=schizoid+1 ; if frage[seite+1,1,0]= 'z' then zwanghaft:=zwanghaft+1 ; if frage[seite+1,1,0]= 'h' then hysterisch:=hysterisch+1 ; if frage[seite+1,1,0]= 'l' then luegen:=luegen+1 ; if frage[seite+1,1,0]= 'dummy' then dummy:=dummy+0 ; end; messagedlg('Depressiv:'+inttostr(depressiv)+', schizoid:'+inttostr(schizoid)+',zwanghaft:'+inttostr(zwanghaft)+',lügen:'+inttostr(luegen)+'.',mtinformation,[mbok],1); Radiobutton1.Checked:=false; Radiobutton2.Checked:=false; Radiobutton3.Checked:=false; Radiobutton4.Checked:=false; Radiobutton5.Checked:=false; seite:=seite+1; end; 5: begin form2.Hide; form3.show; form3.label_depressiv.caption:=inttostr(depressiv); form3.label_schizoid.caption:=inttostr(schizoid); form3.label_zwanghaft.caption:=inttostr(zwanghaft); form3.label_hysterisch.caption:=inttostr(hysterisch); //form3.label_luegen.caption:=inttostr(luegen); end; end;
Delphi-Quellcode:
Formatierter Code hilft die Übersicht zu behalten und Fehler zu vermeiden bzw. schnell zu finden. Fehler wie: Falsch verschachteklte Schleifen und Bedingungen, fehlende begins und ends, Fehler in der Logik und im Programmablauf. Und hier im Forum, können auch noch andere ausser dir den Code lesen und verstehen und das willst du ja wohl.
procedure TForm2.Button2Click(Sender: TObject);
begin case seite of 0: begin label_text.Caption := ''; label_frage.caption := frage[1, 0, 0]; Radiobutton1.show; Radiobutton2.show; Radiobutton3.show; Radiobutton4.show; Radiobutton5.show; Seite := seite + 1; end; 1..4: begin if (radiobutton1.Checked = false) and (radiobutton1.Checked = false) and (radiobutton2.Checked = false) and (radiobutton3.Checked = false) and (radiobutton4.Checked = false) and (radiobutton5.Checked = false) then begin messagedlg('Du hast keine Auswahl getroffen', mterror, [mbok], 1); abort; end else label_frage.caption := frage[seite + 1, 0, 0]; if radiobutton1.Checked = true then begin if frage[(seite + 1), 1, 0] = 'd' then depressiv := depressiv + 2; if frage[(seite + 1), 1, 0] = 's' then schizoid := schizoid + 2; if frage[(seite + 1), 1, 0] = 'z' then zwanghaft := zwanghaft + 2; if frage[(seite + 1), 1, 0] = 'h' then hysterisch := hysterisch + 2; if frage[(seite + 1), 1, 0] = 'l' then luegen := luegen + 1; if frage[(seite + 1), 1, 0] = 'dummy' then dummy := dummy + 0; end; if radiobutton2.Checked = true then begin if frage[seite + 1, 1, 0] = 'd' then depressiv := depressiv + 1; if frage[seite + 1, 1, 0] = 's' then schizoid := schizoid + 1; if frage[seite + 1, 1, 0] = 'z' then zwanghaft := zwanghaft + 1; if frage[seite + 1, 1, 0] = 'h' then hysterisch := hysterisch + 1; if frage[seite + 1, 1, 0] = 'l' then luegen := luegen + 1; if frage[seite + 1, 1, 0] = 'dummy' then dummy := dummy + 0; end; messagedlg('Depressiv:' + inttostr(depressiv) + ', schizoid:' + inttostr(schizoid) + ',zwanghaft:' + inttostr(zwanghaft) + ',lügen:' + inttostr(luegen) + '.', mtinformation, [mbok], 1); Radiobutton1.Checked := false; Radiobutton2.Checked := false; Radiobutton3.Checked := false; Radiobutton4.Checked := false; Radiobutton5.Checked := false; seite := seite + 1; end; 5: begin form2.Hide; form3.show; form3.label_depressiv.caption := inttostr(depressiv); form3.label_schizoid.caption := inttostr(schizoid); form3.label_zwanghaft.caption := inttostr(zwanghaft); form3.label_hysterisch.caption := inttostr(hysterisch); //form3.label_luegen.caption:=inttostr(luegen); end; end; end; |
Re: Anfänger Problem - Psychologietest
Du solltest jeder Kategorie einen Zahlenwert zuordnen logischerweise:
-depressiver -> 0 -hysterischer -> 1 -zwanghafter -> 2 -schizoider -> 3 Das definierst du dann als Konstanten
Delphi-Quellcode:
Jetzt sieht eine Frage so aus
const
depressiv = 0; hysterisch = 1; zwanghaft = 2; schizoid = 3;
Delphi-Quellcode:
Jetzt Kannst du zum Beispiel mit
type
TFrage = record Frage: string; Kategorie: byte; IndexDerFrageZumGegenrechnen: integer; GewaehlteAntwort: byte; end;
Delphi-Quellcode:
einfach eine Kategorie zuweisen. In gewählte Antwort wird gespeichert, was der Benutzer gewählt hat, und hinterher, wenn der test fertig ist, kannst du das ganze einfach mit einer Schleife auswerten.
Fragen[0].Kategorie := hysterisch
Klar soweit? :wink: |
Re: Anfänger Problem - Psychologietest
Das war viel konstruktiver =)
Naja ok. Ich finde allerdings deinen Text auch teilweise gewöhnungsbedürftig.^^ Meiner Sieht teilweise aber viel schlimmer aus da hast schon recht was nicht NUR auf 2 Monitore und daher ewig lange Textphrasen, zurück zu führen ist.^^ Klar ich versuch mich zu bessern. Einmal begin und end vergessen hab ich auch gefunden .. allerdings ändert das dass endergebnis nicht wirklich. |
Re: Anfänger Problem - Psychologietest
Danke Tormentor32.
Ich werde das gleich mal wenn ich per VNC zu haus wieder ruff kann versuchen.( Bin auf Arbeit xD ) Ich glaube es verstanden zu haben... ^^ Mirbahnt also die Umsetzung vor Augen...hoff ich: Die Auswertung würde ja dann wiefolgt ablaufen oder?
Delphi-Quellcode:
Allerdings muss ich doch neue var deklarieren oder ? weil die Kategorien sind ja const nichwahr? ^^
case Frage[zaehlvariable].antwort of
1: frage[zaehlvariable].kategorie +2 2: frage[zaehlvariable].kategorie +1 3: frage[zaehlvariable].kategorie +0 4: frage[zaehlvariable].kategorie +0 ( wie gesagt anfänger) |
DP-Maintenance
Dieses Thema wurde von "SirThornberry" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.
|
Re: Anfänger Problem - Psychologietest
Nein so hatte ich das nicht gemeint :wink:
Delphi-Quellcode:
Wenn du deine Schleife durchläufst passiert folgendes (Du brauchst dafür noch ein Array of integer, mit von 0 bis 3)
type
TFrage = record Frage: string; // Die Frage Kategorie: byte; // Welcher Kategorie wird diese Frage zugeordnet? Die Kategorien ändern sich NIE IndexDerFrageZumGegenrechnen: integer; // Welche Frage wird mit dieser Frage gegengerechnet? GewaehlteAntwort: byte; // Hier steht drin, was man angekreuzt hat end;
Delphi-Quellcode:
Hinterher kannst du dann einfach schauen, welcher Wert am höchsten ist oder so.
var
Werte: Array[0..3] of integer; ///// UND IN DER SCHLEIFE //// inc(Werte[Fragen[i].Kategorie],Fragen[i].GewaehlteAntwort); // Jeder Kategorie ist eine Zahl zugeordnet | Welche Kategorie eine Frage hat Steht in Fragen[i].Kategorie also muss ich den Wert im Werte-Array erhöhen, der Die kategorie repräsentiert | Und zwar um den Wert der Antwort, also GewaehlteAntwort (Es wird nicht die Nummer der Antwort gespeichert, sondern der Wert) Fragen? :wink: Edit: Da fällt mir auf: Herzlich Willkommen in der DP! :dance: :dp: :cheers: :party: |
Re: Anfänger Problem - Psychologietest
Ja Danke. =)
Ich hab wie gesagt erst angefangen mit Delphi und in dem Forum wo ich mich sonst so aufhalte gibts nicht viele Delphi bewanderte... ^^ Also Problem, ich weis das tut schon langsam weh dieses gefrage. Aber wo deklariere ich den type? vor dem Var bereich der unit , oder vor dem ereignis? |
Re: Anfänger Problem - Psychologietest
Also hab das jetzt so einigermaßen umgesetzt.
Allerdings bekomme ich nachdem ich ich frage 5 beendet hab einen Fehler der das Programm terminiert.
Delphi-Quellcode:
Ich hoffe es is auch einigermaßen den wünschen formatiert..
unit Unit2;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm2 = class(TForm) Label1: TLabel; Label2: TLabel; label_vorname: TLabel; label_nachname: TLabel; Button1: TButton; label_text: TLabel; Button2: TButton; label_frage: TLabel; RadioButton1: TRadioButton; RadioButton2: TRadioButton; RadioButton3: TRadioButton; RadioButton4: TRadioButton; RadioButton5: TRadioButton; Label3: TLabel; Label4: TLabel; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button2Click(Sender: TObject); //Tfrage = array[0..1] of string; private { Private-Deklarationen } public { Public-Deklarationen } Seite:integer; dummy:integer; i:integer; e_depressiv,e_zwanghaft,e_hysterisch,e_dummy,e_schizoid:integer; end; var Form2: TForm2; type TFragen = record Frage: string; Kategorie: byte; IndexDerFrageZumGegenrechnen:integer; GewaehlteAntwort:byte; end; const depressiv = 0; hysterisch = 1; zwanghaft = 2; schizoid = 3; dummy = 4; var Fragen: array [1..50] of TFragen; implementation uses Unit1, Unit3; {$R *.dfm} procedure TForm2.Button1Click(Sender: TObject); begin form1.close; end; procedure TForm2.FormCreate(Sender: TObject); begin Radiobutton1.Hide; Radiobutton2.Hide; Radiobutton3.Hide; Radiobutton4.Hide; Radiobutton5.Hide; label4.Hide; label3.Hide; label_text.caption:= 'Lieber Testteilnehmer,'+#13+#10+'Liebe Testteilnehmerin,'+#13+#10+#13+#10+ 'dies ist ein Test, der Ihr Freizeitverhalten untersuchen wird. Ich bitte Sie, alle Fragen so zu ' +#13+#10+ 'beantworten, dass Ihre Antworten am besten Ihrer Einstellung entsprechen. Neben jeder Frage '+#13+#10+'sehen Sie fünf Antwortmöglichkeiten. Die Kästchen dazwischen geben jeweils Zwischenwerte an,'+#13+#10+ ' damit Sie ihre Antworten'+#13+#10+'besser abstufen können. Lassen Sie bitte keine Frage aus und entscheiden Sie spontan, welche '+#13+#10+ 'Antwort am besten zu Ihnen passt.'; fragen[1].Frage:='Bei Diskussionen halte ich mich her zurück. '; fragen[1].Kategorie:= 0 ; fragen[2].Frage:='Die meisten Menschen sind mir zu neugierig. '; fragen[2].Kategorie:= 3 ; fragen[3].Frage:='Ich habe viele Klamotten im Schrank, die mir zum Anziehen zu schade sind.'; fragen[3].Kategorie:= 2 ; end; procedure TForm2.Button2Click(Sender: TObject); var i :integer; begin case seite of 0: begin label_text.Caption:=''; label_frage.caption:=fragen[1].Frage; Radiobutton1.show; Radiobutton2.show; Radiobutton3.show; Radiobutton4.show; Radiobutton5.show; label3.Show; label4.Show; Seite:=seite+2; end; 1..3: begin if (radiobutton1.Checked = false) and (radiobutton1.Checked = false) and (radiobutton2.Checked = false) and (radiobutton3.Checked = false) and (radiobutton4.Checked = false) and (radiobutton5.Checked = false) then begin messagedlg('Du hast keine Auswahl getroffen', mterror, [mbok], 1); abort; end else begin label_frage.caption := fragen[seite].Frage; if radiobutton1.Checked then fragen[seite].GewaehlteAntwort := 2; if radiobutton2.Checked then fragen[seite].GewaehlteAntwort := 1; if radiobutton3.Checked then fragen[seite].GewaehlteAntwort := 0; if radiobutton4.Checked then fragen[seite].GewaehlteAntwort := 0; if radiobutton5.Checked then fragen[seite].GewaehlteAntwort := 0; radiobutton1.Checked := false; radiobutton2.Checked := false; radiobutton3.Checked := false; radiobutton4.Checked := false; radiobutton5.Checked := false; seite:= seite +1; end; end; 4: begin while i < 4 do if fragen[i].Kategorie= 0 then e_depressiv := e_depressiv + fragen[i].GewaehlteAntwort; // irgendwo hier if fragen[i].Kategorie= 1 then e_hysterisch := e_hysterisch + fragen[i].GewaehlteAntwort;//muss der Fehler if fragen[i].Kategorie= 2 then e_zwanghaft := e_zwanghaft + fragen[i].GewaehlteAntwort;//liegen if fragen[i].Kategorie= 3 then e_schizoid := e_schizoid + fragen[i].GewaehlteAntwort; if fragen[i].Kategorie= 4 then e_dummy := e_dummy + fragen[i].GewaehlteAntwort; i:=i+1 end; End; messagedlg('e_depressiv='+inttostr(e_depressiv)+ ':: e_hysterisch='+inttostr(e_hysterisch)+ '::e_zwanghaft ='+inttostr(e_zwanghaft)+ ':: e_schizoid ='+inttostr(e_schizoid)+ '::',mtinformation,[mbok],1); end; end. |
Re: Anfänger Problem - Psychologietest
Zitat:
|
Re: Anfänger Problem - Psychologietest
Also ich habe mich nun schon sehr weit vorgewagt und es funktioniert auch alles soweit schon FAST ganz gut.
Nur beim Zusammenzählen der gegebenen Antworten muckt er irgendwie rum. Ichhab mit Absicht nur die Depressiv fragen positiv beantwortet. Es sind bisher 3 an der Zahl allerdings rechnet er im Endeffekt bei schizoid 2 dazu und bei hysterisch. Ansonsten garkeinen ... o.O ich versteh es einfach nichtmehr T_T \\\ DONE
Delphi-Quellcode:
unit Unit2;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm2 = class(TForm) Label1: TLabel; Label2: TLabel; label_vorname: TLabel; label_nachname: TLabel; Button1: TButton; label_text: TLabel; Button2: TButton; label_frage: TLabel; RadioButton1: TRadioButton; RadioButton2: TRadioButton; RadioButton3: TRadioButton; RadioButton4: TRadioButton; RadioButton5: TRadioButton; Label3: TLabel; Label4: TLabel; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button2Click(Sender: TObject); //Tfrage = array[0..1] of string; private { Private-Deklarationen } e_depressiv,e_zwanghaft,e_hysterisch,e_dummy,e_luegen,e_schizoid:integer; public { Public-Deklarationen } Seite:integer; dummy:integer; i:integer; end; var Form2: TForm2; type TFragen = record Frage: string; Kategorie: byte; IndexDerFrageZumGegenrechnen:integer; GewaehlteAntwort:byte; end; const depressiv = 1; const hysterisch = 2; const zwanghaft = 3; const schizoid = 4; const dummy = 5; const luegen = 6; var Fragen: array [0..50] of TFragen; implementation uses Unit1, Unit3; {$R *.dfm} procedure TForm2.Button1Click(Sender: TObject); begin form1.close; end; procedure TForm2.FormCreate(Sender: TObject); begin //form2.Button2.SetFocus; Radiobutton1.Hide; Radiobutton2.Hide; Radiobutton3.Hide; Radiobutton4.Hide; Radiobutton5.Hide; label4.Hide; label3.Hide; label_text.caption:= 'Lieber Testteilnehmer,'+#13+#10+'Liebe Testteilnehmerin,'+#13+#10+#13+#10+ 'dies ist ein Test, der Ihr Freizeitverhalten untersuchen wird. Ich bitte Sie, alle Fragen so zu ' +#13+#10+ 'beantworten, dass Ihre Antworten am besten Ihrer Einstellung entsprechen. Neben jeder Frage '+#13+#10+'sehen Sie fünf Antwortmöglichkeiten. Die Kästchen dazwischen geben jeweils Zwischenwerte an,'+#13+#10+ ' damit Sie ihre Antworten'+#13+#10+'besser abstufen können. Lassen Sie bitte keine Frage aus und entscheiden Sie spontan, welche '+#13+#10+ 'Antwort am besten zu Ihnen passt.'; fragen[0].Frage:='Bei Diskussionen halte ich mich her zurück. '; fragen[0].Kategorie:= 1 ; fragen[1].Frage:='Die meisten Menschen sind mir zu neugierig. '; fragen[1].Kategorie:= 4 ; fragen[2].Frage:='Ich habe viele Klamotten im Schrank, die mir zum Anziehen zu schade sind.'; fragen[2].Kategorie:= 3 ; fragen[3].Frage:='Ich spiele gerne Fußball.'; fragen[3].Kategorie:= 5 ; fragen[4].Frage:='Ich werde bestimmt mal im Lotto gewinnen.'; fragen[4].Kategorie:= 2 ; fragen[5].Frage:='Ich fühle mich mit regelmäßigem Tagesablauf am wohlsten.'; fragen[5].Kategorie:= 3 ; fragen[6].Frage:='Ich brache viel Zeit für mich. '; fragen[6].Kategorie:= 4 ; fragen[7].Frage:='Ich habe schnell Mitleid. '; fragen[7].Kategorie:= 1 ; fragen[7].IndexDerFrageZumGegenrechnen :=32; fragen[8].Frage:='Ein Umzug in eine völlig neue Gegend wäre nichts für mich.'; fragen[8].Kategorie:= 3 ; fragen[8].IndexDerFrageZumGegenrechnen:= 24; fragen[9].Frage:='Immer mit den gleichen Leuten unterwegs zu sein ist mir zu langweilig'; fragen[9].Kategorie:= 2 ; fragen[9].IndexDerFrageZumGegenrechnen:= 34; fragen[10].Frage:='Man sollte lieber seine Meinung für sich behalten, um keinen Streit zu provozieren.'; fragen[10].Kategorie:= 1 ; fragen[11].Frage:='Mein Verhalten ist immer einwandfrei.'; fragen[11].Kategorie:= 6 ; end; procedure TForm2.Button2Click(Sender: TObject); var i :integer ; begin case seite of 0: begin label_text.Caption:=''; label_frage.caption:=fragen[seite].Frage; Radiobutton1.show; Radiobutton2.show; Radiobutton3.show; Radiobutton4.show; Radiobutton5.show; label3.Show; label4.Show; Seite:=seite+1; end; 1..11: begin if (radiobutton1.Checked = false) and (radiobutton1.Checked = false) and (radiobutton2.Checked = false) and (radiobutton3.Checked = false) and (radiobutton4.Checked = false) and (radiobutton5.Checked = false) then begin messagedlg('Du hast keine Auswahl getroffen', mterror, [mbok], 1); abort; end else begin label_frage.caption := fragen[seite].Frage; if radiobutton1.Checked then begin if fragen[seite].Kategorie= 1 then e_depressiv:=e_depressiv +2; if fragen[seite].Kategorie= 2 then e_hysterisch:=e_hysterisch +2; if fragen[seite].Kategorie= 3 then e_zwanghaft:=e_zwanghaft +2; if fragen[seite].Kategorie= 4 then e_schizoid:=e_schizoid +2; if fragen[seite].Kategorie= 5 then e_dummy:=e_dummy +2; if fragen[seite].Kategorie= 6 then e_luegen:=e_luegen +1; end; if radiobutton2.Checked then begin if fragen[seite].Kategorie= 1 then e_depressiv:=e_depressiv +1; if fragen[seite].Kategorie= 2 then e_hysterisch:=e_hysterisch +1; if fragen[seite].Kategorie= 3 then e_zwanghaft:=e_zwanghaft +1; if fragen[seite].Kategorie= 4 then e_schizoid:=e_schizoid +1; if fragen[seite].Kategorie= 5 then e_dummy:=e_dummy +1; if fragen[seite].Kategorie= 6 then e_luegen:=e_luegen +1; end; if radiobutton3.Checked then begin if fragen[seite].Kategorie= 1 then e_depressiv:=e_depressiv +0; if fragen[seite].Kategorie= 2 then e_hysterisch:=e_hysterisch +0; if fragen[seite].Kategorie= 3 then e_zwanghaft:=e_zwanghaft +0; if fragen[seite].Kategorie= 4 then e_schizoid:=e_schizoid +0; if fragen[seite].Kategorie= 5 then e_dummy:=e_dummy +0; if fragen[seite].Kategorie= 6 then e_luegen:=e_luegen +0; end; if radiobutton4.Checked then begin if fragen[seite].Kategorie= 1 then e_depressiv:=e_depressiv +0; if fragen[seite].Kategorie= 2 then e_hysterisch:=e_hysterisch +0; if fragen[seite].Kategorie= 3 then e_zwanghaft:=e_zwanghaft +0; if fragen[seite].Kategorie= 4 then e_schizoid:=e_schizoid +0; if fragen[seite].Kategorie= 5 then e_dummy:=e_dummy +0; if fragen[seite].Kategorie= 6 then e_luegen:=e_luegen +0; end; if radiobutton5.Checked then begin if fragen[seite].Kategorie= 1 then e_depressiv:=e_depressiv +0; if fragen[seite].Kategorie= 2 then e_hysterisch:=e_hysterisch +0; if fragen[seite].Kategorie= 3 then e_zwanghaft:=e_zwanghaft +0; if fragen[seite].Kategorie= 4 then e_schizoid:=e_schizoid +0; if fragen[seite].Kategorie= 5 then e_dummy:=e_dummy +0; if fragen[seite].Kategorie= 6 then e_luegen:=e_luegen +0; end; radiobutton1.Checked := false; radiobutton2.Checked := false; radiobutton3.Checked := false; radiobutton4.Checked := false; radiobutton5.Checked := false; seite:= seite +1; end; end; 12: begin form3.label_depressiv.caption := inttostr(e_depressiv); form3.label_zwanghaft.caption := inttostr(e_zwanghaft); form3.label_schizoid.caption := inttostr(e_schizoid); form3.label_hysterisch.caption := inttostr(e_hysterisch); form3.label_luegen.caption := inttostr(e_luegen); form2.Hide; form3.Show; End; end; end; end. |
Re: Anfänger Problem - Psychologietest
so der letzte fehler.. dann läuft das Programm ^^
Delphi-Quellcode:
Das Problem besteht darin das er die Wiedersprüche in den Antworten nicht ausliest.
unit Unit2;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm2 = class(TForm) Label1: TLabel; Label2: TLabel; label_vorname: TLabel; label_nachname: TLabel; Button1: TButton; label_text: TLabel; Button2: TButton; label_frage: TLabel; RadioButton1: TRadioButton; RadioButton2: TRadioButton; RadioButton3: TRadioButton; RadioButton4: TRadioButton; RadioButton5: TRadioButton; Label3: TLabel; Label4: TLabel; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button2Click(Sender: TObject); //Tfrage = array[0..1] of string; private { Private-Deklarationen } e_depressiv,e_zwanghaft,e_hysterisch,e_dummy,e_luegen,e_schizoid,wiedersprochen :integer; public { Public-Deklarationen } Seite:integer; dummy:integer; i:integer; end; var Form2: TForm2; type TFragen = record Frage: string; Kategorie: byte; IndexDerFrageZumGegenrechnen:integer; GewaehlteAntwort:byte; end; const depressiv = 1; const hysterisch = 2; const zwanghaft = 3; const schizoid = 4; const dummy = 5; const luegen = 6; var Fragen: array [0..50] of TFragen; implementation uses Unit1, Unit3; {$R *.dfm} procedure TForm2.Button1Click(Sender: TObject); begin form1.close; end; procedure TForm2.FormCreate(Sender: TObject); //var Datei: TextFile; //var inhalt: String; var i:integer; begin //form2.Button2.SetFocus; Radiobutton1.Hide; Radiobutton2.Hide; Radiobutton3.Hide; Radiobutton4.Hide; Radiobutton5.Hide; label4.Hide; label3.Hide; label_text.caption:= 'Lieber Testteilnehmer,'+#13+#10+'Liebe Testteilnehmerin,'+#13+#10+#13+#10+ 'dies ist ein Test, der Ihr Freizeitverhalten untersuchen wird. Ich bitte Sie, alle Fragen so zu ' +#13+#10+ 'beantworten, dass Ihre Antworten am besten Ihrer Einstellung entsprechen. Neben jeder Frage '+#13+#10+'sehen Sie fünf Antwortmöglichkeiten. Die Kästchen dazwischen geben jeweils Zwischenwerte an,'+#13+#10+ ' damit Sie ihre Antworten'+#13+#10+'besser abstufen können. Lassen Sie bitte keine Frage aus und entscheiden Sie spontan, welche '+#13+#10+ 'Antwort am besten zu Ihnen passt.'; ////////////////////////////// { for i:=0 to 100 do begin AssignFile(Datei,'C:\Programme\Borland\Delphi7\Projects\Login\test.ini'); Reset(Datei); while not eof (Datei) do begin ReadLn(Datei,inhalt); end; end; } ////////////////////////////// fragen[0].Frage:='Bei Diskussionen halte ich mich sehr zurück. '; fragen[0].Kategorie:= 1 ; fragen[1].Frage:='Die meisten Menschen sind mir zu neugierig. '; fragen[1].Kategorie:= 4 ; fragen[2].Frage:='Ich habe viele Klamotten im Schrank, die mir zum '+#13+#10+'Anziehen zu schade sind.'; fragen[2].Kategorie:= 3 ; fragen[3].Frage:='Ich spiele gerne Fußball.'; fragen[3].Kategorie:= 5 ; fragen[4].Frage:='Ich werde bestimmt mal im Lotto gewinnen.'; fragen[4].Kategorie:= 2 ; fragen[5].Frage:='Ich fühle mich mit regelmäßigem Tagesablauf am wohlsten.'; fragen[5].Kategorie:= 3 ; fragen[6].Frage:='Ich brauche viel Zeit für mich. '; fragen[6].Kategorie:= 4 ; fragen[7].Frage:='Ich habe schnell Mitleid. '; fragen[7].Kategorie:= 1 ; fragen[8].Frage:='Ein Umzug in eine völlig neue Gegend wäre nichts für mich.'; fragen[8].Kategorie:= 3 ; fragen[9].Frage:='Immer mit den gleichen Leuten unterwegs zu sein ist '+#13+#10+'mir zu langweilig'; fragen[9].Kategorie:= 2 ; fragen[10].Frage:='Man sollte lieber seine Meinung für sich behalten, '+#13+#10+'um keinen Streit zu provozieren.'; fragen[10].Kategorie:= 1 ; fragen[11].Frage:='Mein Verhalten ist immer einwandfrei.'; fragen[11].Kategorie:= 6 ; fragen[12].Frage:='Ich habe immer einen Plan B, falls was schief geht.'; fragen[12].Kategorie:= 3 ; fragen[13].Frage:='Ich bin offen für jeden neuen Trend. '; fragen[13].Kategorie:= 2 ; fragen[14].Frage:='In jedem Menschen steckt ein guter Kern. '; fragen[14].Kategorie:= 1 ; fragen[15].Frage:='Schlager dürfen auf keiner Party fehlen.'; fragen[15].Kategorie:= 5 ; fragen[16].Frage:='Ich höre immer auf meine Eltern. '; fragen[16].Kategorie:= 6 ; fragen[17].Frage:='Ich liebe es, im Mittelpunkt zu stehen.'; fragen[17].Kategorie:= 2 ; fragen[18].Frage:='Es ist mit egal, was andere über mich denken.'; fragen[18].Kategorie:= 4 ; fragen[19].Frage:='Gefühlsduseleien sind nichts für mich.'; fragen[19].Kategorie:= 4 ; fragen[20].Frage:='Bei einem Streit gibt der Klügere nach.'; fragen[20].Kategorie:= 1 ; fragen[21].Frage:='Mein Zimmer ist aufgeräumt und alles hat seinen '+#13+#10+'festen Platz. '; fragen[21].Kategorie:= 3 ; fragen[22].Frage:='Man sollte nie zu viel von sich preisgeben.'; fragen[22].Kategorie:= 4 ; fragen[23].Frage:='Man sollte sich auf das verlassen, was sich bewährt '+#13+#10+'hat und nicht alles umgestalten wollen.'; fragen[23].Kategorie:= 3 ; fragen[23].IndexDerFrageZumGegenrechnen:= 9; fragen[24].Frage:='Ich habe noch nie etwas verbotenes getan. '; fragen[24].Kategorie:= 6 ; fragen[25].Frage:='Handwerkliche Tätigkeiten machen mir unglaublich Spaß.'; fragen[25].Kategorie:= 5 ; fragen[26].Frage:='Wenn ich mir ein Ziel gesetzt habe, dann will ich es '+#13+#10+'aus eigener Kraft erreichen.'; fragen[26].Kategorie:= 4 ; fragen[27].Frage:='Alles zu planen ist mir zu anstrengend, man sollte '+#13+#10+'das Leben so nehmen wie es kommt.'; fragen[27].Kategorie:= 2 ; fragen[28].Frage:='Nach einem heftigen Streit habe ich selten ein '+#13+#10+'schlechtes Gewissen.'; fragen[28].Kategorie:= 4 ; fragen[29].Frage:='Ich habe noch nie meine Hausaufgaben vergessen.'; fragen[29].Kategorie:= 6 ; fragen[30].Frage:='Ich genieße es, wenn ich eine strake Schulter zum '+#13+#10+'anlehnen habe. '; fragen[30].Kategorie:= 1 ; fragen[31].Frage:='Ich kann gut mit dem Leid anderer mitfühlen.'; fragen[31].Kategorie:= 1 ; fragen[31].IndexDerFrageZumGegenrechnen := 8; fragen[32].Frage:='Wenn mich jemand blöd anmacht, gibt es sofort Kontra.'; fragen[32].Kategorie:= 4 ; fragen[33].Frage:='Feste Partnerschaften sind mir zu langweilig.'; fragen[33].Kategorie:= 2 ; fragen[34].Frage:='Die Strafen für Verbrecher fallen in Deutschland '+#13+#10+'viel zu niedrig aus.'; fragen[34].Kategorie:= 3 ; fragen[35].Frage:='Die meisten Erwachsenen sind mir zu spießig.'; fragen[35].Kategorie:= 2 ; fragen[36].Frage:='Den miesten Menschen kann man nicht vertrauen.'; fragen[36].Kategorie:= 4 ; fragen[36].IndexDerFrageZumGegenrechnen:= 23; fragen[37].Frage:='Es gibt kaum Gebiete, in denen ich richtig begabt bin.'; fragen[37].Kategorie:= 1 ; fragen[38].Frage:='Ich bin noch nie zu spät zu einer Verabredung gekommen.'; fragen[38].Kategorie:= 6 ; fragen[39].Frage:='Der Sommer ist für mich die schönste Jahreszeit.'; fragen[39].Kategorie:= 5 ; fragen[40].Frage:='Ich bewundere selbstbewusste Menschen, die sich '+#13+#10+'für ihre Wünsche'+#13+#10+'einsetzten.'; fragen[40].Kategorie:= 1 ; fragen[41].Frage:='Regeln sind da, um gebrochen zu werden.'; fragen[41].Kategorie:= 2 ; fragen[42].Frage:='Für Überraschungen bin ich eher nicht zu haben.'; fragen[42].Kategorie:= 3 ; fragen[43].Frage:='Ich fühle mich meinen Mitmenschen überlegen. '; fragen[43].Kategorie:= 3 ; fragen[44].Frage:='Nur der Augenblick zählt - man lebt ja schließlich '+#13+#10+'nur einmal. '; fragen[44].Kategorie:= 2 ; end; procedure TForm2.Button2Click(Sender: TObject); var i :integer ; begin case seite of 0: begin label_text.Caption:=''; label_frage.caption:=fragen[seite].Frage; Radiobutton1.show; Radiobutton2.show; Radiobutton3.show; Radiobutton4.show; Radiobutton5.show; label3.Show; label4.Show; Seite:=seite+1; end; 1..44: begin if (radiobutton1.Checked = false) and (radiobutton1.Checked = false) and (radiobutton2.Checked = false) and (radiobutton3.Checked = false) and (radiobutton4.Checked = false) and (radiobutton5.Checked = false) then begin messagedlg('Du hast keine Auswahl getroffen', mterror, [mbok], 1); abort; end else begin label_frage.caption := fragen[seite].Frage; if radiobutton1.Checked then begin if fragen[seite-1].Kategorie= 1 then e_depressiv:=e_depressiv +2; if fragen[seite-1].Kategorie= 2 then e_hysterisch:=e_hysterisch +2; if fragen[seite-1].Kategorie= 3 then e_zwanghaft:=e_zwanghaft +2; if fragen[seite-1].Kategorie= 4 then e_schizoid:=e_schizoid +2; if fragen[seite-1].Kategorie= 5 then e_dummy:=e_dummy +2; if fragen[seite-1].Kategorie= 6 then e_luegen:=e_luegen +1; fragen[seite-1].GewaehlteAntwort:= 2; end; if radiobutton2.Checked then begin if fragen[seite-1].Kategorie= 1 then e_depressiv:=e_depressiv +1; if fragen[seite-1].Kategorie= 2 then e_hysterisch:=e_hysterisch +1; if fragen[seite-1].Kategorie= 3 then e_zwanghaft:=e_zwanghaft +1; if fragen[seite-1].Kategorie= 4 then e_schizoid:=e_schizoid +1; if fragen[seite-1].Kategorie= 5 then e_dummy:=e_dummy +1; if fragen[seite-1].Kategorie= 6 then e_luegen:=e_luegen +1; fragen[seite-1].GewaehlteAntwort:= 1; end; if radiobutton3.Checked then begin if fragen[seite-1].Kategorie= 1 then e_depressiv:=e_depressiv +0; if fragen[seite-1].Kategorie= 2 then e_hysterisch:=e_hysterisch +0; if fragen[seite-1].Kategorie= 3 then e_zwanghaft:=e_zwanghaft +0; if fragen[seite-1].Kategorie= 4 then e_schizoid:=e_schizoid +0; if fragen[seite-1].Kategorie= 5 then e_dummy:=e_dummy +0; if fragen[seite-1].Kategorie= 6 then e_luegen:=e_luegen +0; fragen[seite-1].GewaehlteAntwort:= 0; end; if radiobutton4.Checked then begin if fragen[seite-1].Kategorie= 1 then e_depressiv:=e_depressiv +0; if fragen[seite-1].Kategorie= 2 then e_hysterisch:=e_hysterisch +0; if fragen[seite-1].Kategorie= 3 then e_zwanghaft:=e_zwanghaft +0; if fragen[seite-1].Kategorie= 4 then e_schizoid:=e_schizoid +0; if fragen[seite-1].Kategorie= 5 then e_dummy:=e_dummy +0; if fragen[seite-1].Kategorie= 6 then e_luegen:=e_luegen +0; fragen[seite-1].GewaehlteAntwort:= 0; end; if radiobutton5.Checked then begin if fragen[seite-1].Kategorie= 1 then e_depressiv:=e_depressiv +0; if fragen[seite-1].Kategorie= 2 then e_hysterisch:=e_hysterisch +0; if fragen[seite-1].Kategorie= 3 then e_zwanghaft:=e_zwanghaft +0; if fragen[seite-1].Kategorie= 4 then e_schizoid:=e_schizoid +0; if fragen[seite-1].Kategorie= 5 then e_dummy:=e_dummy +0; if fragen[seite-1].Kategorie= 6 then e_luegen:=e_luegen +0; fragen[seite-1].GewaehlteAntwort:= 0; end; end; messagedlg( 'depressiv:'+inttostr(e_depressiv)+#13+#10+ 'hysterisch:'+inttostr(e_hysterisch)+#13+#10+ 'zwanghaft:'+inttostr(e_zwanghaft)+#13+#10+ 'schizoid :'+inttostr(e_schizoid )+#13+#10+ 'dummy:'+inttostr(e_dummy)+#13+#10+ 'wiedersprochen:'+inttostr(wiedersprochen)+#13+#10+ 'luegen:'+inttostr(e_luegen),mtinformation,[mbok],1); radiobutton1.Checked := false; radiobutton2.Checked := false; radiobutton3.Checked := false; radiobutton4.Checked := false; radiobutton5.Checked := false; seite:= seite +1; end; 45: begin for i:= 0 to 44 do begin if (fragen[i].IndexDerFrageZumGegenrechnen = NULL) then e_dummy:= e_dummy+1 else begin if (fragen[fragen[i].IndexDerFrageZumGegenrechnen].GewaehlteAntwort = fragen[i].GewaehlteAntwort) OR (fragen[fragen[i].IndexDerFrageZumGegenrechnen].GewaehlteAntwort = (fragen[i].GewaehlteAntwort) -1) OR (fragen[fragen[i].IndexDerFrageZumGegenrechnen].GewaehlteAntwort = (fragen[i].GewaehlteAntwort) +1) then wiedersprochen := wiedersprochen+1; end; end; form3.label_depressiv.caption := inttostr(e_depressiv); form3.label_zwanghaft.caption := inttostr(e_zwanghaft); form3.label_schizoid.caption := inttostr(e_schizoid); form3.label_hysterisch.caption := inttostr(e_hysterisch); form3.label_luegen.caption := inttostr(e_luegen); form2.Hide; form3.Show; End; end; end; end. Ka warum. Er schreibt in den Schleifen beim klicken auf weiter ja das Ergebnis in fragen[seite].gewaehlteantwort und unten soll er dann die gewählte antwort mit der antwort von der fragen[i].indexderfragezumgegenrechnen vergleichen und wenn das unterschiedlich ist soll er wiedersrpuch um eins erhöhen. Aber das tut er nicht... bitte ein letztes Mal Hilfe T_T |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:14 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-2025 by Thomas Breitkreuz