Einzelnen Beitrag anzeigen

Smokers

Registriert seit: 4. Mai 2007
9 Beiträge
 
Delphi 7 Enterprise
 
#17

Re: Anfänger Problem - Psychologietest

  Alt 7. Mai 2007, 19:31
so der letzte fehler.. dann läuft das Programm ^^

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,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.
Das Problem besteht darin das er die Wiedersprüche in den Antworten nicht ausliest.
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
  Mit Zitat antworten Zitat