Delphi-PRAXiS
Seite 1 von 2  1 2      

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 2 Labels verbinden (https://www.delphipraxis.net/25850-2-labels-verbinden.html)

Hansa 13. Jul 2004 19:32


2 Labels verbinden
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hi,

es geht darum, 2 Labels zu verbinden. Z.B. "Betrag 10.00 EUR". Wenn ich dafür nur Labels verwende, so wird das zu unübersichtlich. Wenn auf einer Form 100 solcher Konstrukte sind, dann macht es schon Sinn, wenn die Beschriftung und der Wert zusammen gespeichert werden.

So ähnlich wie beim LabeledEdit ab D6. Für die Edits haben Motzi und ich dieses erweitert. Ich hänge das mal hier dran. Z.B. nur Zahlen zulassen.

So was brauche ich nun auch für Anzeigezwecke. Also habe ich das Edit durch ein Label ersetzt. Allerdings klappt das Alignment so nicht.

glkgereon 13. Jul 2004 20:55

Re: 2 Labels verbinden
 
hmm...

willst du fragen oder vorstellen?
ich hab das immer so gemacht, bzw würde es so machen:

wenn du deine labels eindeutig benennst, zb lbl_Betrag könntest du sagen:
Delphi-Quellcode:
Lbl_Betrag.Caption:=copy(Lbl_Betrag.Name,4,length(Lbl_Betrag.Name))+inttostr(Betrag)
wenn du verstehst was ich mein...

oder du gibts jedem labenl eine etsprechende variable oder konstante und sachst dann

Delphi-Quellcode:
Label1.Caption:=Prefix_Betrag+inttostr(Betrag)
sag, wenn ich deinen beitrag völlig missverstanden hab...

aber so hab ichs bisher gelöst

Hansa 13. Jul 2004 22:06

Re: 2 Labels verbinden
 
Vielen Dank für Deine Antwort. Aber das trifft nicht den Kern der Sache. Es geht eher um "Komponentenentwicklung". Deshalb die Anhänge.

Wie zu erwarten war, ist das etwas, wo kaum Feedback kommt. In dem 2. Label gelingt es mir nicht, dieses mit alRightJustify zu positionieren. 8)

mschaefer 13. Jul 2004 22:28

Re: 2 Labels verbinden
 
Spätmoin & Gute nacht Moin

ich weiss, dass es das im Moment auch nicht ganz trifft, aber Du kannst mit
der API-Funktion TabbedTextOut einen Text mit Tabulatoren ausgeben und das
könnte man dann auch in einem Label realisieren.
Wenn Du dann noch zwei Captions (left und rigth) einführst, dann hättest Du
das alles in einer Komponente....

Grüße // Martin

Hansa 17. Jul 2004 18:41

Re: 2 Labels verbinden
 
das hilft alles nichts. Um da dahinter zu kommen muß maß sich den Source ansehen. Das hat kaum einer getan. Ich erzähle trotzdem, was es war : das Alignment habe ich überflüssigerweise nochmals deklariert.

Da es in dem Vorfahr bereits eingeführt wurde, war das einfach überflüssig, bzw. habe ich das selber überschrieben.

Im Allgemeinen ist es jedoch erschreckend, zu sehen, wie wenig Beachtung der OOP geschenkt wird, auf der fast alles mittlerweile aufbaut. Nicht einmal die Objektablage wird beachtet. 8) Das ist schon ein großer Nachteil, wenn man etwas kompliziertes sinnvoll programmieren will.

Sharky 18. Jul 2004 07:26

Re: 2 Labels verbinden
 
Zitat:

Zitat von Hansa
...Im Allgemeinen ist es jedoch erschreckend, zu sehen, wie wenig Beachtung der OOP geschenkt wird....

Hai Hansa,
ich erschrecke mehr wenn ich sehe das Du für solche Sachen 2 Labels verwendest. :roll:
Mit einer einfachen Verwendung von FORMAT geht das wesentlich eleganter.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  betrag : Double;
begin
  betrag := 15,25
  Label1.Caption := Format ('Betrag %f EUR',[betrag]);
end;

SirThornberry 18. Jul 2004 09:07

Re: 2 Labels verbinden
 
Also ich versteh das ganze Problem hier auch nicht. Wenn man einfach eine Betrag und eine Währung darstellen will reicht doch ein einfaches Label und das Alignment bei einem Label auf alRightJustify zu stellen funktioniert auch. Ich versteh einfach nicht was hier erreicht werden soll (aufgabenstellung zu ungenau formuliert). Einfach einen Betrag und dahinter die Währung ist es bestimmt nicht denn das wäre ja doch ziemlich einfach und erfordert keine 2 Labels

himitsu 18. Jul 2004 10:15

Re: 2 Labels verbinden
 
2?
Also wenn ich das richtig verstanden hab, dann sind es sogar 3 Label's -.-

Code:
1_____ 2____ 3__
Betrag 10.00 EUR

Und das einzige mal, wo ich 2 Label kombiniert hatte, da war das eine Label auf FETT eingestellt.


So, und nun zum Thema:
Label's aneinander ausrichten (hier mal rechtsbündig)

Delphi-Quellcode:
Label1.Caption := 'Betrag';
Label2.Caption := '10,00';
Label3.Caption := 'Euro';
Label2.Left := Label3.Left - Label2.Width - 3;
Label1.Left := Label2.Left - Label1.Width - 3;

// die Label's stehen auf
//   Alignment = taRightJustify
//   Autosize = true
//   Top ist bei allen gleich
//   und das rechte Label ist bereits mit seiner Rechten Kante ausgerichtet
//
// - 3 ist der Abstand zwischen den Labels

SirThornberry 18. Jul 2004 10:18

Re: 2 Labels verbinden
 
Und was spricht dagegen das alles in einem Label darzustellen und das ganze einfach per Leerzeichen zu trennen?

himitsu 18. Jul 2004 10:26

Re: 2 Labels verbinden
 
nicht's ^^

ich nehme ja auch sowas, wie
Delphi-Quellcode:
Label1.Caption := 'Betrag ' + FloatToStr(Betrag) + ' Euro';
, oder wie es unser Sharky vogeschlagen hat.


PS:
@Sharky: bei dir fehlt ein ; :zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:44 Uhr.
Seite 1 von 2  1 2      

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