Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi case Wertausgabe Endbetrag (https://www.delphipraxis.net/111294-case-wertausgabe-endbetrag.html)

Muddy 1. Apr 2008 19:38


case Wertausgabe Endbetrag
 
Ich habe ein Problem in meiner Programmierung. UNd zwar weiß ich nicht wie ich jetzt den bruttowert ausgeben soll!
Am besten ebe ich euch den Quellcode.

Delphi-Quellcode:
procedure TForm2.RadioGroup1Click(Sender: TObject);
var bruttowert, nettowert, p: integer;
begin
 nettowert := strtoint (edit2.text);
  case RadioGroup1.ItemIndex of
    0: bruttowert := nettowert * 1;
    1: bruttowert := nettowert * (7/100) + nettowert ;
    2: bruttowert := nettowert + (19/100) + nettowert ;
  else
    p := strtoint (edit1.Text);
    3: bruttowert := nettowert * (p/100) + nettowert ;
  end;
  panel1.Text := inttostr (bruttowert

  end;
end;
So!! Wo steckt der fehler?

[edit=Matze][delphi]-Tags gesetzt. MfG, Matze[/edit]

Matze 1. Apr 2008 19:41

Re: case Wertausgabe Endbetrag
 
Hallo,

die case-Anweisung sieht so aus:

Delphi-Quellcode:
case <var> of
  0: ...;
  1: ...;
  2: ...;
else
  ...
end;
Es werden die Werte im oberen Abschnitt überprüft und falls <var> einen anderen Wert hat, wird der else-Abschnitt ausgeführt. In diesem kannst du nicht mehr - wie du es machst - auf den Wert zugreifen. Das ginge dort beispielsweise mit einer if-Abfrage.

Edit: Setze zukünftig bitte die [delphi]-Tags um deinen Delphi-Code.

lbccaleb 1. Apr 2008 19:45

Re: case Wertausgabe Endbetrag
 
Zitat:

Zitat von Muddy
Ich habe ein Problem in meiner Programmierung. UNd zwar weiß ich nicht wie ich jetzt den bruttowert ausgeben soll!
Am besten ebe ich euch den Quellcode.

So!! Wo steckt der fehler?


ich glaube so sollte es sein, nicht getestet:

Delphi-Quellcode:
procedure TForm2.RadioGroup1Click(Sender: TObject);
var
  bruttowert, nettowert, p: integer;
  begin
    nettowert := strtoint (edit2.text);
    case RadioGroup1.ItemIndex of
      0: bruttowert := nettowert;
      1: bruttowert := nettowert * (7 div 100) + nettowert ;
      2: bruttowert := nettowert + (19 div 100) + nettowert ;
  //  elsewas willst du hier mit nem else?? das ist nur auf eine if clausel anwendbar in delphi..
  //  p := strtoint (edit1.Text);
    3: bruttowert := nettowert * (p div 100) + nettowert ;
  end;
  panel1.caption := inttostr (bruttowert);
  end;
end;

Muddy 1. Apr 2008 19:47

Re: case Wertausgabe Endbetrag
 
Das ist nicht mein PRoblem! Ich muss doch eigentlich das else weglassen, weil ich ja eine Radiogroub verwende und muss daher die Radiobox'3' in das case einsetzen nur ich möchte den wert in dem edit-Feld ja in die Rechnung einbringen und da ist auch das problem, dass ich habe.

Das zweite PRoblem ist, wie bekomme ich das ergebniss der einzelen Rechnungen auf dem Panel angezeigt???

dominikkv 1. Apr 2008 19:48

Re: case Wertausgabe Endbetrag
 
Zitat:

Zitat von lbccaleb
Delphi-Quellcode:
  //  elsewas willst du hier mit nem else?? das ist nur auf eine if clausel anwendbar in delphi..

auch bei case gibt es else!

Muddy 1. Apr 2008 19:48

Re: case Wertausgabe Endbetrag
 
OK dankeschön. Mein Problem hat sich doch gerade aufgelöst

mkinzler 1. Apr 2008 19:51

Re: case Wertausgabe Endbetrag
 
Zitat:

auch bei case gibt es else!
Hies ursprübglich otherwise wurde aber dann später zu else

lbccaleb 1. Apr 2008 19:51

Re: case Wertausgabe Endbetrag
 
Zitat:

Zitat von Muddy
Das ist nicht mein PRoblem! Ich muss doch eigentlich das else weglassen, weil ich ja eine Radiogroub verwende und muss daher die Radiobox'3' in das case einsetzen nur ich möchte den wert in dem edit-Feld ja in die Rechnung einbringen und da ist auch das problem, dass ich habe.

Das zweite PRoblem ist, wie bekomme ich das ergebniss der einzelen Rechnungen auf dem Panel angezeigt???


ja ich hab das ganze schon veränder, ja das p muss natürlich drin bleiben und den text des panels setzt du mit caption, ich hab das ganze geändert:

Delphi-Quellcode:
procedure TForm2.RadioGroup1Click(Sender: TObject);
var
  bruttowert, nettowert, p: integer;
  begin
    p := strtoint (edit1.Text);  <--- hier den p wert auslesen aus dem edit
    nettowert := strtoint (edit2.text);
    case RadioGroup1.ItemIndex of
      0: bruttowert := nettowert;
      1: bruttowert := nettowert * (7 div 100) + nettowert ; <-- anstelle von \ lieber ein div verwenden
      2: bruttowert := nettowert + (19 div 100) + nettowert ;
  //  elsewas willst du hier mit nem else?? das ist nur auf eine if clausel anwendbar in delphi..
    3: bruttowert := nettowert * (p div 100) + nettowert ;
  end;
  panel1.caption := inttostr (bruttowert); <-- hier das panel den text zuordnen mit caption
  end;
end;

Hansa 1. Apr 2008 19:56

Re: case Wertausgabe Endbetrag
 
Er soll auch die Warnungen/Hinweise nicht einfach ignorieren. Bruttowert ist anfangs nicht mal initialisiert.

Muddy 1. Apr 2008 19:58

Re: case Wertausgabe Endbetrag
 
ICh habe doch noch ein Problem!! Er rechnet mir die Werte nicht aus!

Wenn ich als Nettowert 1000 eingebe, dann schreibt er mir bei der ersten Radio wie rwartet 1000 auch hin, aber bei den anderen schreibt er ebenfals 1000 und dass kann ja laut Rechnung nicht sein!
Und bei der letzten Radio gibt er mir eine völlig andere Zahl an


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:39 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz