Форум: "Основная";
Поиск по всему сайту: 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.72 MB
Время: 0.02 c
3-2475            Stif                  2002-04-11 10:44  2002.05.02  
Быстрый подсчёт суммы чисел столбца. Есть 2 кода, медл. и быстрый


1-2618            anod                  2002-04-20 11:02  2002.05.02  
Свойство Style TFont


1-2567            bigcrush              2002-04-19 12:08  2002.05.02  
Свойство State в методе-обработчике OnDragOver


3-2484            Hermit                2002-04-10 10:14  2002.05.02  
Системные настройки BDE (все еще актуально)


7-2689            Borisb69              2002-02-06 11:22  2002.05.02  
Как расшарить диск