Member
Статус: Не в сети Регистрация: 04.01.2004 Откуда: 31
Регулярные выражения в билдере. Сразу оговорюсь, что с регэкспами до этого не сталкивался, поэтому могу ошибаться в некоторых вещах. В общем ситуация следующая... после неудачных попыток прикрутить библиотеки greta и boost к моему билдеру из BDS 2006 был найден следущий способ. Оказывается в билдере есть ф-ции для работы с регами, описаны они в <pcreposix.h>. Побороть я его не сумел, но нашел некую надстройку (http://www.lepsik.com/src/vmreg.rar), которая существенно это дело упростила (подробнее здесь http://www.sql.ru/forum/actualthread.as ... hl=foreign). Даже слишком упростила. Вобщем регэкспы работают, но не совсем. Допустим после поиска подстроки, заданной регулярным выражением, я могу получить саму подстроку, кусок строки до искомой подстроки (head) и после (tail). Но, мне нужно получить не подстроку поиска, а так называемые группы. Т.е. есть регэксп
мне нужно получить только, то что в скобках (насколько я знаю в некоторых языках можно получить в виде массива). В общем, если кто-то делал что-то подобное, просьба поделиться опытом. Добавлено спустя 3 часа, 18 минут, 34 секунды Ну может кто boost.regex прикручивал? У меня make проходит без ошибок, а при попытке подключить к своему проекту получаю как здесь: http://support.borland.com/thread.jspa?messageID=12764 Добавлено спустя 3 часа, 14 секунд Любопытный комментарий к pcreposix.h:
Цитата:
This is the header for the POSIX wrapper interface to the PCRE Perl- Compatible Regular Expression library. It defines the things POSIX says should be there. I hope.
Попробовал функции из pcre.h. Нашел тестовый пример, он как-то работает. Если добавить в паттерн цифры, то он (паттерн) не компилица . p.s. похоже я тут один такой фигней занимаюсь
Member
Статус: Не в сети Регистрация: 18.08.2005 Откуда: Новороссийск
Помогите решить проблему. У меня есть цикл (условно бесконечный) и мне надо сделать задержку (нужен аналог Deley() в Паскале). Я пробую функцию SetTimer(NULL, 500, 1, 0), но никакой реакции нет (может параметры неправильно указываю) и причём Builder ругается на функцию KillTimer(1). Я воткнул функцию Sleep(500), но она не подходит для моего случая, дело в том, что эта функция останавливает программу заданное значени, а мне нужна просто паузу.
Member
Статус: Не в сети Регистрация: 18.08.2005 Откуда: Новороссийск
Daemon Ты думаешь я тебя понял, задавая такой вопрос? Буду признателен если ты поможешь, пояснишь это, можно в ЛС. Просто с поточным программированием не знаком, читал только одну статью и не одной книги связанной с поточным программироварием.
Member
Статус: Не в сети Регистрация: 18.08.2005 Откуда: Новороссийск
Как записать информацию в CppWebBrowser из файла и просто из программы, например текст какой-нибудь? Добавлено спустя 38 минут, 11 секунд ?Am(d)ber? cpuid вроде как для Visual Studio, тут он не катит.
Member
Статус: Не в сети Регистрация: 12.07.2005 Откуда: Млечный путь
Нет, он не только для Visual Studio. Если что-то не знает cpuid его можно заменить кодом машинной инструкции. Проблема решилась установкой 6 версии builder'a.
_________________ В этом мире меня подводят доброта и порядочность...
она выводит на экран форму с заголовком и полосами прокрутки, в винде форма неподвижна, как сделать чтобы она реагировала на мышь перемещалась по рабочему столу и могла сворачиваца, расширяца и закрываца (и куда конкрепно в программе вставлять эти вункции)? Заранее спасибо!
Member
Статус: Не в сети Регистрация: 18.08.2005 Откуда: Новороссийск
В общем в Builder`е C++ я рисую на Image-боксе разную хрень в таймере, но по непонятной мне причине, в каждой итерации таймера обновляется форма и мне приходится наблюдать неприятные помигивания на всей форме, могу скинуть на мыло программку, чтоб было понятнее в чём проблема (только скажите кому скидывать). Ни кто с такой проблемой не сталкивался? Кстати если рисовать тоже самое на форме, то ничего подобного не наблюдается (проста как мне сказали, рисовать прямо на форме ни хорошо). Такой же глюк я заметил, когда делал змейку и пытался сделать анимированную жертву, но опять таки у меня постоянно обновлялась форма, что очень сильно напрягало, такой эффект наблюдается как в C++ так и в Delphi, поскольку используется одна и таже библиотека объектов VCL! Я впринципе понимаю, почему происходит такой эффект, видимо форма воспринимает зарисовку Image-бокса, какбуд-то её (форму) что-то пересекает.
Такой же глюк я заметил, когда делал змейку и пытался сделать анимированную жертву, но опять таки у меня постоянно обновлялась форма, что очень сильно напрягало, такой эффект наблюдается как в C++ так и в Delphi, поскольку используется одна и таже библиотека объектов VCL!
Ввиду того, что данный момент является ключевым ( якобы "кривой" VCL ), в вопросе наездов на продукцию Borland остановимся на нем детально. Такой "глюк" , уважаемый -=alex-forewer=- наблюдается часто у начинающих программистов и связан он с кривыми руками. При правильном рисовании мерцания нет, а вот при интенсивном изменении координат объекта, к примеру, передвижении того же TShape, TPanel или им подобных (содержащих на себе или в себе рисунок) как раз и происходит мерцание, связанное с постоянными получениями формой сообщений о том, что объект переместился и нужна перерисовка. Однако в виду того, что VCL писали люди неглупые, то для СУПЕР программистов они заложили возможность реализации всяких решений. В вашем конкретном случае нужно установить свойство формы DoubleBuffered в True. К примеру, вот так:
И огромная просьба , дабы не выглядеть забавным, не постите явные глупости с умным видом, особенно если знакомы с вопросом понаслышке. Не получается что-то, так и пиши, что не получается, а то сразу "кривой" VCL , даже и несолидно как-то…
-=alex-forewer=- писал(а):
Помогите решить проблему. У меня есть цикл (условно бесконечный) и мне надо сделать задержку (нужен аналог Deley() в Паскале).
Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Киев, Украина
_SGK только почему-то двойная буферезация отключена, а в том же .нет она включена по умолчанию Касательно продуктов борланд, тебе в ветку о мелкомягких, вот там вот наезды
ВСЕ серьёзные вещи ВСЕГДА писали на Асме и Си. Поделки Бормана подходят лишь ламерам и студентам. Поэтому ПРОСЬБА - ссылочку на ОФИЦАЛЬНЫЙ документ, где Борманские выкидыши ПРИЗНАВАЛИСЬ бы "стандартом".
_SGK только почему-то двойная буферезация отключена, а в том же .нет она включена по умолчанию
Отож для таких от спецов и включили...
Daemon писал(а):
Касательно продуктов борланд, тебе в ветку о мелкомягких, вот там вот наезды
Не , мне общения с идиотами и в повседневной жизни хватает , а чтобы я еще в Инете на них время тратил – да не в жизнь. Тем более что мне, вроде, как и пофиг , Microsoft Visual C# 2005 - саме воно.
Catar
Catar писал(а):
ага
Ага-то оно ага, шо тоже, прикольно почитать мимо ляпающий языком народ с их обсуждениями о том, кто, на чем лучше не умеет писать… Добавлено спустя 1 час, 19 минут, 25 секунд Daemon & Catar О! Кстати -> Rasdolbay писал(а): бла-бла-бла... Ну и шо тут еще можно добавить? Кроме того, ессно, что раздолбай - он и в Африке раздолбай.
Member
Статус: Не в сети Регистрация: 20.09.2005 Откуда: Москва
Народ подскажите как в оконном интерфейсе вывести допустим 5 строку из текстового файла?(про оконный интерфейс спрашивал выше 06.12.2006) Заранее спасибо!
Member
Статус: Не в сети Регистрация: 23.12.2004 Откуда: Киев
Шмендальф Что ты там спрашивал по "оконному интерфейсу" совершенно не понятно.
А вот по поводу номера строки из текстового файла:
//n - number of string
TStringList *LinesList;
LinesList = new TStringList;
LinesList->LoadFromFile(FileName);
if (LinesList->Count >= n)
Label1->Caption = LinesList->Strings[n-1];
delete LinesList;
Member
Статус: Не в сети Регистрация: 23.12.2004 Откуда: Киев
Столкнулся с такой трудностью.
Необходимо отображать страницу (работает на TCppWebBrowser) и анализировать ее содержимое. Анализ можно делать на сохраненном файле, но данный класс такое не поддерживает. Поддерживается только вывод менюшки сохранения, что неприемлимо. Можно было бы попробовать сохранять отдельно через TNMHTTP, но он требует более тонкой настройки (у меня не получилось), да и сам способ тупиковый, поскольку во-первых наново качает тоже самое, во-вторых содержимое страницы на экране может уже устареть.
Как быть?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения