Registriert seit: 27. Nov 2017
2.490 Beiträge
Delphi 7 Professional
|
AW: Text aus einem Richedit kopieren
10. Apr 2021, 00:54
Na dann nehmen wir halt den Text, aber das wird jetzt eher unübersichtlich:
Delphi-Quellcode:
var
sText : String;
sName : String;
iPos1 : Integer;
iPos2 : Integer;
iPos3 : Integer;
iNr : Integer;
begin
iNr := 0;
// Zuerst holen uns wir den gesamten Text
// und hängen noch 'nen "Trenner" dran,
// damit wir den für den letzten Wert auch als Abschluss zu Verfügung haben.
sText := RichEdit.Lines.Text + ': [[';
// Solange da noch was drinne ist:
while Length(sText) > 0 do begin
// Position des momentan ersten "Trenners" ermitteln
iPos1 := Pos(': [[',sText);
// und den nächsten "Trenner" dahinter ermitteln.
iPos2 := PosEx(': [[',sText,iPos1 + 4);
// Die Namen ... sind zwischen iPos1 und iPos2 zu finden,
sName := Trim(Copy(sText,iPos1,iPos2 - 1));
// außer der Name enthält 'nen Zeilenumbruch,
iPos3 := Pos(#13,sName);
// dann müssen wir davor abschneiden.
if iPos3 > 0 then sName := Trim(Copy(sName,1,iPos3 - 1));
// Nächste Nummer
iNr := iNr + 1;
// und in die Ausgabeliste damit.
Dummy_StringList.Add(Format('%d %s',[iNr,sName]);
// Alles vor dem nächsten "Trenner" abschneiden
sText := Copy(sText,iPos2,Length(sText);
// und weiter geht's mit dem Nächsten.
end;
end;
Achtung: Ungetestet, nur als Ansatz für 'ne Idee gedacht.
|
|
Zitat
|