- en snor i en lille liste

, en funktion, der opsplitter en snor i dele adskilt af et substring, og returnerer de dele i en dynamisk snor system, deler en snor i en lille liste,,,,, følgende funktioner og dele en snor i dele adskilt af et substring og returnerer de dele i en snor liste, som kan overføres som tredje parameter eller skabt af funktion (og i sidstnævnte tilfælde må det være befriet af opkald):,,, - interface, bruger klasser;,,, funktion splitstrings (denne tlf: string;,, i denne separator: string =,,,, bånd: tstrings = 0): tstrings;,, funktion ansisplitstrings (denne tlf: string;,, i denne separator: string = ","., strenge: tstrings = nul): tstrings;,,, gennemførelse,,, anvender sysutils;,,, funktion splitstrings (denne tlf: string; denne separator: string;,, strenge: tstrings): tstrings; //udfylder en række liste med de dele af "str" adskilt af, //"-".If Nil is passed instead of a string list,,, //the function creates a TStringList object which has to,, //be freed by the caller,, var,, n: integer;,, p, q, s: PChar;,, item: string;,, begin,, if Strings = nil then,, Result := TStringList.Create,, else,, Result := Strings;,, try,, p := PChar(str);,, s := PChar(separator);,, n := Length(separator);,, repeat,, q := StrPos(p, s);,, if q = nil then q := StrScan(p, #0);,, SetString(item, p, q - p);,, Result.Add(item);,, p := q + n;,, until q^ = #0;,, except, , , item := '';,, if Strings = nil then Result.Free;,, raise;,, eog,,,,,,, funktion ansisplitstrings (denne tlf: string; denne separator: string;,, strenge: tstrings): tstrings; //udfylder en række liste med de dele af "str" adskilt af, //"-".If Nil is passed instead of a string list,,, //the function creates a TStringList object which has to,, //be freed by the caller,, //ANSI version,, var,, n: integer;,, p, q, s: PChar;,, item: string;,, begin,, if Strings = nil then,, Result := TStringList.Create,, else,, Result := Strings;,, try,, p := PChar(str);,, s := PChar(separator);,, n := Length(separator);,, repeat,, q := AnsiStrPos(p, s);,, if q = nil then q := AnsiStrScan(p, #0);,, SetString(item, p, q - p);,, Result.Add(item);,, p := q + n;,, until q^ = #0;,, except,, item := '';,, if Strings = nil then Result.Free;,, raise;,, end;,, ,,,,,,,,,, tform1 eksempler: procedure. button1click (afsender: tobject), begynder, splitstrings (edit1.text,,, listbox1. poster),,,,,, procedure tform1. button2click (afsender: tobject), var, tstrings; dele:,, begynder, dele: = nul;,,,, - dele: = splitstrings (edit1.text, ","), showmessage (»først del er "+ dele [0] +"), endelig, dele. fri,,,,,,,,,, du kan se et eksempel med et dynamisk system i stedet for et stringlist i en særskilt artikel.



Previous:
Next Page: