Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Labels erstellen (https://www.delphipraxis.net/84537-labels-erstellen.html)

Privateer3000 18. Jan 2007 09:34


Labels erstellen
 
Hi Leutz,
mit
Delphi-Quellcode:
WinIni1.ReadSection('Namen',RadioGroup1.Items);
kann man eine Radiogroup mit dem Inhalt einer Inidaei füllen.
Wie muss das aussehen wenn die mit Labels getan werden soll?
Wie Labels zur Laufzeit erstellt werden weiß ich, aber wie die
Sections der Inidatei in die Captions der Labels kommen soll hab
ich keinen Plan :-(
Weiß jemand Rat?

Grüße

Mavarik 18. Jan 2007 09:38

Re: Labels erstellen
 
hmm

Delphi-Quellcode:
 Label1.Caption := readstring('Labels','Label1','-nicht gefunden-');
Oder war das nicht gemeint?

Frank :coder:

Muetze1 18. Jan 2007 09:39

Re: Labels erstellen
 
ReadSections gibt dir die Liste mit Einträgen in der Sektion an ein TStrings Objekt zurück. Daher folgende Vorgehensweise:

1. TStringList erstellen
2. ReadSection() mit der TStringList Instanz aufrufen
3. Die StringList durchlaufen und für jeden Eintrag ein Label erzeugen und die Caption auf den Eintrag in der StringList Instanz setzen
4. StringList Instanz freigeben

yörsch 18. Jan 2007 09:40

Re: Labels erstellen
 
versuchsmla mit TIniFile, da sind die strukturen zumindest da die du brauchst :gruebel:

Muetze1 18. Jan 2007 09:41

Re: Labels erstellen
 
Zitat:

Zitat von yörsch
versuchsmla mit TIniFile, da sind die strukturen zumindest da die du brauchst :gruebel:

Benutzt er doch schon (oder eine Ableitung) laut seinem Beispielcode? :gruebel: Was fehlt ihm denn noch?

Privateer3000 18. Jan 2007 10:00

Re: Labels erstellen
 
Danke Leute,
wie gesagt. Ich fülle eine Radiogroup mit Namen aus
die in einer Inidatei stehen. Nun will ich die ändern
stattdessen mit Labels anzeigen lassen.
Mit Radiogroups geht das ja noch einfach, aber Labels
sind da schwieriger.
Es sollen nun maximal 8 Labels untereinander die restlichen
in Spalten daneben angezeigt werden. Nun bekommen alle
Labels ein onclick-Ereignis zugewiesen.
Ich probier das mit der TStringList mal aus.

Danke

Privateer3000 18. Jan 2007 12:31

Re: Labels erstellen
 
Soweit klappt das alles, nun die Frage
wie übergibt man von den erstellten
Labels, im onclick-Ereignis z.B.
den Inhalt der Caption des geklickten
Labels an eine Prozedure??
Danke und Grüße

Mavarik 18. Jan 2007 12:38

Re: Labels erstellen
 
Delphi-Quellcode:
  DeinProc((Sender as TLabel).Caption);
Frank :coder:

p0w3r5tr34m3r 18. Jan 2007 12:41

Re: Labels erstellen
 
Delphi-Quellcode:
ini.readsections(radiogroup1.items);
ungetestet aber sollte gehen

Muetze1 18. Jan 2007 12:49

Re: Labels erstellen
 
Zitat:

Zitat von p0w3r5tr34m3r
Delphi-Quellcode:
ini.readsections(radiogroup1.items);
ungetestet aber sollte gehen

Schau dir mal den ersten Beitrag an, in dem der Threadersteller sein Problem geschildert hat.

inherited 18. Jan 2007 13:10

Re: Labels erstellen
 
Einfach mal lesen, bevor man antwortet :roll:
Am betsen die Section erstmal in eine Stringlist laden, dann for i := 0 to Stringlist.Count-1 den Labels die Caption stringlist[i] zuweisen

Privateer3000 19. Jan 2007 09:33

Re: Labels erstellen
 
Zitat:

Zitat von Mavarik
Delphi-Quellcode:
  DeinProc((Sender as TLabel).Caption);

Danke Mavarik und auch an die anderen.
Was du oben beschrieben hast, nehm ich an dass dies
das onclick Ereignis ist. Wie empfängt die procedure
dieses,bzw. wie wird es dort ausgewertet?
die wichtigste zeile wäre in meinem Falle:
Delphi-Quellcode:
procedure TForm2.labelclick(Sender:TObject);
main.name.Text:= ???
anstelle der fragezeichen müsste dort der name
des geklickten Labels übergeben werden.

Mavarik 19. Jan 2007 10:32

Re: Labels erstellen
 
Hää ich verstehe Deine Frage nicht...
Delphi-Quellcode:
procedure TForm2.labelclick(Sender:TObject);
begin
  Whatever := (Sender as TLabel).Caption; // Oder auch .Name
end;

Frank

Privateer3000 19. Jan 2007 10:58

Re: Labels erstellen
 
Danke, manchmal sieht mn den Wald hinter den umgefallenen Bäumen nicht...


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