AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

QuoteText parsen?

Ein Thema von Bjoerk · begonnen am 5. Nov 2014 · letzter Beitrag vom 12. Nov 2014
Antwort Antwort
Seite 4 von 4   « Erste     234
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#31

AW: QuoteText parsen?

  Alt 12. Nov 2014, 14:24
Ok. Schau ich mir an. Vielleicht nochmal zu meinem Ansatz. Ich versteh ja wenn das mal 1 oder 2 Pixel Unterschied sind (ist bei Word ja auch) aber so ??? Ich splitte den String in eine Wortliste (übrigens mit deiner Splitspring) und drucke dann Wort für Wort. Das TextWidth jeweils dazu addiert zuzüglich der Länge Delta?

Code:
========== Bezugsbreite ==========
Test(__Delta__)Test(__Delta__)Test
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: QuoteText parsen?

  Alt 12. Nov 2014, 15:19
Ich habe Deinen Code jetzt nicht bis ins Detail nachvollzogen, aber ein paar Gedanken dazu: aufzuteilende Breite = Anzeigebreite - Textbreite. Textbreite muss man aber erst einmal definieren, soll sie mit oder ohne die Leerzeichen sein? Ohne Leerzeichen könnte dazu führen, dass im ungünstigsten Fall der Zwischenraum kleiner als die Breite eines Leerzeichens wird, nicht so schön. Im anderen Fall muss man daran denken, außer beim letzten Wort bei der Anzeige noch ein Leerzeichen anzuhängen, wenn man die Stringliste abarbeitet.
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
 
#33

AW: QuoteText parsen?

  Alt 12. Nov 2014, 15:48
Textbreite muss man aber erst einmal definieren, soll sie mit oder ohne die Leerzeichen sein?
Textbreite ergibt sich aus den darstellbaren Zeichen, Ausnahme ist das "definierteLeerzeichen" (weis jetzt die genaue Bezeichnung nicht), daß muß mitgezählt/gemessen werden.

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

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#34

AW: QuoteText parsen?

  Alt 12. Nov 2014, 15:58
Zitat:
Ich habe Deinen Code jetzt nicht bis ins Detail nachvollzogen, aber ein paar Gedanken dazu: aufzuteilende Breite = Anzeigebreite - Textbreite.
Hab ich.
Zitat:
Textbreite muss man aber erst einmal definieren, soll sie mit oder ohne die Leerzeichen sein?
Ist mit Leerzeichen.
Zitat:
[..] man daran denken, außer beim letzten Wort bei der Anzeige noch ein Leerzeichen anzuhängen, wenn man die Stringliste abarbeitet.
Wieso dieses Leerzeichen? Kapier ich nich?

Edit:
Stimmt übrigens. Mega Thanx!! Aber wieso?
MMX := MMX + Canvas.TextWidth(SL[I] + #32) / ppMM + DeltaMMX;

Geändert von Bjoerk (12. Nov 2014 um 16:04 Uhr) Grund: Edit;
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#35

AW: QuoteText parsen?

  Alt 12. Nov 2014, 16:10
Non Breaking SPace
HTML-Code:
<p>
  Ich bin ein&nbspText in einem kurzen nichtssagendem Absatz.
</p>
hat beim Rendern ein feste Breite und an der Stelle wird nicht umgebrochen. Alle anderen Leerzeichen können in der Breite variieren um beim Blocksatz den Text bündig zu präsentieren.
Code:
|----------------------|
Ich...bin..ein_Text...in
einem.............kurzen
nichtssagendem.Absatz.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: QuoteText parsen?

  Alt 12. Nov 2014, 16:47
Stimmt übrigens. Mega Thanx!! Aber wieso?
Nehmen wir doch mal das hier:
Code:
Ich_bin_ein_Satz.
(die _ sollen die Leerzeichen darstellen). Angenommen, es ergibt eine Textbreite von 50 Pixeln, die Ausgabebreite beträgt 122 Pixel, dann ist der aufzuteilende Abstand 72 Pixel. 3 Wortabstände (Leerzeichen), das macht dann 24 Pixel zusätzlichen Abstand zwischen 2 Worten. Du hast jetzt den Satz gesplittet, das ergibt
Code:
Ich
bin
ein
Satz.
Gibst Du das nun mit jeweils 24 Pixeln Zwischenabstand wieder aus, kommt dabei
Code:
IchXbinXeinXSatz.
(X = 24 Pixel Abstand) heraus. Das ist aber zu kurz, da die Breite der nun weggefallenen Leerzeichen fehlt, das muss wieder ergänzt werden:
Code:
Ich_Xbin_Xein_XSatz.
Deswegen entweder Leerzeichen an die einzelnen Worte wieder anhängen oder gleich die Textbreite ohne Leerzeichen errechnen (oder die Textbreite eines Leerzeichens einmalig ermitteln und auf den Abstand aufschlagen)
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
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#37

AW: QuoteText parsen?

  Alt 12. Nov 2014, 17:05
Achso. Die SplitString schmeißt ja den Delim (hier #32) raus. Dann isses klar. Danke!
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: QuoteText parsen?

  Alt 12. Nov 2014, 17:47
Ich habs gefunden..RequestedSPace (IBM /370 EBCDIC Character Set).
Ist das gleiche aber IBM war ja schon immer ein wenig anders.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 20:25 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