Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#5

AW: Text aus einem Richedit kopieren

  Alt 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.
  Mit Zitat antworten Zitat