|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.03.2009, 19:28 | #1 |
Регистрация: 05.01.2009
Сообщений: 3
|
обьявление классов
помогите доделать
вот задание и ниже точто у меня получилось Задан текстовый файл, содержащий фрагмент программы на Object Pascal. Найти объявления классов, имеющих конструкторы, и сформировать файл, состоящий из записей следующей структуры: имя класса – число конструкторов. Файл должен быть отсортирован по именам классов. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Panel1: TPanel; Panel2: TPanel; Button1: TButton; Button2: TButton; Button3: TButton; ListBox1: TListBox; Splitter1: TSplitter; ListBox2: TListBox; OpenDialog1: TOpenDialog; SaveDialog1: TSaveDialog; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin if opendialog1.execute then listbox1.Items.LoadFromFile(OpenDia log1.FileName); end; procedure TForm1.Button2Click(Sender: TObject); var i:integer; begin i:=0; while listbox1.items[i]<>'implementation' do begin if (pos('= class',listbox1.Items[i])>0) and (pos(';',listbox1.Items[i])=0) then listbox2.items.Add(copy(Listbox1.It ems[i], 1, pos('=',listbox1.Items[i])-1)); i:=i+1; end; end; procedure TForm1.Button3Click(Sender: TObject); begin if Savedialog1.Execute then listbox2.Items.SaveToFile(savedialo g1.filename); end; end. |
21.03.2009, 20:10 | #2 |
Пользователь
Регистрация: 15.01.2009
Сообщений: 69
|
Не совсем понятно, к чему был приведен код, но будем считать, что это какая-то наработка решения.
Код:
Во-первых, у меня неприятное чувство, что для анализа придется весь файл кода затолкать в одну строку (т.е. убрать LF и CR) и анализировать все одним потоком. Во-вторых, описание класса начинается словом «class» и заканчивается словом «end;». Имя класса — первое слово до «class». Попытаюсь сходу привести код, поясняющий "глубоко филосовские" мысли: Код:
Silence is of great value...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Массив классов | nns2009 | Общие вопросы C/C++ | 15 | 03.02.2009 00:47 |
Регистрация классов. | Nytlec | Помощь студентам | 1 | 18.01.2009 14:05 |
агрегирование классов | M_Yuri | Общие вопросы Delphi | 3 | 12.02.2008 18:31 |
использование множества классов | studenth | Общие вопросы C/C++ | 5 | 08.11.2007 14:57 |