AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

String länge setzen

Ein Thema von IIIMADDINIII · begonnen am 31. Mär 2009 · letzter Beitrag vom 31. Mär 2009
Antwort Antwort
IIIMADDINIII
(Gast)

n/a Beiträge
 
#1

String länge setzen

  Alt 31. Mär 2009, 09:33
hallöchen

ich mochte einen string bei einer bestimmten anzahl von pixeln (natürlich Font abhänig) abschneiden.
dabei sollen aber die letzten drei zeichen die angezeigt werden '...' sein.
gibts da chon eine function von delphi???

schon mal danke
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: String länge setzen

  Alt 31. Mär 2009, 09:37
bei einem TStatic/TLabel gibt es eventuell was schau mal nach der Eigenschaft .EllipsisPosition ... in älteren Delphi-Versionen könnte man sowas für TStatic relativ leicht nachrüsten.

ansonsten siehe http://www.delphipraxis.net/internal...ct.php?t=12542
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
IIIMADDINIII
(Gast)

n/a Beiträge
 
#3

Re: String länge setzen

  Alt 31. Mär 2009, 09:42
leider möchte ich das nict mit einem label ausgeben sondern mit Canvas. gibt das auch dort???
  Mit Zitat antworten Zitat
IIIMADDINIII
(Gast)

n/a Beiträge
 
#4

Re: String länge setzen

  Alt 31. Mär 2009, 09:56
habe schon selbst eine lösung im internet gefungen. ich stelle sie mal für andere rein:

Delphi-Quellcode:
function TextCutB(Canvas: TCanvas; Len: Word; Text: String): String;
var
  k: Integer;
begin
  Result := Text;
  with Canvas do if TextWidth(Text) > Len then
  begin
    for k := Length(Text) downto 1 do
      if TextWidth(Copy(Text, 1, k) + '...') > Len then Continue
        else
      begin
        Result := Copy(Text, 1, k) + '...';
        Exit;
      end;
  end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: String länge setzen

  Alt 31. Mär 2009, 09:59
Da gab es mal die Methode MinimizeName (Unit FileCtrl), die war dafür geeignet, wenn ich mich recht entsinne. Zumindest unter Delphi 5 ist diese allerdings nicht dokumentiert.

[edit] Ach nee, die kürzt ja nur ggf. Pfadangaben. [/edit]
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 Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: String länge setzen

  Alt 31. Mär 2009, 10:25
Wenn du es sowieso auf dem Canvas ausgibst, dann nimm doch gleich MSDN-Library durchsuchenDrawtext mit dem Flag DT_ENDELLIPSIS oder wie der heißt.
Michael
Ein Teil meines Codes würde euch verunsichern.
  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 23:45 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