Парсер строки. Разбиение на 2 и более частей.
- unit parser;
- interface
- procedure loadString(str:string); //загружаем в модуль строку
- procedure parse; //разбиваем её
- function getArray:array of string; //получаем разбитую строку в виде массива
- function getDIMI:byte; //узнаём размер массива
- procedure destroy; //уничтожаем некоторые переменные
- implementation
- var text:string;
- var item:array of string;
- procedure loadString(str:string);begin
- text:=str+'|';
- end;
- function getArray:array of string;begin
- getArray:=item;
- end;
- function getDIMI:byte;begin
- getDIMI:=length(item)-1;
- end;
- procedure destroy;begin
- item:=nil;
- text:=nil;
- end;
- procedure parse;begin
- var res:string:='';
- var DIMI:byte:=0;
- for var i:byte:=1 to length(text) do begin
- if(text[i]='|')then begin
- setLength(item,DIMI+1);
- item[DIMI]:=res;
- res:='';
- DIMI+=1;
- end else begin
- res+=text[i];
- end;
- end;
- end;
- end.
Коментарии даны по тексту программы.