Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.05.02;
Скачать: [xml.tar.bz2];




Вниз

Поиск, подсчёт, вывод на экр переменных в перловском файле ($var) 


Yuraz   (2002-04-18 11:08) [0]

Сделал такой алгоритм, не проходит, может кто подскажет как реализовать?

procedure TForm1.SpeedButton3Click(Sender: TObject);
Const ValidSet = ["a".."z", "A".."Z","_","0".."9"];
Var S,s1, rez: String;
K, len, zn: Integer;
begin
S := Memo1.Text; // здесь искодный, загруженный перл скрипт
len := Length(S);
K := 1;
zn:=0;
While K <= len Do
Begin
s1:=copy(s,k,1); // копируем по символу
inc(k);
if s1="$" then //нашли переменную
begin
rez:=""; // сюда бы записать её название
while (K <= 10) And ((S1[K] In ValidSet)) Do
begin
rez:=rez+S1[K]; // записываем по символу
Memo3.Lines.Add(rez); // выводим весь список
inc(K);
zn:=zn+1; // а это подсчёт всего сколько переменных
end;
end;
End;
showmessage(inttostr(zn)); // напоследок сказать сколько же их встречается (в том числе повторяющихся)
end;



Yuraz   (2002-04-18 11:16) [1]

while (K <= 10) And ((S1[K] In ValidSet)) Do

10 это я взял просто перечислить 10 след. букв, по идее бы взять оставшиеся символы в файле, вдруг назв. перловской переменной больше 10 символов.



Перловка   (2002-04-18 19:40) [2]

Так перлом и воспользуйся, это сделать там гораздо проще.




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.05.02;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.74 MB
Время: 0.017 c
1-2516            anacronix             2002-04-20 18:23  2002.05.02  
Ввод текста в Edit1 в любом регистре


1-2602            dull                  2002-04-19 17:22  2002.05.02  
группа програмистов (2 чел.) ищет работу на Delphi


4-2716            alexey1               2002-02-27 20:44  2002.05.02  
рисование на элементах управления


1-2541            Yuraz                 2002-04-18 11:08  2002.05.02  
Поиск, подсчёт, вывод на экр переменных в перловском файле ($var)


1-2604            DikobraZ              2002-04-19 19:30  2002.05.02  
Отслеживание другой программы.