![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск, подсчёт, вывод на экр переменных в перловском файле ($var) [D5]
Yuraz © (2002-04-18 11:08:00)Сделал такой алгоритм, не проходит, может кто подскажет как реализовать?
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;
Перловка (2002-04-18 19:40:00) [1]Так перлом и воспользуйся, это сделать там гораздо проще.
Yuraz (2002-04-18 11:16:00) [2]while (K <= 10) And ((S1[K] In ValidSet)) Do
10 это я взял просто перечислить 10 след. букв, по идее бы взять оставшиеся символы в файле, вдруг назв. перловской переменной больше 10 символов.