![]() |
rtf (oder doc) Datei nach Formatierung getrennt zerlegen
Moin. Ich habe folgendes Problem. Ich habe eine doc-Datei(kann aber auch nach rtf Konvertiert werden, falls es so einfacher ist), in der div. Artikel stehen. Diese haben als Überschrift jeweils ein 4-5 stellige Zahl, in einer bestimmten Formatierung, die sonst nirgends auftaucht. Nun will ich das gesammte Dokument automatisch zerlegen, und zwar so das ich für jeden "Artikel" eine eigene Datei habe.
Ich hab mir das in etwa so gedacht um an die Zeilen zu kommen, in denen ein neuer Artikel anfängt.
Delphi-Quellcode:
Leider bekomme ich als Ergebniss immer nur die letzte Zeile
for i := 0 to JvRichEdit1.Lines.Count - 1 do
begin JvRichEdit1.SelStart := count; count := count + Length(JvRichEdit1.Lines[i]); JvRichEdit1.SelLength := Length(JvRichEdit1.Lines[i]); if fsBold IN JvRichEdit1.SelAttributes.Style then Showmessage(IntToStr(i)); end; Wenn es so wenigsten klappen würde, könnte ich danach ja noch die weiteren Kriterien untersuchen. Am schönsten wäre ja sowas wie FindTextAttributes mit dem man gezielt nach z.B. Tahoma, 22pt, bold suchen könne Gruß tr909 |
Re: rtf (oder doc) Datei nach Formatierung getrennt zerlegen
Das sollte eigentlich nach: VCL / WinForms / Controls
Gruß tr909 |
Re: rtf (oder doc) Datei nach Formatierung getrennt zerlegen
:roll:
*push* |
Re: rtf (oder doc) Datei nach Formatierung getrennt zerlegen
Also ich hab jetzt was das so funktioniert wie ich es mir vorgestellt habe:
Delphi-Quellcode:
Mein Fehler war das ich #13#10 am Zeilenende nicht mit berücksichtigt hatte ;)
procedure GetAttLines (const rich: TRichEdit;
const style: TFontStyles; const size : integer; var list: TStrings); var i, count, len : integer; begin count := 0; for i := 0 to rich.Lines.Count - 1 do begin len := length(rich.Lines[i]); rich.SelStart := count; rich.SelLength := len; if ((rich.SelAttributes.Style = style) AND (rich.SelAttributes.Size = size)) then list.add(IntToStr(i)); count := count + len + 2; end; end; Aber evtl. gibt’s ja noch eine andere Lösung. Gruß tr909 |
DP-Maintenance
Dieses Thema wurde von "sakura" von "Windows API / MS.NET Framework API" nach "VCL / WinForms / Controls" verschoben.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz