AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Label.Caption mit/durch ProgressBar ändern?!?
Thema durchsuchen
Ansicht
Themen-Optionen

Label.Caption mit/durch ProgressBar ändern?!?

Ein Thema von xShadowBoZz · begonnen am 1. Mai 2008 · letzter Beitrag vom 1. Mai 2008
Antwort Antwort
Benutzerbild von xShadowBoZz
xShadowBoZz

Registriert seit: 19. Jan 2008
Ort: Deutschland ~.~
80 Beiträge
 
Delphi 7 Enterprise
 
#1

Label.Caption mit/durch ProgressBar ändern?!?

  Alt 1. Mai 2008, 20:41
also habe momentan folgendes problem.
ich will das wenn ich eine ProgressBar zum laufen bring durch einen button click das sich ein label nach jeder runde mitverändert.
die progressbar bring ich mit einem timer zum laufen.

ich zeig euch ma wie ich es bis jetzt probiert habe (habs schon mehrmals und unterschiedlich probiert, allerdings funktioniert das fast am besten)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Timer1.Enabled:=True;
end;
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var b: Integer;
begin
  b:=1;
  ProgressBar1.StepBy(1);
  application.ProcessMessages;
  label3.Caption:= label3.Caption +IntToStr(b);
end;
habs in diesem fall enfach mal so gemacht, das die progressbar max. 60 und min.0 hat.
durch den timer wird die Progressbar aktiviert mit einser schritten.
label3.caption sollte eigentlich dann von (sekunde) 0 bis 60 hochlaufen.
stattdessen siht label3.caption so aus (nach jeder runde):
1
11
111
1111
...
also es wird nicht 1+1 gerechnet sondern einfach eine 1dazu getan.
bräuchte halt einfach eine lösung dafür? vllt. ein commando zum addieren?
(falls das basis kenntnise sind, dann habe ich vergessen wie man addiert, also mit einem commando).

danke falls ihr helfen könnt.
Andreas
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Label.Caption mit/durch ProgressBar ändern?!?

  Alt 1. Mai 2008, 20:44
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var b: Integer; // das dann auch weg
begin
  b:=1; // solltest Du ausserhalb des Timer auf 1 setzen
  ProgressBar1.StepBy(1);
  application.ProcessMessages;
  inc(b)
  label3.Caption:= IntToStr(b);
end;
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

Re: Label.Caption mit/durch ProgressBar ändern?!?

  Alt 1. Mai 2008, 20:47
du mußt nur Label.Caption vorher in einen Integer umwandeln (TryStrToInt oder StrToIntDef), dann 1 dazurechnen und per IntToStr wieder in einen Integer umwandeln.


Du könntest auch (falls nur bis 60/59 gezählt werden soll) ProgressBar1.Position in einen String umwandeln und anzeigen.


PS: 0 bis 60 = 61 Sekunden
0 bis 59 = 60 Sekunden
$2B or not $2B
  Mit Zitat antworten Zitat
Mikender
(Gast)

n/a Beiträge
 
#4

Re: Label.Caption mit/durch ProgressBar ändern?!?

  Alt 1. Mai 2008, 20:51
Oder ohne die Variable b würde es auch so gehen

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  ProgressBar1.StepBy(1);
  application.ProcessMessages;
  inc(b)
  label3.Caption:= IntToStr(StrToInt(Label3.Caption)+1);
// Vorsicht das ist ein Pseudo Code (Fehler vorbehalten) :-D

[Edit] Sorry hat himitsu auch gleichzeitig geschrieben (seltsam kam gar keine Melung über "neuer Beitrag hinzugekommen" [/EDIT]
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

Re: Label.Caption mit/durch ProgressBar ändern?!?

  Alt 1. Mai 2008, 20:55
@Mikender:
StrToInt und im Label keine Zahl = Exception

@[Edit] tja, bei mir kam eine, nur wurde kein neuer Beitrag (der von Klaus01) angezeigt
$2B or not $2B
  Mit Zitat antworten Zitat
Mikender
(Gast)

n/a Beiträge
 
#6

Re: Label.Caption mit/durch ProgressBar ändern?!?

  Alt 1. Mai 2008, 21:01
[OT]Tja wieder ein Mysterium in der DP [/OT]

Und die Exception kannst du ja mit Try...except oder if...then abfangen
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#7

Re: Label.Caption mit/durch ProgressBar ändern?!?

  Alt 1. Mai 2008, 21:08
Zitat von himitsu:
du mußt nur Label.Caption vorher in einen Integer umwandeln (TryStrToInt oder StrToIntDef), dann 1 dazurechnen und per IntToStr wieder in einen Integer umwandeln.
Oder mit dem Tag arbeiten

Delphi-Quellcode:
Label3.Tag := Label3.Tag + 1;
label3.Caption:= IntToStr(Label3.Tag);
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von xShadowBoZz
xShadowBoZz

Registriert seit: 19. Jan 2008
Ort: Deutschland ~.~
80 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Label.Caption mit/durch ProgressBar ändern?!?

  Alt 1. Mai 2008, 21:22
ok danke erstmal.

mikender's methode funktioniert, allerdings kommt halt ne exeption wenn keine zahl(integer) drin steht,
allerdings kann ich des so machen: das in den einstellunge Caption= 0 ist und Visible=False.
in der procedure stell ich dann erst visible= true ein und alles startet.

@ toms:
funktioniert perfekt auch ohne integer in der caption.
ich weiß zwar eigenltih net was tag heist, also wofür des genutzt wird, aba es geht.
thx
Andreas
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Label.Caption mit/durch ProgressBar ändern?!?

  Alt 1. Mai 2008, 21:25
Zitat:
ich weiß zwar eigenltih net was tag heist, also wofür des genutzt wird, aba es geht.
.Tag ist eine Eigenschaft einer Komponente, die der Programmierer mit Integerwerten belegen kann.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#10

Re: Label.Caption mit/durch ProgressBar ändern?!?

  Alt 1. Mai 2008, 21:28
Tag hat keine Funktion und es ist für den Programmierer vorgesehn, also du selbst kannst entscheiden, was damit gemacht wird. (nahezu alle Delpi-VCL-Komponenten haben dieses Property)


Zitat von xShadowBoZz:
... allerdings kommt halt ne exeption wenn keine zahl(integer) drin steht
TryToStr, oder StrToIntDef mit 0 als Default.

[edit] war mkinzler schonwieder zu schnell
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:06 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