![]() |
optimierung bei ersetzen in Richedit
hi
ich hab einen text in etwa diesem format: Zitat:
Zitat:
das wollte ich so machen:
Delphi-Quellcode:
das if...then if...then statt if ... and ... then
for i:=1 to length(Richedit1.lines.text) do
begin if Richedit1.lines.text[i]=' ' then if Richedit1.lines.text[i+1]='' then Richedit1.lines.delete(i); end; hab ich aus schnelligkeitsgründen gemacht... so müsste doch funzen, oder? jetzt mein problem: bei einem langen text brauch der ziemlich lange, um zu überlegen, was jetzt richedit1.lines.text ist... der hammer ist: der text auf den ich das anwenden will ist :pale: 400 Millionen Zeichen lang!!! kann man das anders machen? |
Re: optimierung bei ersetzen in Richedit
Delphi-Quellcode:
Versuch's mal so. Naja, bei 400.000.000 Zeichen wird's mit Integer nicht mehr gehen (IntegerMax: 32767). Musst also LongInt nehmen, dass geht bis 2 147 483 647.
var start,Zeichen:integer;
begin start :=0; Zeichen:=RichEdit1.GetTextLen; repeat richedit1.SelStart :=richedit1.FindText(' ',start,zeichen,[stMatchCase]); richedit1.SelLength :=1; richedit1.SelText :=''; inc(start); until start=zeichen end; |
Re: optimierung bei ersetzen in Richedit
Hi,
1. Was um Himmels Willen sind überflüssige Leerzeichen 2. Minimiere die Aufrufe von Lines.text 3. Schau Dir mal Stringreplace an Grüsse Woki |
Re: optimierung bei ersetzen in Richedit
überflüssige leerzeichen: ich will das zwischen jedem pakjet an zahlen/zeichen genau 1 leerzeichen ist
mit selster, sellength seltext, ... hab ichs auch probiert, habs aber nicht hingekriegt... @yankee soweit istr weiss ist in d6 auf jeden fall integer immer ein longint.... |
Re: optimierung bei ersetzen in Richedit
Moin Yankee,
Zitat:
|
Re: optimierung bei ersetzen in Richedit
wie ich schon sagte :-D :-D :-D
|
Re: optimierung bei ersetzen in Richedit
4. Integer: 32 Bit mit Vorzeichen: Empfehlung mal ein Blick in die Delphi Hilfe
ups, zu spät |
Re: optimierung bei ersetzen in Richedit
Zitat:
Was ist mit zeilenendekennungen, oder besteht dein Lines nur aus 1 'Zeile' Grüsse Woki |
Re: optimierung bei ersetzen in Richedit
ja, genau das kommt auch noch dazu, aber erst mal reicht mir das, aber hast du dafür schon ne lösung? *gier*, *haben* :-D :-D
|
Re: optimierung bei ersetzen in Richedit
Nun, wenn es um Leerzeichen am Anfang oder Ende eines Strings geht, dann wäre Trim (siehe OH) die Anwort.
Und halt die lines von der 1. bis zur letzten damit bearbeiten (for schleife) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz