![]() |
3 Funktionen optimieren
---
|
Re: 3 Funktionen optimieren
Erstmal würde ich ordentliche und aussagekräftige Funktionsnamen vergeben! Oder woher sollen wir zB wissen, wofür "st", "gb" und "ex" stehen? Das müssten wir uns jetzt aus dem Code da erraten. :gruebel:
|
Re: 3 Funktionen optimieren
es würde viel Zeit sparen, wenn du nicht ständig (bei jedem einzelnem Zeichen) Stringoperationen duchführen würdest.
Positionen suchen und dann per Copy, Insert und Delete ganze Teilstrings verarbeiten. |
Re: 3 Funktionen optimieren
Nur mal die erste Funktion:
Delphi-Quellcode:
function CutTags(const s: string): string; // ehemals st()
var lSource, lDest: PChar; lStart: Pointer; lResult: string; lOpenTag: boolean; begin lSource := PChar(s); SetLength(lResult, length(s)); lDest := PChar(lResult); lStart := lDest; if assigned(lSource) then // leerer String begin lOpenTag := false; // while lChar^ <> #0 do nur AnsiString while ord(lSource^) <> 0 do begin if ( lSource^ = '<' ) and not lOpenTag then lOpenTag := true else if ( lSource^ = '>' ) and lOpenTag then begin lOpenTag := false lDest^ := ' '; Inc(lDest); end else if not lOpenTag then begin lDest := lSource Inc(lDest); end; Inc(lSource); end; end; SetString(result, lStart, lDest - lStart); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 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