Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 421 • Страница 9 из 22<  1 ... 6  7  8  9  10  11  12 ... 22  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 27.02.2005
Anoss
убил полчаса яндекса на это - а результата ноль.
Спасибо!!!



Партнер
 

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). Но, мне нужно получить не подстроку поиска, а так называемые группы. Т.е. есть регэксп
Код:
[\\d.]{6,},([\\d.]{6,}),[NS],([\\d.]{6,}),[EW],[\\d.]{1,},[\\d.]{1,},[\\d.]{1,},([\\d.]{1,})

мне нужно получить только, то что в скобках (насколько я знаю в некоторых языках можно получить в виде массива). В общем, если кто-то делал что-то подобное, просьба поделиться опытом.
Добавлено спустя 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
Статус: Не в сети
Регистрация: 04.01.2004
Откуда: 31
В общем, если кому интересно, на форуме www.sql.ru есть пример, который решает проблему.


 

Member
Статус: Не в сети
Регистрация: 18.08.2005
Откуда: Новороссийск
Помогите решить проблему. У меня есть цикл (условно бесконечный) и мне надо сделать задержку (нужен аналог Deley() в Паскале). Я пробую функцию SetTimer(NULL, 500, 1, 0), но никакой реакции нет (может параметры неправильно указываю) и причём Builder ругается на функцию KillTimer(1). Я воткнул функцию Sleep(500), но она не подходит для моего случая, дело в том, что эта функция останавливает программу заданное значени, а мне нужна просто паузу.


 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
Вынеси нужный тебе алгоритм со слипом в отдельный поток.

_________________
Ку ку


 

Member
Статус: Не в сети
Регистрация: 18.08.2005
Откуда: Новороссийск
Daemon Ты думаешь я тебя понял, задавая такой вопрос? Буду признателен если ты поможешь, пояснишь это, можно в ЛС. Просто с поточным программированием не знаком, читал только одну статью и не одной книги связанной с поточным программироварием.


 

Member
Статус: Не в сети
Регистрация: 12.07.2005
Откуда: Млечный путь
Tod Schwarzkaiser писал(а):
?Am(d)ber? Цитата: В Билдере есть встроеные функции для работы с процессором(всмысле определение модели cpu) или нужны собственные функции?

Нужно знать "фишку" cpuid... Получаешь значение нужного (нужных) регистра(ов) Код:

Cardinal teax,tebx,tecx,tedx,level;
// te?x = cpuid reg. values
// level = cpuid level
asm
{pushad
mov eax,levelcpuid
mov teax,eax
mov tebx,ebx
mov tecx,ecx
mov tedx,edx
popad }

и бегом на sandpile.org за расшифровкой Smile


бл, при попытке откомпилировать код с этим фрагментом получается вот это:

#77

_________________
В этом мире меня подводят доброта и порядочность...


 

Member
Статус: Не в сети
Регистрация: 18.08.2005
Откуда: Новороссийск
Как записать информацию в CppWebBrowser из файла и просто из программы, например текст какой-нибудь?
Добавлено спустя 38 минут, 11 секунд
?Am(d)ber? cpuid вроде как для Visual Studio, тут он не катит.


 

Member
Статус: Не в сети
Регистрация: 12.07.2005
Откуда: Млечный путь
Нет, он не только для Visual Studio. Если что-то не знает cpuid его можно заменить кодом машинной инструкции. Проблема решилась установкой 6 версии builder'a.

_________________
В этом мире меня подводят доброта и порядочность...


 

Member
Статус: Не в сети
Регистрация: 20.09.2005
Откуда: Москва
Подскажите плиз вот набил прогу:

#include<windows.h>
#include<winuser.h>
#include<conio.h>
#include<string.h>
LRESULT CALLBACK WindowsFunc(HWND,UINT,WPARAM,LPARAM);
char WinName[]="MainFrame";
int WINAPI WinMain(HINSTANCE This,
HINSTANCE Prev,
LPSTR cmd,
int mode)
{
HWND hwnd;
MSG msg;
WNDCLASS wc;
wc.hInstance=This;
wc.lpszClassName=WinName;
wc.lpfnWndProc=WindowsFunc;
wc.style=0;
wc.hIcon=LoadCursor(NULL,IDI_APPLICATION);
wc.hCursor=LoadCursor(NULL,IDC_ARROW);
wc.lpszMenuName=NULL;
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
if(!RegisterClass(&wc)) return 0;
hwnd=CreateWindow(WinName,
"The base of Windows-application",
WS_OVERLAPPEDWINDOW |WS_VSCROLL|WS_HSCROLL|WS_MINIMIZEBOX,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
HWND_DESKTOP,
NULL,
This,
NULL);
ShowWindow(hwnd,mode);
while(GetMessage(&msg,NULL,0,0));
{TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
LRESULT CALLBACK WindowsFunc(HWND hwnd, UINT message,
WPARAM wParam, LPARAM lParam)
{ switch(message)
{case WM_DESTROY:PostQuitMessage(0);

break;

default:return DefWindowProc(hwnd,message,wParam,lParam);

}getch();
return 0;
}

она выводит на экран форму с заголовком и полосами прокрутки, в винде форма неподвижна, как сделать чтобы она реагировала на мышь перемещалась по рабочему столу и могла сворачиваца, расширяца и закрываца (и куда конкрепно в программе вставлять эти вункции)? Заранее спасибо!


 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
Шмендальф писал(а):
она выводит на экран форму с заголовком и полосами прокрутки, в винде форма неподвижна, как сделать чтобы она реагировала на мышь

Твоя прога просто висит. Обрати внимание на этот участок кода:
Код:
while(GetMessage(&msg,NULL,0,0));
{TranslateMessage(&msg);
DispatchMessage(&msg);
}

Точка с запятой после while совершенно лишняя ;) . Кроме того: к чему в обработчике стоит getch(); ? :)


 

Member
Статус: Не в сети
Регистрация: 20.09.2005
Откуда: Москва
Во я дал маху с ";" СПАСИБО mein, а getch() это я не стер от старой проги, тож никчему она.


 

Member
Статус: Не в сети
Регистрация: 18.08.2005
Откуда: Новороссийск
В общем в Builder`е C++ я рисую на Image-боксе разную хрень в таймере, но по непонятной мне причине, в каждой итерации таймера обновляется форма и мне приходится наблюдать неприятные помигивания на всей форме, могу скинуть на мыло программку, чтоб было понятнее в чём проблема (только скажите кому скидывать). Ни кто с такой проблемой не сталкивался? Кстати если рисовать тоже самое на форме, то ничего подобного не наблюдается (проста как мне сказали, рисовать прямо на форме ни хорошо). Такой же глюк я заметил, когда делал змейку и пытался сделать анимированную жертву, но опять таки у меня постоянно обновлялась форма, что очень сильно напрягало, такой эффект наблюдается как в C++ так и в Delphi, поскольку используется одна и таже библиотека объектов VCL! Я впринципе понимаю, почему происходит такой эффект, видимо форма воспринимает зарисовку Image-бокса, какбуд-то её (форму) что-то пересекает.


 

Member
Статус: Не в сети
Регистрация: 05.01.2005
-=alex-forewer=-
-=alex-forewer=- писал(а):
Такой же глюк я заметил, когда делал змейку и пытался сделать анимированную жертву, но опять таки у меня постоянно обновлялась форма, что очень сильно напрягало, такой эффект наблюдается как в C++ так и в Delphi, поскольку используется одна и таже библиотека объектов VCL!

Ввиду того, что данный момент является ключевым ( якобы "кривой" VCL :D ), в вопросе наездов на продукцию Borland остановимся на нем детально.
Такой "глюк" :), уважаемый -=alex-forewer=- наблюдается часто у начинающих программистов и связан он с кривыми руками.
При правильном рисовании мерцания нет, а вот при интенсивном изменении координат объекта, к примеру, передвижении того же TShape, TPanel или им подобных (содержащих на себе или в себе рисунок) как раз и происходит мерцание, связанное с постоянными получениями формой сообщений о том, что объект переместился и нужна перерисовка.
Однако в виду того, что VCL писали люди неглупые, то для СУПЕР :) программистов они заложили возможность реализации всяких :haha: решений.

В вашем конкретном случае нужно установить свойство формы DoubleBuffered в True.
К примеру, вот так:
Код:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  Form1->DoubleBuffered = True;
}

И огромная просьба :D, дабы не выглядеть забавным, не постите явные глупости с умным видом, особенно если знакомы с вопросом понаслышке.
Не получается что-то, так и пиши, что не получается, а то сразу "кривой" VCL :), даже и несолидно как-то… ;)


-=alex-forewer=- писал(а):
Помогите решить проблему. У меня есть цикл (условно бесконечный) и мне надо сделать задержку (нужен аналог Deley() в Паскале).

Вот – набросал, вроде робить. ;)
Код:
void DelayEx(DWORD WaitMs)
{
  DWORD Start = GetTickCount();
  DWORD Stop = Start + WaitMs;
  while(Stop >= Start)
  {
     Start = GetTickCount();
     Application->ProcessMessages();
  }
}

Пример выполнения:
Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  Form1->Text = "Please wait...";
  DWORD Start = GetTickCount();
  DelayEx(100);  // выполнение
  DWORD Stop = GetTickCount();
  Form1->Text = "Start:" + IntToStr(Start) + ", Stop: " + IntToStr(Stop);
}

С уважением, _SGK.


 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
_SGK только почему-то двойная буферезация отключена, а в том же .нет она включена по умолчанию ;) Касательно продуктов борланд, тебе в ветку о мелкомягких, вот там вот наезды :)

_________________
Ку ку


 

Member
Статус: Не в сети
Регистрация: 11.04.2004
Откуда: СПБ
Daemon писал(а):
вот там вот наезды

ага
http://forums.overclockers.ru/viewtopic ... 14#3279714
Rasdolbay писал(а):
ВСЕ серьёзные вещи ВСЕГДА писали на Асме и Си. Поделки Бормана подходят лишь ламерам и студентам. Поэтому ПРОСЬБА - ссылочку на ОФИЦАЛЬНЫЙ документ, где Борманские выкидыши ПРИЗНАВАЛИСЬ бы "стандартом".

:lol:


 

Member
Статус: Не в сети
Регистрация: 05.01.2005
Daemon
Daemon писал(а):
_SGK только почему-то двойная буферезация отключена, а в том же .нет она включена по умолчанию

Отож ;) для таких от спецов и включили... :lol:

Daemon писал(а):
Касательно продуктов борланд, тебе в ветку о мелкомягких, вот там вот наезды

Не :D, мне общения с идиотами и в повседневной жизни хватает ;), а чтобы я еще в Инете на них время тратил – да не в жизнь. :haha:
Тем более что мне, вроде, как и пофиг :D, Microsoft Visual C# 2005 - саме воно. ;)


Catar
Catar писал(а):
ага

Ага-то оно ага, шо тоже, прикольно почитать мимо ляпающий языком народ :) с их обсуждениями о том, кто, на чем лучше не умеет писать… :haha: :weep:
Добавлено спустя 1 час, 19 минут, 25 секунд
Daemon & Catar
О! :lol: Кстати -> Rasdolbay писал(а): бла-бла-бла...
Ну и шо тут еще можно добавить? :D
Кроме того, ессно, что раздолбай - он и в Африке раздолбай. :haha:


 

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, но он требует более тонкой настройки (у меня не получилось), да и сам способ тупиковый, поскольку во-первых наново качает тоже самое, во-вторых содержимое страницы на экране может уже устареть.
Как быть?


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 421 • Страница 9 из 22<  1 ... 6  7  8  9  10  11  12 ... 22  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan