AGB  ·  Datenschutz  ·  Impressum  







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

Label aus anderer Unit verwenden

Ein Thema von Fractal · begonnen am 16. Apr 2014 · letzter Beitrag vom 17. Apr 2014
 
Popov
(Gast)

n/a Beiträge
 
#3

AW: Label aus anderer Unit verwenden

  Alt 16. Apr 2014, 18:32
Nun, das Caption von Label enthält keine Zahl, sondern einen String. Natürlich kann man eine Zahl auch als String speichern und andersherum. Dabei muss man natürlich immer aufpassen, dass in dem String mit der Zahl immer nur Zahlen-Buchstaben vorkommen.

Betrachten wir mal dein Code
Delphi-Quellcode:
procedure TFrage2.SpeedButton4Click(Sender: TObject);
begin
  n:=strtoint(Zahl.caption);
  n:=n+1;
  Zahl.caption:=inttostr(n);
StrToInt ist schon die richtige Funktion wenn man ganz sicher weiß, dass der String eine Zahl enthält. Ansonsten kann es zu Konvertierungsfehlern kommen. Unter Umständen ist dafür die Funktion StrToIntDef angebrachter. Es gibt dann keine Fehlermeldung, dafür wird ein Ersatzwert genommen.

Auch das n ist bei dir anscheinend global, obwohl du es zum Konvertieren nur lokal brauchst.
Delphi-Quellcode:
procedure TFrage2.SpeedButton4Click(Sender: TObject);
var
  n: Integer;
begin
  n := StrToIntDef(Zahl.caption, 0);
  n := n + 1;
  Zahl.caption := IntToStr(n);
Vor allem beim ersten Click, wenn Label.caption z.B. leer ist, wird der leere Caption String abgefangen und als Null interpretiert.

Willst du z.B. wissen ob es da einen Fehler gibt, kannst du in StrToIntDef einen Negativwert geben, z. B. so n := StrToIntDef(Zahl.caption, -99); . Schon kannst du erkennen ob es einen Konvertierungsfehler gab.

Als Anfänger (später eher nicht, aber als Anfänger finde ich das noch ok) könntest du den Tag von Label für die Zählung missbrauchen. Die Eigenschaft Tag hat keine sonstige Bedeutung, d. h. man kann damit machen was man will. Du könntest es zum zählen nutzen.
Delphi-Quellcode:
procedure TFrage2.SpeedButton4Click(Sender: TObject);
begin
  Zahl.Tag := Zahl.Tag + 1;
  Zahl.caption := IntToStr(Zahl.Tag);
  Mit Zitat antworten Zitat
 


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 10:26 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