Autor Beitrag
Infest
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Di 17.02.09 17:32 
hallo ich bin ein ziemlicher anfänger und wollte euch etwas fragen

zurzeit erstelle ich ein einfaches programm wo man die punkte 0 bis 15 eingibt und dann als ausgabe erhält z.b bei 13 bis 15 sehr gut und soweiter

also bisher ist alles klar

so sieht das bisher aus:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TForm1.Bu_BerechnenClick(Sender: TObject);
var wert, punkte: integer;
begin
punkte:= StrToInt(Ed_Punkte.Text);
wert:= Pa_Ausgabe.Caption;

case punkte of
  0   :     wert:= 'ungenügend':
  1..3:     wert:= 'mangelhaft';
  4..6:     wert:= 'ausreichend';
  7..9:     wert:= 'befriedigend';
  10..12:   wert:= 'gut';
  13..15:   wert:= 'sehr gut';
ELSE        wert:= 'Diese Punktzahl gibt es nicht!';

end;


mein problem ist bei wert:= Pa_Ausgabe.Caption; bringt er ein Problem und ich weiß nicht warum!!
Ich möchte nicht immer Pa_Ausgabe.Caption eingeben sondern einmal als variable deklarieren damit ich die dann benützen kann.

was habe ich falsch eingegeben?

Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Di 17.02.09 17:35 
1. Verwende Delphi Tags hier im Forum
2. Schreib beim nächsten Mal dazu, WAS für ein Problem "er bringt".
3. Wert ist ein integer, Caption aber ein String. Also musst du das vorher umwandeln:
ausblenden Delphi-Quelltext
1:
wert := StrToInt(Pa_Ausgabe.Caption);					

_________________
PROGRAMMER: A device for converting coffee into software.
TProgger
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 148

XP
D6, D2007 prof
BeitragVerfasst: Di 17.02.09 17:45 
Vielleicht klappts ja so?
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
procedure TForm1.Bu_BerechnenClick(Sender: TObject);
var 
  wert: String
  punkte: integer;
begin
  punkte:= StrToInt(Ed_Punkte.Text);
  //wert:= Pa_Ausgabe.Caption;
  case punkte of
  0 : wert:= 'ungenügend':
  1..3: wert:= 'mangelhaft';
  4..6: wert:= 'ausreichend';
  7..9: wert:= 'befriedigend';
  10..12: wert:= 'gut';
  13..15: wert:= 'sehr gut';
  ELSE wert:= 'Diese Punktzahl gibt es nicht!';
  Pa_Ausgabe.Caption:=wert;
end;

_________________
Wir haben für jede Lösung das richtige Problem ;)
Infest Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Di 17.02.09 17:46 
user profile iconXentar hat folgendes geschrieben Zum zitierten Posting springen:
1. Verwende Delphi Tags hier im Forum
2. Schreib beim nächsten Mal dazu, WAS für ein Problem "er bringt".
3. Wert ist ein integer, Caption aber ein String. Also musst du das vorher umwandeln:
ausblenden Delphi-Quelltext
1:
wert := StrToInt(Pa_Ausgabe.Caption);					


Hey, aber dann bringt er mir bei der Auflistung der Folgen ein Problem, weil dann ist es wieder mit Integer und String falsch....

Was muss ich dann mit denen machen in der Auflistung wie z.b 0 : wert:= 'ungenügend';

weil dann bringt er wieder den fehler :(
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Di 17.02.09 17:50 
Ach, hatte da eben einen Denkfehler.
Dann musst du wert als String deklarieren, siehe die Antwort von TProgger.

_________________
PROGRAMMER: A device for converting coffee into software.
Infest Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Di 17.02.09 17:54 
Mh, ich steh grad ehrlich gesagt auf dem Schlauch,

Ist mir alles logisch so gibt es jetzt auch Sinn habs grad ausprobiert aber jetzt zeigt er mir wenn ich dann im Programm auf Berechnen klick die Ausgabe nicht auf dem Panel an, also es kommt dann nicht als antwort: sehr gut wo auf dem panel erscheinen sollte eigentlich

weiß jemand woran das liegen könnte?
TProgger
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 148

XP
D6, D2007 prof
BeitragVerfasst: Di 17.02.09 17:58 
Wenn Pa_Ausgabe ein Panel ist, dann vielleicht noch "Pa_Ausgabe.Refresh" dranhängen?
Edit: Ich seh grad, da fehlt noch ein "end" (das von case)

_________________
Wir haben für jede Lösung das richtige Problem ;)


Zuletzt bearbeitet von TProgger am Di 17.02.09 18:01, insgesamt 1-mal bearbeitet
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Di 17.02.09 18:00 
Ich vermute einfach mal, du hast vergessen, die Caption des Panels zu ändern?

_________________
PROGRAMMER: A device for converting coffee into software.
Infest Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Di 17.02.09 18:01 
user profile iconTProgger hat folgendes geschrieben Zum zitierten Posting springen:
Wenn Pa_Ausgabe ein Panel ist, dann vielleicht noch "Pa_Ausgabe.Refresh" dranhängen?


Geht immer noch nicht...

Mist ich bin verzweifeln. Muss morgen ein Vortrag in der Schule halten.

Ich möchte halt einfach die Schreibarbeit von dem Pa_Ausgabe.Caption sparen und die durch eine Variable ersetzen. Des mit dem Wert als string deklarieren ist ja noch ok, aber es geht irgendwie nicht =(

@ Xentar: Die caption von dem Panel ist leer logischerweise und der Name ist wiegesagt Pa_Ausgabe
TProgger
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 148

XP
D6, D2007 prof
BeitragVerfasst: Di 17.02.09 18:04 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
procedure TForm1.Bu_BerechnenClick(Sender: TObject);
var 
  wert: String
  punkte: integer;
begin
  punkte:= StrToInt(Ed_Punkte.Text);
  //wert:= Pa_Ausgabe.Caption;
  case punkte of
  0 : wert:= 'ungenügend':
  1..3: wert:= 'mangelhaft';
  4..6: wert:= 'ausreichend';
  7..9: wert:= 'befriedigend';
  10..12: wert:= 'gut';
  13..15: wert:= 'sehr gut';
  ELSE wert:= 'Diese Punktzahl gibt es nicht!';
  end;
  Pa_Ausgabe.Caption:=wert;
end;

So müsste es nun klappen ;)

_________________
Wir haben für jede Lösung das richtige Problem ;)
Infest Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Di 17.02.09 18:05 
Super danke TProgger hat geklappt. Oh man des hab ich garnich gesehen das die Ausgabe noch vor dem end war.

Vielen Dank!!!
TProgger
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 148

XP
D6, D2007 prof
BeitragVerfasst: Di 17.02.09 18:09 
Bitte :wink:

_________________
Wir haben für jede Lösung das richtige Problem ;)