Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi 2 Probleme.... (https://www.delphipraxis.net/89618-2-probleme.html)

NightFox 3. Apr 2007 10:00


2 Probleme....
 
Hi, also problem 1: möchte einen taschenrechner programmieren bei dem man die rechnung in ein editfeld eingibt und das tool das dann rechent. beispiel: man gibt '8*(3+5)' ein und dann gibt das tool 64 aus.

Problem 2: es ist mir schon öfters vorgekommen dass ich um die 20 labels ändern musste und da hab ich immer folgendes gemacht:
label1.caption...
label2.caption...
..
label20.caption...

kann man das nicht schneller machen? So auf die art for i:=1 to 20 do label[i].caption.. oder so, bin ratlos

MFG NightFox

Jelly 3. Apr 2007 10:02

Re: 2 Probleme....
 
Bitte nur eine Frage pro Thread. Editiere also deinen Beitrag bitte so um und erstell für deine 2. Frage einen eigene Thread.

fLaSh11 3. Apr 2007 10:02

Re: 2 Probleme....
 
Delphi-Quellcode:
(FindComponent('Label'+IntToStr(i)) as TLabel).Caption:='huhu'

TeronG 3. Apr 2007 10:04

Re: 2 Probleme....
 
Zitat:

Zitat von fLaSh11
Delphi-Quellcode:
(FindComponent('Label'+IntToStr(i)) as TLabel).Caption:='huhu'

Dauert "recht lange" .. wenn man das öffter machen will dann ist wohl
Delphi-Quellcode:
 MyLabels : array[1..20] of Tlable
schneller bzw. schöner


BTW: "lösche" lieber die erste Frage sonst müssen wir alle Antworten ändern :stupid:

scrat1979 3. Apr 2007 10:04

Re: 2 Probleme....
 
Hallo,

zu Deinem 2. Problem. Deine Idee war schon mal nicht schlecht :-)

Hier eine Lösung (ungetestet):

Delphi-Quellcode:
  for i := 1 to 20 do (findcomponent('label' + inttostr (i))as tlabel).caption := 'Das ist label Nr. ' + IntToStr(i);
Grüsse,

SCRaT

EDIT: Ohhh, da waren grad einige schneller als ich :-)

EDIT2: Source verbessert, danke an fLaSh11 :-)

fLaSh11 3. Apr 2007 10:06

Re: 2 Probleme....
 
scrat du hast eine Klammer vor FindComponent vergessen!

Phoenix 3. Apr 2007 10:07

Re: 2 Probleme....
 
Als Ergänzung zu Jelly noch folgendes: Ändere Bitte Deinen Titel in was Aussagekräftiges!
Probleme haben hier alle.

fLaSh11 3. Apr 2007 10:09

Re: 2 Probleme....
 
Zum 1.Problem:
Du musst die Gleichung (8+...) parsen. Das heißt sie rekursiv auseinandernehmen. Und danach alles von innen nach außen ausrechnen :)...

Hier ist ein sehr schönes Beispiel: Klick

TeronG 3. Apr 2007 10:10

Re: 2 Probleme....
 
bzw.: man muss die array-labels nicht zur laufzeit erzeugen ... es reicht vollkommen, wenn man sie einmalig (onCreate oder so) zuweist (label[1] := Label1, ...) und danach kann man sie einfach über Label[1].Caption ansprechen.

NightFox 4. Apr 2007 13:16

Re: 2 Probleme....
 
Ok vielen dank!


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:29 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