AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Label Font soll sich an dem Text ausrichten
Thema durchsuchen
Ansicht
Themen-Optionen

Label Font soll sich an dem Text ausrichten

Ein Thema von eugene222 · begonnen am 24. Mär 2011 · letzter Beitrag vom 25. Mär 2011
Antwort Antwort
Seite 2 von 3     12 3      
eugene222

Registriert seit: 24. Mär 2011
11 Beiträge
 
#11

AW: Label Font soll sich an dem Text ausrichten

  Alt 24. Mär 2011, 18:50
@vergessen
Ich hätte nicht gedacht, dass hier so Kiddys unterwegs sind.

@Topic
Ich hab das vorhin alles verworfen, weil es voller Fehler war.
Ich setze mich jetz nochmal dran. Vielleicht wird es diesmal etwas besser klappen.
Wenn ich Fortschritte gemacht habe, werde ich diese hier reinposten.

*edit*
Ja genauso hab ich es ja auch gemacht. Das Problem ist nur, dass man den Font nur in 1 Schritten verkleinern kann. Gib es irgentwelche Möglichkeiten den Font im Kleinen Maß zu verkleinern/vergrößern?

*edit2*
Ich hab das jetz so

einmal das On_Change Event des EditFeldes:
Code:
procedure Tabc.ed_a_Change(Sender: TObject);
 BEGIN
  TRY
   f_a := StrToFloat(ed_a.text);
   s_a := ed_a.text;
  EXCEPT
   ed_a.text := '';
   f_a := 0;
   s_a := 'a';
  END;
  la_formel.caption := s_a+'x²+'+s_b+'x+'+s_c+' = 0';
  formel;
 END;
Und die Formel Prozedur:
Code:
PROCEDURE Tabc.formel;
 BEGIN
  IF la_formel.Canvas.TextWidth(la_formel.caption) > la_formel.Width
  THEN BEGIN
        While la_formel.Canvas.TextWidth(la_formel.caption) > la_formel.Width DO
        BEGIN
         la_formel.Font.Size:= la_formel.Font.size -1;
        END;
       END
  ELSE BEGIN
        While la_formel.Canvas.TextWidth(la_formel.caption) < la_formel.Width DO
        BEGIN
         la_formel.Font.Size:= la_formel.Font.size +1;
        END;
       END;
 END;
Irgentwas ist da falsch. Aber ich weiß nicht was. Ich bin noch Anfäger in solchen Sachen

Geändert von eugene222 (24. Mär 2011 um 19:17 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#12

AW: Label Font soll sich an dem Text ausrichten

  Alt 24. Mär 2011, 21:10
Irgentwas ist da falsch. Aber ich weiß nicht was. Ich bin noch Anfäger in solchen Sachen
Was ist den Falsch?
Wächst die Fontgröße ins unendliche?
Wird überhaupt nichts mehr ausgegeben?

Eine nähere Beschreibung wäre schon nicht schlecht.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
eugene222

Registriert seit: 24. Mär 2011
11 Beiträge
 
#13

AW: Label Font soll sich an dem Text ausrichten

  Alt 25. Mär 2011, 13:58
Wenn ich ins Edit Feld 1 Ziffer eingebe, wird die Zahl normal im Label angezeigt. Nachdem ich jedoch die Zahl erhöhe, also 2 Ziffern da stehen habe, bleibt das Programm in einer Endlosschleife stehen.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#14

AW: Label Font soll sich an dem Text ausrichten

  Alt 25. Mär 2011, 14:01
Hast Du einmal einen Haltepunkt gesetzt und die Werte verfolgt?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#15

AW: Label Font soll sich an dem Text ausrichten

  Alt 25. Mär 2011, 15:40
Das funktioniert:
Delphi-Quellcode:
procedure FontAnpass(var lab:tlabel;const width:integer;const text:string);
begin
  if lab.Canvas.TextWidth(text) > Width THEN BEGIN
    While lab.Canvas.TextWidth(text) > Width DO
      lab.canvas.Font.Size:= lab.canvas.Font.size -1;
  END
  ELSE BEGIN
    While lab.Canvas.TextWidth(text) < Width DO
      lab.canvas.Font.Size:= lab.canvas.Font.size +1;
  END;
  lab.Font.Size:=lab.Canvas.Font.Size;
end;{------------------------------------------------------------------}
Es ist allerdings noch finetuning von Nöten.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#16

AW: Label Font soll sich an dem Text ausrichten

  Alt 25. Mär 2011, 15:50
Wieso ist das Label als Var-Parameter deklariert?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#17

AW: Label Font soll sich an dem Text ausrichten

  Alt 25. Mär 2011, 15:54
Ich wollte vermeiden, daß nur ein Wert herüber kommt.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#18

AW: Label Font soll sich an dem Text ausrichten

  Alt 25. Mär 2011, 16:00
Verstehe ich gerade nicht. Also was ich meinte, ist, dass man Objektinstanzen nicht als Var-Parameter übergibt, sondern allenfalls als const. Man will ja innerhalb der Routine nicht die Instanz an sich ändern, sondern nur deren Werte.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#19

AW: Label Font soll sich an dem Text ausrichten

  Alt 25. Mär 2011, 16:29
Wenn das so klappt, warum nicht?
Meine Kenntnisse über die Objektinterna sind wohl eher marginal.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#20

AW: Label Font soll sich an dem Text ausrichten

  Alt 25. Mär 2011, 16:36
Dann lass das "var" einmal weg, es wird immer noch klappen
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 15:39 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