Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Brauch dringend Hilfe für Klausur
DelphiSchüler1989 - Mo 15.11.10 18:26
Titel: Brauch dringend Hilfe für Klausur
Schreibe morgen eine Klasur nach und bin immomen fleißig am üben.
Bitte um möglichst schnelle Hilfe. Schon mal vielen Dank im Vorraus.
Zum Programm:
Es soll ein Bruttobetrag eingelesen werden und mit berücksichtigung der Steuerklasse (A,B bzw. in der Radiogroup 0,1) die richtige Steuer gewählt und in einer Listbox ausgegeben werden.
Quellcode:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46:
| type TForm1 = class(TForm) EditBrutto: TEdit; RadioGroupGeschlecht: TRadioGroup; RadioGroupKlasse: TRadioGroup; ListBoxAusgabe: TListBox; ButtonBerechnen: TButton; procedure ButtonBerechnenClick(Sender: TObject); private public end;
var Form1: TForm1;
implementation
{$R *.dfm}
VAR Brutto,Steuer:integer;
procedure TForm1.ButtonBerechnenClick(Sender: TObject); begin Brutto:=StrToInt(EditBrutto.text);
CASE RadioGroupKlasse.itemindex OF
0:Begin If Brutto>2000 Then Steuer:=20 Else If Brutto>3000 Then Steuer:=30 Else If Brutto>5000 Then Steuer:=40 end; 1:Begin If Brutto>2000 Then Steuer:=20 Else If Brutto>3000 Then Steuer:=30 Else If Brutto>5000 Then Steuer:=40 end; ListBoxAusgabe.items.add('Steuer');
end;
end;
end. |
Problem:
Die Zeile "ListBoxAusgabe.items.add('Steuer');" ist markiert und folgender Fehler wird von Delphi angegeben:
[Error] Arbeit1.pas(49): Constant expression expected
Moderiert von
Martok: Delphi-Tags gesetzt
Bergmann89 - Mo 15.11.10 19:09
Hey,
die Zeile muss ein
end weiter runter. So wie du es jetzt hast steht das ganze noch in der
case-Anweisung, und da erwartet er halt einen konstanten Integer-Wert.
€:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| Brutto:=StrToInt(EditBrutto.text);
case RadioGroupKlasse.itemindex OF 0:Begin If Brutto>2000 Then Steuer:=20 Else If Brutto>3000 Then Steuer:=30 Else If Brutto>5000 Then Steuer:=40 end; 1:Begin If Brutto>2000 Then Steuer:=20 Else If Brutto>3000 Then Steuer:=30 Else If Brutto>5000 Then Steuer:=40 end; end; ListBoxAusgabe.items.add('Steuer'); |
Benutz bitte das nächste mal die Delphi Tags, dass der Code auch ordentlich angezeigt wird:
<span class="inlineSyntax"><span class="codecomment">{PROTECTTAG1697087c7d8537e352055cc022cb6a0b}</span></span> ;)
Mfg Bergmann
Gerd Kayser - Mo 15.11.10 19:10
DelphiSchüler1989 hat folgendes geschrieben : |
| Die Zeile "ListBoxAusgabe.items.add('Steuer');" ist markiert und folgender Fehler wird von Delphi angegeben: |
Wenn Du Deinen Quelltext richtig formatiert hättest, wäre es Dir aufgefallen, daß die Zeile
Delphi-Quelltext
1:
| ListBoxAusgabe.items.add('Steuer'); |
noch innerhalb der Case-Anweisung liegt. Da gehört sie aber nicht hin.
Außerdem sind die if-Abfragen hier
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| 0:Begin If Brutto>2000 Then Steuer:=20 Else If Brutto>3000 Then Steuer:=30 Else If Brutto>5000 Then Steuer:=40 end; 1:Begin If Brutto>2000 Then Steuer:=20 Else If Brutto>3000 Then Steuer:=30 Else If Brutto>5000 Then Steuer:=40 end; |
allesamt falsch. Wenn das Gehalt 3500 beträgt, wird der Wert auf 20 gesetzt, weil die Else-Zweige nicht mehr durchlaufen werden.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!