спасибо все откликнувшимся на вопрос №372. По поводу вопрос под цифрой 3. регэкспы - Регулярные выражения. Я знаю что компанеы для работы с ними есть в Делфи(компаненты написаны на Object Pascal'e если не ошибаюсь), а в паскале(интересует BP и TP) есть чтонибудь подобное?
Доброе время суток, pav! Нет, конечно, нет. BP и TP написаны для обучения, и лишь пригодны для профессиональной работы. Это несложно написать ручками в процедуре сравнения. Я так и делал и не задумывался даже, что это может быть стандартом Нечто подобное используется только в FindFirst для создания маски для поиска файлов. Но и там - это просто ДОС-овские правила оформления строки поиска и Паскаль непричем Ответ отправлен: 18.12.2003, 17:05 Отправитель: Boriss Отвечает sir henry
Добрый день, pav! Вот теперь все стало понятно :). Действительно, есть такой модуль (regexp), переписаный с Си на Паскаль, для обработки регулярных выражений. Но он довольно старый и неудивительно, что про него никто не помнит :). Скачать можно отсюда: http://pascal.sources.ru/string/regexp.zip Вот Вам еще ссылка, правда описание на английском языке: http://pascal.sources.ru/parsing/rpl60.htm Впрочем, вот ссылка на страничку, посвященная подобным штукенциям. Посмотрите и выбирете сами, что Вам нужно: http://pascal.sources.ru/parsing/index1.htm http://pascal.sources.ru/parsing/index2.htm Ответ отправлен: 19.12.2003, 04:13 Отправитель: sir henry Отвечает Drahus
Добрый день, pav! Я же говорил на pascal.sources.ru должно быть. Отправил по почте.
Ответ отправлен: 19.12.2003, 16:39 Отправитель: Drahus
Вопрос № 376
Здравствуйте, эксперты! Кто нибудь в курсе как, в Borland Pascal 7, проверить объект на существование, перед тем, как вызвать Destructor?
Приветствую Вас, Vitally! Destructor это метод, чие предназначение для коректного освобождение динамической памяти соответствющая переменная объекта, так что если Вы инициализировали переменная объекта то проверяйте ее на nil, перед тем как приложите к ее метод деструкции. Ответ отправлен: 19.12.2003, 15:29 Отправитель: Tancho Отвечает sir henry
Добрый день, Vitally! Можно проверить, не равен ли он NIL, либо, что тоже самое, функцией Assigned(Pointer). Ответ отправлен: 19.12.2003, 04:29 Отправитель: sir henry Отвечает vitya
Добрый день, Vitally! Создавайте объект в куче, предварительно присвоив указателю nil. И при деструкции присваивайте указателю nil. Тогда если указатель не нулевой его можно удалять.
Ответ отправлен: 19.12.2003, 08:39 Отправитель: vitya Отвечает Boriss
Добрый день, Vitally! Ну ессно, кто-нибудь да знает, а все остальные пользуются таким приемом: PointerToObject := New(PPointerToObject, Init); if PointerToObject <> NIL then with PointerToObject^ do begin Run; Dispose(Done) end else WriteLn('Недостаточно памяти для работы программы'); Ответ отправлен: 19.12.2003, 09:09 Отправитель: Boriss
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.