Autor Beitrag
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1448

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: Mo 12.03.12 00:05 
Hallo,
nach dem Durchforsten des Forums habe ich leider keine Hilfe für mein Problem gefunden.
Ein String soll so von rechts(!) an einem Leerzeichen abgeschnitten werden, dass seine Textausgabe in eine Paintbox passt. Das Suchen nach einem Leerzeichen mit pos vom Anfang des Strings an, Teilstring abtrennen, erneutes Suchen, usw... ist zu langsam. Daher habe ich bis jetzt benutzt (ist allerdings auch nicht viel schneller):
ausblenden Delphi-Quelltext
1:
2:
3:
4:
while (not test(s)) and (pos(' ',s)<>0do
begin
   while (s[length(s)]<>' 'and (length(s)>1do delete(s,length(s),1);
end;

Die Funktion test(s) kontrolliert über textwidth die Breite des Reststrings. Der Test (pos(' ',s)<>0) soll nur sicher stellen, dass der String auch wirklich ein Leerzeichen zum Umbruch enthält.
Sieht jemand eine Möglichkeit, wie ich dies beschleunigen kann. Gibt es vielleicht eine Art pos-Funktion, die von rechts beginnt?
Beste Grüße
Mathematiker
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Mo 12.03.12 01:00 

_________________
Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS

Für diesen Beitrag haben gedankt: Delphi-Laie, Mathematiker