Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#166

AW: Träume, Wünsche und Wahnvorstellungen...

  Alt 25. Jun 2011, 23:12
einfaches Beispiel:
Delphi-Quellcode:
RichEdit1.Lines.Clear;
RichEdit1.Lines.Add('fdfdfd');
RichEdit1.Lines.Add('fdfdfd');
RichEdit1.Lines.Add('xx1234567890xx');
//RichEdit1.SelStart := Pos('4567', RichEdit1.Lines.Text) - 1; // *1
RichEdit1.SelStart := Pos('4567', RichEdit1.Text) - 1; // *2
RichEdit1.SelLength := Length('4567');
1) hier ist klar, daß leider #13#10 (sLinebreak) rauskommt, obwohl man das leicht ändern könnte.
2) den Schrott hier hat Emba aber absichtlich verbaut und dabei vergessen auch SelStart/SelLength mit umzurechnen

Emba hatte mit der Umstellung auf Unicode auch endlich mal das Richedit-Control upgegradet und nutzt nun nicht mehr die überaltete Version. (von MSDN-Library durchsuchenRICHEDIT v2 auf v3 oder war's von 3 auf 4 )
Wie dem auch sei, komischer Weise nutzt diese Komponente intern als Zeilenumbruch die #13 (Mac ), also dachte Emba sich, es ist mal "schlau" und ersetzt "einfach" die #13 mit sLineBreak, beim Auslesen.
Tja, und nun haben wir den Salat ... pro Zeile verschiebt sich der Index.

Ja, es sind irgendwo mehrere QC-Einträge und auch mehrere DP-Beiträge dazu vorhanden, aber seitens Emba keine wirkliche Reaktion.
Es gibt auch 2-3 "einfache" Lösungen. (die StringList anpassen, aber leider ist der Zugriff darüber langsam und direkt über die WinAPI oder die Indize von SelStart/SelLength umrechnen)


Dis ist mal ein wirklicher Wunschtraum ... daß alle QC-Einträge beantwortet und die Probleme behoben sind.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (25. Jun 2011 um 23:30 Uhr)
  Mit Zitat antworten Zitat