T
tenebrise
нужно в один листбокс вывести текст из библиотеки Vcl, а затем в другой лист бокс вывести имя методов
с атрибутом доступа public заданного класса, но чёто там не работает
а выводится имя методов и еще несколько символов после, хотя я поставмил условие копировать до скобочки
с атрибутом доступа public заданного класса, но чёто там не работает
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
i,j:integer;
s,name:string;
begin
for i:=0 to ListBox1.count - 1 do
begin
name:=edit1.text+' = class(T';
if (pos(name,ListBox1.Items[i])>0) then
begin
j:=i;
repeat
inc(j);
until (pos('public',ListBox1.Items[j])>0) or (pos('end',ListBox1.Items[j])>0);
repeat
inc(j);
if (pos('procedure',ListBox1.Items[j])>0) then
begin
s:=(copy(trim(ListBox1.Items[j]),11,pos('(',ListBox1.Items[j])));
s:=s+' procedure';
ListBox2.Items.Add(s);
end
else
if (pos('function',ListBox1.Items[j])>0) then
begin
s:=(copy(ListBox1.Items[j],14,pos('(',ListBox1.Items[j])));
ListBox2.Items.Add(s);
end
else
if (pos('constructor',ListBox1.Items[j])>0) then
begin
s:=(copy(ListBox1.Items[j],17,pos('(',ListBox1.Items[j])));
ListBox2.Items.Add(s);
end
else
if (pos('destructor',ListBox1.Items[j])>0) then
begin
s:=(copy(ListBox1.Items[j],16,pos('(',ListBox1.Items[j])));
ListBox2.Items.Add(s);
end
else
until (pos('private',ListBox1.Items[j])>0) or
(pos('published',ListBox1.Items[j])>0) or
(pos('protected',ListBox1.Items[j])>0) or
(pos('end',ListBox1.Items[j])>0 );
end;
end;
end;