Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Pizzaservice (https://www.delphipraxis.net/81771-pizzaservice.html)

ArmyMan 3. Dez 2006 17:17

Re: Pizzaservice
 
Zitat:

Zitat von RWarnecke
Ich würde das ganze so schreiben :

Delphi-Quellcode:
const Salami=1 ; Käse=0.8 ; Schinken=1.2 ; Ananas=1.3 ; Sardellen=1.5 ;
Klein=1.5 ; Groß=2 ; Riesen=2.7 ; Family=3.5;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var Preis:double;

begin
  Preis := 0;
  if checkbox1.checked then Preis := Preis + Salami
  else Preis := Preis + 0;
  label1.Caption:='Der momentane Preis ist' + Preis;
  if checkbox2.checked then Preis := Preis + Käse;
  label1.caption:='Der momentane Preis ist' + Preis;
end;

Verstehe jetzt nicht ganz wieso du 0 zum Preis addierst??

Vorallem ist das Anpassen des Label1 völlig überflüssig.
Der Text wird so schnell nacheinander geändert dass man es ja eh nicht sieht.
Würd da ganz unten ein mal die caption setzten.

Greetz

cobralord 3. Dez 2006 17:21

Re: Pizzaservice
 
Ja, zuerst habe ich gedacht die Null wäre nötig und jetzt lasse ich sie der Übersicht halber stehen...

RWarnecke 3. Dez 2006 17:57

Re: Pizzaservice
 
Zitat:

Zitat von ArmyMan
Verstehe jetzt nicht ganz wieso du 0 zum Preis addierst??

Vorallem ist das Anpassen des Label1 völlig überflüssig.
Der Text wird so schnell nacheinander geändert dass man es ja eh nicht sieht.
Würd da ganz unten ein mal die caption setzten.

Greetz

Ich kenne ja nicht den Rest des Programms. Deshalb habe ich nur den Teil korrigiert, den ich gesehen habe. Ob das mit der Null nun überflüssig ist oder nicht. Darüber lässt sich streiten, welches aber vom Thema abweicht.

cobralord 4. Dez 2006 15:05

Re: Pizzaservice
 
Hallo,
den Preis für den Belag der Pizza kann ich jetzt ausrechnen und den Code für die Größe habe ich auch schon geschrieben. Es funktioniert ohne Probleme, allerdings zeigt das Programm bei jeder Pizzagröße 0€ an, obwohl ich sie oben deffiniert habe. Trotz halbstündiger Fehlersuche habe ich aber nichts gefunden was gewirkt hat.
Der Code ist:


Delphi-Quellcode:
var
  Form1: TForm1;
const Salami=1 ; Käse=0.8 ; Schinken=1.2 ; Ananas=1.3 ; Sardellen=1.5 ;
 Klein=1.5 ; Groß=2 ; Riesen=2.7 ; Family=3.5;
var Preis : double;


implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

if checkbox1.checked then Preis := Preis + Salami
else Preis := Preis + 0;
label1.Caption:='Der momentane Preis ist ' + floattostr(Preis) + ' €';
if checkbox2.checked then Preis := Preis + Käse
else Preis:=Preis + 0;
label1.caption:='Der momentane Preis ist ' + floattostr(Preis) + ' €';
if checkbox3.checked then Preis := Preis + Schinken
else Preis := Preis + 0;
 label1.caption:='Der momentane Preis ist ' + floattostr(Preis) + ' €';
if checkbox4.checked then Preis := Preis + Ananas
else Preis := Preis + 0;
 label1.Caption:='Der momentane Preis ist ' + floattostr(Preis) + ' €';
if checkbox5.checked then Preis := Preis + Sardellen
else Preis := Preis + 0;
label1.caption:='Der momentane Preis ist ' + floattostr(Preis)+ ' €';

if radiogroup1.itemindex = 0 then begin
Preis := Preis + Klein;
label1.caption:='Der momentane Preis ist' + floattostr(Preis) + ' €';
end;
if radiogroup1.itemindex = 1 then    begin
Preis := Preis + Groß;
label1.caption:='Der momentane Preis ist' + floattostr(Preis) + ' €';
            end;
if radiogroup1.itemindex = 2 then    begin
Preis := Preis + Riesen;
label1.caption:='Der momentane Preis ist' + floattostr(Preis) + ' €';
            end;
if radiogroup1.itemindex = 3 then    begin
Preis := Preis + Family;
label1.caption:='Der momentane Preis ist' + floattostr(Preis) + ' €';
            end;



end;




end.

Bitte helft mir!!!

Corpsman 4. Dez 2006 15:10

Re: Pizzaservice
 
Ho

Meiner meinung nach bringt das viele aufrufen von

label1.caption:='Der momentane Preis ist' + floattostr(Preis) + ' €';


gar nichts da du ja nen Button hast und der Rechner eh die Ganze routine Abarbeitet. Das würde nur was bringen wenn du die Caption setzt dann der Rechner "Ewig" in der Button Routine Rumrechnet und dann wieder setzt.

Du Prüfst aber no Boolsche Werte , selbst im schlechten Fall dauert das nicht mehr wie 100 Takte und das wären dann immer noch << 1 ms.

oschulz 4. Dez 2006 15:48

Re: Pizzaservice
 
Also ehrlich was ist übersichtlicher, das hier oder dein Quellcode?

Delphi-Quellcode:

Preis:=0;
if checkbox1.checked then Preis := Preis + Salami;
if checkbox2.checked then Preis := Preis + Käse;
if checkbox3.checked then Preis := Preis + Schinken;
if checkbox4.checked then Preis := Preis + Ananas;
if checkbox5.checked then Preis := Preis + Sardellen;
if radiogroup1.itemindex = 0 then Preis := Preis + Klein;
if radiogroup1.itemindex = 1 then Preis := Preis + Groß;
if radiogroup1.itemindex = 2 then Preis := Preis + Riesen;
if radiogroup1.itemindex = 3 then Preis := Preis + Family;

label1.caption:='Der momentane Preis ist' + floattostr(Preis) + ' €

freak4fun 4. Dez 2006 16:07

Re: Pizzaservice
 
Und weiter gehts ... :mrgreen:

Delphi-Quellcode:
Preis:=0;
if checkbox1.checked then
  Preis := Preis + Salami;
if checkbox2.checked then
  Preis := Preis + Käse;
if checkbox3.checked then
  Preis := Preis + Schinken;
if checkbox4.checked then
  Preis := Preis + Ananas;
if checkbox5.checked then
  Preis := Preis + Sardellen;

Case radiogroup1.itemindex of
  0: Preis := Preis + Klein;
  1: Preis := Preis + Groß;
  2: Preis := Preis + Riesen;
  3: Preis := Preis + Family;
end;

label1.caption := 'Der momentane Preis ist' + floattostr(Preis) + ' &#8364;
MfG
freak

cobralord 4. Dez 2006 16:21

Re: Pizzaservice
 
Ok, ok, ich gebe zu eure Codes sind natürlich viel übersichtlicher und damit viel hilfreicher als meine, aber wie gesagt, ich habe Turbodelphi erst seit knapp einem Monat und bin froh, wenn ich das Programm überhaupt zum Laufen bekomme :-D :-D .
Insofern ist mir die Übersichtlichkeit (noch) weitgehenst egal.
Ich danke euch für die Hilfsbereitschaft!!! :thumb: :thumb: :thumb:

Chris P 4. Dez 2006 17:23

Re: Pizzaservice
 
Zitat:

Käse=0.8
Sagt der Compiler nichts zu dem 'ä'?

MikeS 4. Dez 2006 17:49

Re: Pizzaservice
 
bei mir ja. :-) Hab mich auch schon gewundert und ich habe es deshalb in meinem Beitrag mit "ae" geschrieben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:42 Uhr.
Seite 2 von 3     12 3      

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