![]() |
Zwei Labels funktionieren nicht
Hier die Probleme:
Ich hab zwei Labels, die eig. nach einem OnClick Ereignis ansteigen sollen, bzw. ihre Caption ändern sollen. Das eine Label legt den Preis fest, der parallel zum Liter-Label ansteigt (das Liter Label steigt komischerweise an), das andere ist einfach nur eine Anzeige, die der ausgewählte Treibstoff pro Liter kostet (sie ändert sich nicht). Allerdings steigt das Label für den Preis nicht an und das Label, dass anzeigen soll, wv der ausgewählte Treibstoff pro Liter kosten soll, nimmt ebenfalls nichts die gewünschte Zahl an. (hier die beiden Quelltexte für die Label): (1. Label, dass parallel zum Liter ansteigen soll)
Delphi-Quellcode:
So hab ich das geschrieben, warum funktioniert das nicht und wo liegt der Fehler? Wenn ihr nicht folgen könnt, schick ich euch gerne das Design und den vollständigen Quelltext und ihr probiert es aus.
procedure TForm1.GroupBox3Click(Sender: TObject);
begin if Sender=BitBtn1 then Preis:=Preis-0.1 else if Sender=BitBtn2 then Preis:=Preis-0.2 else if Sender=BitBtn3 then Preis:=Preis-0.5 else if Sender=BitBtn4 then Preis:=Preis-1 else if Sender=BitBtn5 then Preis:=Preis-2 else if Sender=BitBtn6 then Preis:=Preis-5 else if Sender=BitBtn7 then Preis:=Preis-10 else if Sender=BitBtn8 then Preis:=Preis-20 else if Sender=BitBtn9 then Preis:=Preis-50; lbPreis.Caption:=FloatToStr(Preis); Groupbox2.Enabled:=false; end; (hier das Label, das einfach nur den Treibstoffpreis pro Liter festlegen soll) procedure TForm1.GroupBox1Click(Sender: TObject); begin if Sender=Button1 then lPreis:=1.172 else if Sender=Button2 then lPreis:=1.165 else if Sender=Button3 then lPreis:=1.256 else if Sender=Button4 then lPreis:=1.150; GroupBox1.Enabled:=false; GroupBox2.Enabled:=true; lblpreis1.Caption:=FloatToStr(lpreis); end; Es wurde geschrieben, dass der Sender die Groupbox sein soll - wie würde das dann aussehen?! [edit=MrSpock]Delphi Code Tags eingefügt. Mfg, MrSpock[/edit] |
Re: Zwei Labels funktionieren nicht
Bitte setze deinen Quelltext in Delphi-Tags und formatiere ihn anständig. :dp:
|
Re: Zwei Labels funktionieren nicht
häng mal bitte den rest an
ich seh da grad (fast) nix drin |
Re: Zwei Labels funktionieren nicht
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls; type TForm1 = class(TForm) GroupBox1: TGroupBox; GroupBox2: TGroupBox; GroupBox3: TGroupBox; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; BitBtn4: TBitBtn; BitBtn5: TBitBtn; BitBtn6: TBitBtn; BitBtn7: TBitBtn; BitBtn8: TBitBtn; BitBtn9: TBitBtn; Label7: TLabel; Label8: TLabel; btWechsel: TButton; lbWechsel: TLabel; Label10: TLabel; Label11: TLabel; lbLiter: TLabel; lbPreis: TLabel; Label13: TLabel; lblPreis1: TLabel; TDauer: TTimer; btTanken: TButton; procedure btTankenClick(Sender: TObject); procedure GroupBox1Click(Sender: TObject); procedure GroupBox3Click(Sender: TObject); procedure btWechselClick(Sender: TObject); procedure TDauerTimer(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } var Liter, lpreis, Preis : real; end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.btTankenClick(Sender: TObject); begin if btTanken.Caption ='Tanken' then begin btTanken.Caption:='Stop'; TDauer.Enabled:=true; end else begin btTanken.Caption:='Tanken'; TDauer.Enabled:=false; lbPreis.Caption:=FloatToStr(liter*lpreis); Label11.Visible:=true; Label10.Visible:=true; end; end; procedure TForm1.btWechselClick(Sender: TObject); begin if Preis<0 then Preis:=0 else if Liter>0 then Liter:=0 else if Preis>0 then btWechsel.Enabled:=false else if Preis>=0 then btWechsel.Enabled:=false; lbWechsel.Visible:=false; lbLiter.Caption:=FloatToStr(Liter); lbPreis.Caption:=FloatToStr(Preis); GroupBox1.Enabled:=true; Label10.Visible:=true; Label11.Visible:=true; end; procedure TForm1.GroupBox1Click(Sender: TObject); begin if Sender=Button1 then lPreis:=1.172 else if Sender=Button2 then lPreis:=1.165 else if Sender=Button3 then lPreis:=1.256 else if Sender=Button4 then lPreis:=1.150; GroupBox1.Enabled:=false; GroupBox2.Enabled:=true; lblpreis1.Caption:=FloatToStr(lpreis); end; procedure TForm1.GroupBox3Click(Sender: TObject); begin if Sender=BitBtn1 then Preis:=Preis-0.1 else if Sender=BitBtn2 then Preis:=Preis-0.2 else if Sender=BitBtn3 then Preis:=Preis-0.5 else if Sender=BitBtn4 then Preis:=Preis-1 else if Sender=BitBtn5 then Preis:=Preis-2 else if Sender=BitBtn6 then Preis:=Preis-5 else if Sender=BitBtn7 then Preis:=Preis-10 else if Sender=BitBtn8 then Preis:=Preis-20 else if Sender=BitBtn9 then Preis:=Preis-50; lbPreis.Caption:=FloatToStr(Preis); Groupbox2.Enabled:=false; end; procedure TForm1.TDauerTimer(Sender: TObject); begin Liter:=Liter+1; lbLiter.Caption:=FloatToStr(Liter); Preis:=Liter*lpreis; lbPreis.Caption:=FloatToStr(Liter*Preis); end; end. Das ist der komplette Code. Hoffe ihr könnt mir weiter helfen. |
Re: Zwei Labels funktionieren nicht
Bitte editiere den Post nochmal und setze den Quellcode in Delphi-Tags (
Delphi-Quellcode:
oder markieren und die Schaltfläche "Delphi-Code" benutzen), sonst wird sich niemand die Mühe machen wollen, das zu lesen ;)
Quellcode
|
Re: Zwei Labels funktionieren nicht
Ah, hab mich schon gewundert wie das geht :D
Danke. Habs gemacht |
Re: Zwei Labels funktionieren nicht
Sieht eigentlich gut aus auf den ersten Blick (sofern vor dem Tanken btWechsel betätigt wird). Wird das Timer-Ereignis denn auch durchlaufen?
|
Re: Zwei Labels funktionieren nicht
ich seh da immer noch keinen fehler drin?! kannst du die ganzen delphi sachen mal in nem .rar verzeichnis mit hochladen?
dann kann man besser sehen, wo der schuh drückt |
Re: Zwei Labels funktionieren nicht
Lieber zip als rar, das ist verbreiteter ;). Ich vermute allerdings, dass einfach das Timer-Event im OI nicht mit dem Timer verbunden ist oder das Interval auf 0 steht oder sowas.
|
Re: Zwei Labels funktionieren nicht
Delphi-Quellcode:
aufrufen nach jeder Änderung der Caption-Eigenschaft.
Label1.Refresh;
|
Re: Zwei Labels funktionieren nicht
Zitat:
|
Re: Zwei Labels funktionieren nicht
Zitat:
|
Re: Zwei Labels funktionieren nicht
Ok, ich werd das ganze Projekt einfach mal hochladen.
Habs bei rapidshare hochgeladen. ![]() 10x Download, also jetzt zugreifen ;-) |
Re: Zwei Labels funktionieren nicht
Liste der Anhänge anzeigen (Anzahl: 1)
du kannst, auch am ende deiner nachricht was anhängen...
unter "Attachment hinzufügen" edit habs mir mal angeguckt: zuerst mal : 1)schwarze Schrift auf dunkelblauem Hintergrund ist NICHT GUT! 2)schwarze Schrift in Größe 8 auf dunkelblauem Hintergrund ist GAR NICHT GUT! das problem waren die groupboxen. ich hab die labels und den kram mal auf panels gelegt, jetzt gehts! was das mit dem wechselgeld soll, ist mir nicht bewusst geworden! (oder ist das nochnicht fertig?) bei weiteren fragen, immer drauf los PS. im Anhang I V findest du das überarbeitete Projekt |
Re: Zwei Labels funktionieren nicht
Wenn euch das lieber ist mach ich das auch noch mal :O
|
Re: Zwei Labels funktionieren nicht
blätter mal zurück :) (erste Seite, letzer post)
|
Re: Zwei Labels funktionieren nicht
Es ist fast fertig. Vielen Dank schon einmal
Das ganze sollte nun eig. so ablaufen, dass man halt den Preis, den man fürs Tanken bezahlen soll, bezahlt. (je nach dem, welchen Treibstoff man sich ausgesucht hat, so legt sich ja auch der Preis fest). Durch das betätigen der BitButtons sollte nun der errechnete Preis eig. immer weiter absinken, also wenn ich den für 5€ anklicke, steht da ... Ich erklärs mal anhand eines Beispiels xD Angenommen ich wähle nun Superbenzin. Dann klick ich auf "Tanken", dann läuft ja die Literanzahl und der dazugehörige Preis hoch. Wenn ich nun nach 10 Litern genug habe, drück ich halt auf "Stop". Dann liegt der Preis glaub ich so bei 11,65€. Durch drücken des BitButtons mit dem 10 Euro Schein sollten nun von den 11,65€ 10€ abgezogen werden. Dann hab ich folgerichtig noch 1,65€. Angenommen ich drück nun noch den 2€ BitButton schuldet mir der Automat ja 0,35€. Diese -0,35 sollten nun durch den Button "Wechselgeld" wieder auf 0€ zurückgesetzt werden. Hoffe es wurde so deutlich. Ich wunder mir, warum das nicht funktioniert. Vielleicht könnt ihr euch das ja auch noch einmal angucken. |
Re: Zwei Labels funktionieren nicht
Ok, das Problem hab ich selber gelöst bekommen.
Soll ich nun wirklich für mein letztes Problem ein neues Thema eröffnen?! |
Re: Zwei Labels funktionieren nicht
wenn das gelöst ist, dann kann man es ja schließen
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz