Парсер строки. Разбиение на 2 и более частей.

  1. unit parser;
  2.  
  3. interface
  4.  
  5.     procedure loadString(str:string);  //загружаем в модуль строку
  6.     procedure parse;                       //разбиваем её
  7.     function getArray:array of string; //получаем разбитую строку в виде массива
  8.     function getDIMI:byte;               //узнаём размер массива
  9.     procedure destroy;                    //уничтожаем некоторые переменные
  10.  
  11. implementation
  12.  
  13.     var text:string;
  14.     var item:array of string;
  15.  
  16.     procedure loadString(str:string);begin
  17.  
  18.         text:=str+'|';
  19.     end;
  20.  
  21.     function getArray:array of string;begin
  22.  
  23.         getArray:=item;
  24.     end;
  25.  
  26.     function getDIMI:byte;begin
  27.  
  28.         getDIMI:=length(item)-1;
  29.     end;
  30.  
  31.     procedure destroy;begin
  32.  
  33.         item:=nil;
  34.         text:=nil;
  35.     end;
  36.  
  37.     procedure parse;begin
  38.  
  39.         var res:string:='';
  40.         var DIMI:byte:=0;
  41.         for var i:byte:=1 to length(text) do begin
  42.  
  43.             if(text[i]='|')then begin
  44.  
  45.                 setLength(item,DIMI+1);
  46.                 item[DIMI]:=res;
  47.                 res:='';
  48.                 DIMI+=1;
  49.             end else begin
  50.  
  51.                 res+=text[i];
  52.             end;
  53.         end;
  54.     end;
  55. end.
Коментарии даны по тексту программы.

Реклама

Мы в соцсетях

tw tg yt gt