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: 1559
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;
|
|
|