Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Anfänger Problem - Psychologietest

  Alt 4. Mai 2007, 10:52
Zitat von Smokers:
okay mal abgesehen von dem Beitrag von Luckie der für einen Anfänger
nicht gerade sehr konsruktiv ist schonmal danke an Tormentor32.
So, findest du? Dann guck dir mal das an:
Delphi-Quellcode:
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]= 'dthen depressiv:=depressiv+2 ;
            if frage[(seite+1),1,0]= 'sthen schizoid:=schizoid+2 ;
            if frage[(seite+1),1,0]= 'zthen zwanghaft:=zwanghaft+2 ;
            if frage[(seite+1),1,0]= 'hthen hysterisch:=hysterisch+2 ;
            if frage[(seite+1),1,0]= 'lthen luegen:=luegen+1 ;
            if frage[(seite+1),1,0]= 'dummythen dummy:=dummy+0 ;
            end;

            if radiobutton2.Checked=true then
            begin
            if frage[seite+1,1,0]= 'dthen depressiv:=depressiv+1 ;
            if frage[seite+1,1,0]= 'sthen schizoid:=schizoid+1 ;
            if frage[seite+1,1,0]= 'zthen zwanghaft:=zwanghaft+1 ;
            if frage[seite+1,1,0]= 'hthen hysterisch:=hysterisch+1 ;
            if frage[seite+1,1,0]= 'lthen luegen:=luegen+1 ;
            if frage[seite+1,1,0]= 'dummythen 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;
Und das:
Delphi-Quellcode:
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] = 'dthen
            depressiv := depressiv + 2;
          if frage[(seite + 1), 1, 0] = 'sthen
            schizoid := schizoid + 2;
          if frage[(seite + 1), 1, 0] = 'zthen
            zwanghaft := zwanghaft + 2;
          if frage[(seite + 1), 1, 0] = 'hthen
            hysterisch := hysterisch + 2;
          if frage[(seite + 1), 1, 0] = 'lthen
            luegen := luegen + 1;
          if frage[(seite + 1), 1, 0] = 'dummythen
            dummy := dummy + 0;
        end;
        if radiobutton2.Checked = true then
        begin
          if frage[seite + 1, 1, 0] = 'dthen
            depressiv := depressiv + 1;
          if frage[seite + 1, 1, 0] = 'sthen
            schizoid := schizoid + 1;
          if frage[seite + 1, 1, 0] = 'zthen
            zwanghaft := zwanghaft + 1;
          if frage[seite + 1, 1, 0] = 'hthen
            hysterisch := hysterisch + 1;
          if frage[seite + 1, 1, 0] = 'lthen
            luegen := luegen + 1;
          if frage[seite + 1, 1, 0] = 'dummythen
            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;
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat