Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi 3 Funktionen optimieren (https://www.delphipraxis.net/128848-3-funktionen-optimieren.html)

jannik8 7. Feb 2009 14:51


3 Funktionen optimieren
 
---

nuclearping 7. Feb 2009 14:53

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:

himitsu 7. Feb 2009 14:59

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.

Muetze1 7. Feb 2009 15:10

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:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz