Einzelnen Beitrag anzeigen

Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Weimar
327 Beiträge
 
Delphi 10.4 Sydney
 
#1

Text aus einem Richedit kopieren

  Alt 9. Apr 2021, 22:56
Hallo,

ich wollte ein Richedit benutzen, um aus folgenden Zeilen die Namen und andere Daten auszulesen. Dabei habe ich nur am Anfang der Zeilen folgenden Indikator:
Code:
: [[
Meine Versuche, mittels FindText und SelText die entsprechenden Stellen heraus zu kopieren, scheitern an irgendeiner Logik.

Mein Inhalt vom Richedit:

Code:
__NOTOC__

{{SubTOC|Titel=Liste von Autoren|Index=Liste von Autoren}}

== Aa ==
: [[Bertus Aafjes]] (1914–1993), NL
: [[Jeppe Aakjær]] (1866–1930), DK
: [[Johannes Aal]] (um 1500–1551), CH
: [[Hans Aanrud]] (1863–1953), NO
: [[Emil Aarestrup]] (1800–1856), DK
: [[Soazig Aaron]] (* 1949), FR
: [[Ivar Aasen]] (1813–1896), NO

== Ab ==
: [[Petrus Abaelardus]] (1079–1142), FR
: [[Sait Faik Abasıyanık]] (1906–1954), TR
: [[Lynn Abbey]] (* 1948), US
: [[Jacob Abbott]] (1803–1879), US
: [[John Stevens Cabot Abbott]] (1805–1877), US
: [[Abdullah bin Abdul Kadir]] (1795–1852), MAL
: [[Abe Kōbō]] (1924–1993), JP
: [[Rebecca Abe]] (* 1967), D

Meine Funktion, um nur die Werte (in ein anderes Richedit) zu übertragen. (Für die visuelle Darstellung, ob es klappt.

Delphi-Quellcode:
function SearchForText(RichEdit: TRichEdit; SearchText: string; var Dummy_StringList: TStringList): boolean;
var
  Startpos, Position, Endpos, x: Integer;
begin
  Startpos := 0;
  x := 1;
  with RichEdit do
  begin
    Endpos := Length(Text);
    Lines.BeginUpdate;
    while FindText(SearchText, Startpos, Endpos, []) <> -1 do
    begin
      Endpos := Length(Text) - Startpos;
      Position := FindText(SearchText, Startpos, Endpos, []);
      Startpos := Position;
      inc(Startpos, Length(SearchText));

      Endpos := FindText(SearchText, Startpos, Endpos, []);

      SelStart := Position;
      SelLength := Endpos - Length(SearchText);

      Dummy_StringList.Add(x.ToString + #32 + SelText);
      inc(x);

      Startpos := Endpos;
      Endpos := Length(Text);

    end;
    Lines.EndUpdate;
  end;
end;
Im Grunde möchte ich ja den Text zwischen ': [[' und ': [[' kopieren. Heraus kommt aber leider:


Code:
1 : [[Bertus Aafjes]] (1914–1993), NL
: [[Jeppe Aakjær]] (1866–1930), DK
: [[Johannes Aal]] (um 1500–1551), CH
: [
2 : [[Jeppe Aakjær]] (1866–1930), DK
: [[Johannes Aal]] (um 1500–1551), CH
: [[Hans Aanrud]] (1863–1953), NO
: [[Emil Aarestrup]] (1800–1856), DK
: [
3 : [[Johannes Aal]] (um 1500–1551), CH
: [[Hans Aanrud]] (1863–1953), NO
: [[Emil Aarestrup]] (1800–1856), DK
: [[Soazig Aaron]] (* 1949), FR
: [[Ivar Aasen]] (1813–1896), NO

== Ab ==
:
4 : [[Hans Aanrud]] (1863–1953), NO
: [[Emil Aarestrup]] (1800–1856), DK
: [[Soazig Aaron]] (* 1949), FR
: [[Ivar Aasen]] (1813–1896), NO

== Ab ==
: [[Petrus Abaelardus]] (1079–1142), FR
: [[Sait Faik Abas&#305;yan&#305;k]] (1906–
5 : [[Emil Aarestrup]] (1800–1856), DK
: [[Soazig Aaron]] (* 1949), FR
: [[Ivar Aasen]] (1813–1896), NO

== Ab ==
: [[Petrus Abaelardus]] (1079–1142), FR
: [[Sait Faik Abas&#305;yan&#305;k]] (1906–1954), TR
: [[Lynn Abbey]] (* 1948), US
: [[Jacob Abbott]] (1803–1879),
6 : [[Soazig Aaron]] (* 1949), FR
: [[Ivar Aasen]] (1813–1896), NO

== Ab ==
: [[Petrus Abaelardus]] (1079–1142), FR
: [[Sait Faik Abas&#305;yan&#305;k]] (1906–1954), TR
: [[Lynn Abbey]] (* 1948), US
: [[Jacob Abbott]] (1803–1879), US
: [[John Stevens Cabot Abbott]] (1805–1877), US
: [[Abdullah bin
7 : [[Ivar Aasen]] (1813–1896), NO

== Ab ==
: [[Petrus Abaelardus]] (1079–1142), FR
: [[Sait Faik Abas&#305;yan&#305;k]] (1906–1954), TR
: [[Lynn Abbey]] (* 1948), US
: [[Jacob Abbott]] (1803–1879), US
: [[John Stevens Cabot Abbott]] (1805–1877), US
: [[Abdullah bin Abdul Kadir]] (1795–1852), MAL
: [[Abe K&#333;b&#333;]] (1924–1993), JP
: [[Rebecca A
8 : [[Petrus Abaelardus]] (1079–1142), FR
: [[Sait Faik Abas&#305;yan&#305;k]] (1906–1954), TR
: [[Lynn Abbey]] (* 1948), US
: [[Jacob Abbott]] (1803–1879), US
: [[John Stevens Cabot Abbott]] (1805–1877), US
: [[Abdullah bin Abdul Kadir]] (1795–1852), MAL
: [[Abe K&#333;b&#333;]] (1924–1993), JP
: [[Rebecca Abe]] (* 1967), D
9 : [[Sait Faik Abas&#305;yan&#305;k]] (1906–1954), TR
: [[Lynn Abbey]] (* 1948), US
: [[Jacob Abbott]] (1803–1879), US
: [[John Stevens Cabot Abbott]] (1805–1877), US
: [[Abdullah bin Abdul Kadir]] (1795–1852), MAL
: [[Abe K&#333;b&#333;]] (1924–1993), JP
: [[Rebecca Abe]] (* 1967), D
10 : [[Lynn Abbey]] (* 1948), US
: [[Jacob Abbott]] (1803–1879), US
: [[John Stevens Cabot Abbott]] (1805–1877), US
: [[Abdullah bin Abdul Kadir]] (1795–1852), MAL
: [[Abe K&#333;b&#333;]] (1924–1993), JP
: [[Rebecca Abe]] (* 1967), D
11 : [[Jacob Abbott]] (1803–1879), US
: [[John Stevens Cabot Abbott]] (1805–1877), US
: [[Abdullah bin Abdul Kadir]] (1795–1852), MAL
: [[Abe K&#333;b&#333;]] (1924–1993), JP
: [[Rebecca Abe]] (* 1967), D
12 : [[John Stevens Cabot Abbott]] (1805–1877), US
: [[Abdullah bin Abdul Kadir]] (1795–1852), MAL
: [[Abe K&#333;b&#333;]] (1924–1993), JP
: [[Rebecca Abe]] (* 1967), D
13 : [[Abdullah bin Abdul Kadir]] (1795–1852), MAL
: [[Abe K&#333;b&#333;]] (1924–1993), JP
: [[Rebecca Abe]] (* 1967), D
14 : [[Abe K&#333;b&#333;]] (1924–1993), JP
: [[Rebecca Abe]] (* 1967), D
15 , JP
Mathias
  Mit Zitat antworten Zitat