- Delphiartiklar, tips, forum, länksamling - 

      

START | DELPHI | LÄNKARGÄSTBOK 




 Forum

Grundkurs
  »Introduktion
  »Snabbguide
  »Komponenter
  »Händelser
  »Strängar
  »Räkna med Delphi   »Egna typer
  »Selektion
  »Iteration
  »Menyer
  »Funktioner
  »Arraystrukturer

Tips & Tricks
  »Nya tips
  »Blandat
  »Databaser
  »Filer
  »Forms
  »Grafik
  »Internet
  »Komponenter
  »Matematik
  »Multimedia
  »Objekt/ActiveX
  »Skrivare
  »Strängar
  »System
  »Mest lästa tips

Artiklar
  »Delphi och ADO
  »Bygga en DLL
  »Skapa en enkel rapport
  »Hantera registret
  »Enheter, units
  »Klassen TCanvas
  »Använd LookUp Controls

 Nya tips
 Lägg till tips
 Delphilänkar
 Gästbok

 

Splitfunktion Kategori: Strangar
Inlagt: 2005-01-07
Läst: 1469
Inlagt av: Staffan Berg
Beskrivning
Mycket snabb splitfunktion som returnerar del av sträng baserad på definierad avgränsare.  
Kod
function split(input: string ; schar: Char; s: Integer): string ; 
var 
 c: array of Integer; 
 b, t: Integer; 
begin 
 Dec(s, 2); // for compatibility with very old & slow split function 
 t := 0;   // variable T needs to be initialized... 
 setlength(c, Length(input)); 
 for b := 0 to pred(High(c)) do  
 begin 
  c[b + 1] := posex(schar, input, succ(c[b])); 
  // BREAK LOOP if posex looped (position before previous) 
  // or wanted position reached.. 
  if (c[b + 1] < c[b]) or (s < t) then break  
  else  
   Inc(t); 
 end; 
 Result := Copy(input, succ(c[s]), pred(c[s + 1] - c[s])); 
end; 

 
 
© Copyright 2005 - Staffan Berg
- Alla rättigheter förbehålles -