Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2009, 20:36   #1
lordsyrius
Пользователь
 
Регистрация: 05.04.2009
Сообщений: 24
Вопрос Найти все статические методы...

Люди добрые, помогите, пожалуйста, с написанием программы.
У меня есть два листбокса: в первый я загружаю .pas-файл, после этого я должен нажать на кнопку, действие которой заключается в нахождении из первого листбокса всех статических методов и помещении их во второй листбокс, состоящий из записей следующей структуры: имя метода – атрибут доступа – класс.

Так вот проблема заключается в написании кода к кнопке.
lordsyrius вне форума Ответить с цитированием
Старый 05.04.2009, 21:09   #2
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

парсинг строк пробовал?? что ты имеешь в виду под "всех статических методов" это какието выражения.. или что это??
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Старый 05.04.2009, 21:20   #3
lordsyrius
Пользователь
 
Регистрация: 05.04.2009
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Ntlegend Посмотреть сообщение
парсинг строк пробовал?? что ты имеешь в виду под "всех статических методов" это какието выражения.. или что это??
Ну, pas-файле в описании класса есть описание методов (procedure, function). Так вот мне надо имена этих методов вывести во второй листбокс.
P.S. методы статические
P.P.S. я так подразумеваю, что парсингом это все и делается, вот только умений пока не хватает, чтобы воплотить это в жизнь...

Последний раз редактировалось lordsyrius; 05.04.2009 в 21:36.
lordsyrius вне форума Ответить с цитированием
Старый 05.04.2009, 22:01   #4
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

в листбоксе все представленно в виде строк.. а значит то все можна рассматривать как сплошной текст..
ищем начало описания класа i:=Pos('type', ListBox1.Items.Text)
определяем окончание описания j:=Pos('end'{или 'var'}, ListBox1.Items.Text)
и дальше пользуясь функцыей PosEx находим все procedure и function.. после чего копируем нужную строку функцыей Copy('строка'б начальная_позицыя_копирования, длинна_копирования)

а опыта по парсингу можна набраться тут
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Старый 05.04.2009, 23:52   #5
lordsyrius
Пользователь
 
Регистрация: 05.04.2009
Сообщений: 24
По умолчанию

Ntlegend, спасибо, буду пробовать...
lordsyrius вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Статические обекты в .h файле Pashan Общие вопросы C/C++ 10 19.03.2009 12:44
Найти все целые корни уравнения KREGI Помощь студентам 8 10.03.2009 18:23
Все методы хеширования в одной проге Arrenius Помощь студентам 1 25.02.2009 12:27
Как в memo найти все e-mail'ы Черничный Общие вопросы Delphi 16 16.10.2008 09:13