Advertisement
Guest User

Untitled

a guest
Aug 18th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.83 KB | None | 0 0
  1. procedure Search();
  2. var
  3. i:integer;
  4. nov: TPZapis;
  5. begin
  6.  component := 0;
  7.  twobyte := 1;
  8.  vess := Stream1.Size;
  9.   for tek := 0 to vess do // начинает считывать файл до конца
  10.     begin
  11.      result:='';
  12.      for i := 0 to 3 do
  13.        begin
  14.            Stream1.Read(poisk, twobyte);
  15.            if (poisk = ' ') or (poisk = #$A) or (poisk = #$D) then break
  16.            else result := result + poisk; // запоминаем 4 символа
  17.        end;
  18.      if result ='type' then begin     // если находим "type'
  19.        result :='';
  20.        Stream1.Seek(treeright,SoFromCurrent);
  21.        nado := 0;
  22.          while poisk<>#$D do
  23.            begin
  24.               Stream1.Read(poisk, twobyte);
  25.               result := result + poisk;
  26.               inc(nado);
  27.            end;
  28.          if (AnsiPos(' =', result))<> 0 then begin  // если находим равно
  29.              if ((AnsiPos('= ^', result))= 0) or ((AnsiPos('=^', result))= 0)
  30.                then begin
  31.                   nado:=nado-1;
  32.                   Stream1.Seek(-nado,SoFromCurrent);
  33.                   result := '';
  34.                  while poisk <> '=' do begin
  35.                      Stream1.Read(poisk, twobyte);
  36.                      if (poisk = ' ') or (poisk = #$A) or (poisk = #$D) then break
  37.                      else result := result + poisk; // запоминаем 4 символа
  38.                  end;
  39.           new(nov);
  40.           nov^.Name := result;
  41.           while poisk <> #$D do
  42.           Stream1.Seek(right,SoFromCurrent);
  43.          Stream1.Seek(right,SoFromCurrent);
  44.           while poisk <> #$D do begin
  45.             Stream1.Read(poisk, twobyte);
  46.             result := result + poisk;
  47.           end;
  48.         if (AnsiPos(':', result))<> 0 then inc(component);
  49.    if (AnsiPos('end;', result))<> 0 then inc(tek);
  50.      end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement