Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#12

AW: Erhalte vom Programm "Keine Rückmeldung" - Speicherüberlauf?

  Alt 10. Nov 2015, 20:14
Nein, StringReplace funktioniert umgekehrt, wie ein Blick in die Online-Hilfe zeigt:
function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string; StringReplace ersetzt im String S die Vorkommen des in OldPattern angegebenen Teilstrings durch den in NewPattern angegebenen Teilstring.

Was bedeutet "aufbrummen" in deinem Kontext? Bei mir hat da außer mir selbst nichts gebrummt.

Zu deiner Programm-Änderung: zwPos = 0, wenn der Suchstring nicht gefunden wurde. Dann sind aber noch nicht zwangsläufig alle Wörter aus dem ersten Memo ins zweite übertragen, weil das ja innerhalb des neuen Begin-End-Blocks geschieht und dieser bei zwPos = 0 nicht mehr durchlaufen wird. Daher solltest du das nach Abarbeiten der While-Schleife noch überprüfen. Zum Fehlverhalten kam es, wenn ein Wort länger als die eingestellte Zeilenbreite ist, da kannst du verständlicherweise kein Leerzeichen finden. Es muß sich dabei nicht zwangsläufig um ein derart langes Wort handeln, denn auch falsche Zeichensetzung, z.B. das fehlende Leerzeichen nach Punkt oder Komme machen daraus programmtechnisch ein Wort.

Geändert von Perlsau (10. Nov 2015 um 20:21 Uhr)
  Mit Zitat antworten Zitat