AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zwei Labels funktionieren nicht

Ein Thema von Pro-Grammierer · begonnen am 22. Nov 2008 · letzter Beitrag vom 22. Nov 2008
Antwort Antwort
Seite 1 von 2  1 2      
Pro-Grammierer

Registriert seit: 13. Nov 2008
46 Beiträge
 
#1

Zwei Labels funktionieren nicht

  Alt 22. Nov 2008, 12:26
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:
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;
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.

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]
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: Zwei Labels funktionieren nicht

  Alt 22. Nov 2008, 12:30
Bitte setze deinen Quelltext in Delphi-Tags und formatiere ihn anständig.
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Noedel

Registriert seit: 7. Aug 2008
204 Beiträge
 
Delphi 7 Professional
 
#3

Re: Zwei Labels funktionieren nicht

  Alt 22. Nov 2008, 12:30
häng mal bitte den rest an
ich seh da grad (fast) nix drin
  Mit Zitat antworten Zitat
Pro-Grammierer

Registriert seit: 13. Nov 2008
46 Beiträge
 
#4

Re: Zwei Labels funktionieren nicht

  Alt 22. Nov 2008, 12:34
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 ='Tankenthen
   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.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Zwei Labels funktionieren nicht

  Alt 22. Nov 2008, 12:36
Bitte editiere den Post nochmal und setze den Quellcode in Delphi-Tags (Quellcode oder markieren und die Schaltfläche "Delphi-Code" benutzen), sonst wird sich niemand die Mühe machen wollen, das zu lesen
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Alt 22. Nov 2008, 12:39     Erstellt von Valle
Dieser Beitrag wurde von Matze gelöscht. - Grund: Zitat von Valle: Ups, sorry... Hab\' mich verklickt. Verzeihung.
Pro-Grammierer

Registriert seit: 13. Nov 2008
46 Beiträge
 
#6

Re: Zwei Labels funktionieren nicht

  Alt 22. Nov 2008, 12:39
Ah, hab mich schon gewundert wie das geht
Danke. Habs gemacht
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Zwei Labels funktionieren nicht

  Alt 22. Nov 2008, 12:44
Sieht eigentlich gut aus auf den ersten Blick (sofern vor dem Tanken btWechsel betätigt wird). Wird das Timer-Ereignis denn auch durchlaufen?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Noedel

Registriert seit: 7. Aug 2008
204 Beiträge
 
Delphi 7 Professional
 
#8

Re: Zwei Labels funktionieren nicht

  Alt 22. Nov 2008, 12:48
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
-"Was studierst du eigentlich? Nerdologie?"
-"Informatik..."
-"Wusst ich´s doch!"
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Zwei Labels funktionieren nicht

  Alt 22. Nov 2008, 12:53
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#10

Re: Zwei Labels funktionieren nicht

  Alt 22. Nov 2008, 13:23
Label1.Refresh; aufrufen nach jeder Änderung der Caption-Eigenschaft.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:16 Uhr.
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