Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#42

AW: Textlänge abschneiden

  Alt 18. Jun 2016, 18:52
Eventuell noch ein anderer Ansatz:
Delphi-Quellcode:
begin
  fMaxLen := 635; // Die maximal zulässige Breite der Zeichenfolge in der Anzeige.
  fMaxStrLen := tsTextGetWidthA(SongName); // Aktuelle Breite ermitteln.
  if fMaxStrLen >= fMaxLen then begin // Ist die größer als die Maximalbreite?
    SongName := SongName + '...'; // dann ... anhängen
    fMaxStrLen := tsTextGetWidthA(SongName); // und die neue Breite ermitteln.
    repeat // Solange wiederholen
      Delete(SongName,Length(SongName) - 4,1); // viertletztes Zeichen entfernen
      fMaxStrLen := tsTextGetWidthA(SongName); // Neue Breite ermitteln.
    until fMaxStrLen <= fMaxLen; // Bis die Breite <= der Maximalbreite ist.
  end;
end;
  Mit Zitat antworten Zitat