Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » FAQ по Borland C++ Builder

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

Открыть новую тему     Написать ответ в эту тему

IGELSrus

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Darl
 
Огромное спасибо...
 

Всего записей: 3 | Зарегистр. 28-06-2005 | Отправлено: 07:45 02-07-2005
ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Darl

Цитата:
{  
    FillRect(GetDC(((TButton *)Sender)->Handle), &(((TButton *)Sender)->ClientRect),  
        (HBRUSH)CreateSolidBrush(clRed));  
}

Пример рабочий, только у него небольшой недочет. При следующей перерисовке окна, данная кнопка будет заново закрашена обычным цветом. В этом отличие OwnerDraw компонентов, что их отрисовка происходит во время WM_DRAWITEM, и при перерисовке окна они отрисовываются так, как надо.
IGELSrus

Цитата:
Тогда по поводу создания кнопок, где найти туториал по этой теме.

В любой среде программирования есть хелп, в котором надо либо посмотреть примеры на данное сообщение, тебя должно интерисовать ODC_BUTTON вроде бы, либо посмотри пример создания кнопок на АПИ в том же хелпе, там есть пример Onwer Draw Button, сам в свое время использовал кусок из хелпа, когда разбирался как это делается. Но в твоем  случае ИМХО лучше

Цитата:
Используй TPanel у нее можно менять цвет, она имеет Caption и может быть выпуклой и вогнутой. Отслеживай события нажатия на клавиши в самой форме KeyPreview установи в true и следи за событием OnKeyDown OnKeyUp самой формы, и в зависимости от нажатой клавиши меняй свойства соответсвущей панели на Raised Или Lowered. Одновременно закрашивая ее в нужный цвет.



----------
И создал Бог женщину... Существо получилось злобное, но забавное...

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 13:15 02-07-2005
Darl

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ShIvADeSt
 
Я показал токо один из путей как можно менять цвет кнопки, а не весь кусок кода.

Всего записей: 140 | Зарегистр. 10-07-2002 | Отправлено: 13:27 02-07-2005
raoulduke



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
объясните ламеру, как работает функция EndOfFile , это как, после каждого считывания проверять в конце указатель или нет? если можно лоховской пример

Всего записей: 24 | Зарегистр. 17-07-2005 | Отправлено: 20:21 18-07-2005
Darl

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
raoulduke
 
1) Такой ф-ции ни в VCL ни в АПИ нету.
2) есть eof/EOF, но что имеено тебе надо. В основном в классах где есть похожая ф-ция присутствует Next/GetNext/NextRecord и т.п.
 
Типа пример
 
while (!...->EOF)
{
 ...;
 ...->Next();
}

Всего записей: 140 | Зарегистр. 10-07-2002 | Отправлено: 21:54 18-07-2005
DieSel666



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
кажется есть  endf, для закрытия файла...

Всего записей: 31 | Зарегистр. 03-04-2005 | Отправлено: 00:45 20-07-2005
raoulduke



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Darl
попробую
мне просто надо текстовый файл считать
 
Добавлено:
например если в каждой строчке там имена файлов записаны, надо же как-то stdin переправить чтобы можно было обычной  scanf считывать их в переменные?

Всего записей: 24 | Зарегистр. 17-07-2005 | Отправлено: 20:01 22-07-2005
IgorXI



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня спустя некоторое время с проектом стали происходить странные вещи.
Если я изменяю исходник и даю команду make project то проект компилируется со старым исходником, как-будто я и не делал никаких изменений, при этом не помогает ни закрытие-открытие проекта, ни удаление изменённого компилируемого .obj файла - он создаётся такой, какой и был до изменения, ни перезапуск C++ Buildera, ни перезакрузка компьютера, помогает только Build All. Эта странность связана точно именно с этим проектом, потому что с другими такого нет и наблюдается на двух компьютерах, где приходится работать.
Подскажите, если кто знает из-за чего такое может произойти, я уже не знаю что делать, ведь после малейшего исправления приходится перекомпилировать весь проект, а это занимает целых пятьдесят пять минут, и работа идёт очень медленно.

Всего записей: 126 | Зарегистр. 16-09-2003 | Отправлено: 12:29 31-07-2005
Xarde



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Было у меня такое. Несколько раз. Причину не выяснил, но помогало обычно одно - создать чистый новый проект и добавить в него все файлы из старого. Если разберешься в причине - буду рад ее узнать.

Всего записей: 266 | Зарегистр. 06-07-2003 | Отправлено: 00:48 01-08-2005
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
IgorXI
Посмотри внимательно папочу проекта - там есть файл с расширением tds (если память не изменяет) - узнаеш его быстро по размеру. Это, насколько мне извесно как-бы закешированый откомпилированый проект. Удаляеш и компилируеш по новой

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 12:39 01-08-2005
Xarde



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мне такое не всегда помогало - я удалял все, что только можно, перекомпилировал, но проблема оставалась. Но попробовать, конечно, стоит - все проще, чем заново проект составлять.

Всего записей: 266 | Зарегистр. 06-07-2003 | Отправлено: 13:27 01-08-2005
IgorXI



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Решил я эту проблему, не знаю на долго ли, но помогла компиляция вручную посредством экспорта mak файла и последующей его сборкой, после этого всё вроде стало сново нормально компилироватся, по всей видимости это какой-то глюк BCB IDE.

Всего записей: 126 | Зарегистр. 16-09-2003 | Отправлено: 11:09 02-08-2005
Sphinx333



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Косяк может крыться в совсем другой причине.... Если программа сохранялась в одной папке, а потом скопирована в другую и открыта в билдере там... И при всем при этом автоматом сохранялись опции проекта... то надо кильнуть файл .dsk. Иначе все исходники будут сохраняться в старой папке - в .dsk полные пути к файлам, а компилиться из рабочей -)

Всего записей: 824 | Зарегистр. 01-01-2005 | Отправлено: 20:30 12-08-2005
nevuser

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sphinx333
Согласен, было дело. Скопировал проект в новую папку для экспериментов, чтобы рабочий код не попортить, а вышло наоборот, в старой папке похакались исходники...

Всего записей: 225 | Зарегистр. 08-11-2003 | Отправлено: 13:43 14-08-2005
spike



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
проблема установки компонета CB5 под CB6
 
 есть packages для builder 5
когда я пробую поставить его под builder 6, то ругается:

Код:
This appication has faild to start because Vcl50.bpl was not found. Re-installing the application may fix this problem.

 
 
Как сделать так, чтобы он не хотел использовать vcl50, а использовал vcl60
 
я в hex редакторе изменил vcl50 на vcl60, но:

Код:
This procedure entry point @System@initialization@qqrv could not be located in the dynamic link library Vcl60.bpl.

 
 
есть какой-нибудь конвертер пакетов для 5 билдера в 6ой билдер ?

Всего записей: 693 | Зарегистр. 23-10-2003 | Отправлено: 11:49 06-09-2005
EZH



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
spike
Думаю без перекомпиляции тут не обойтись, нужны исходники...

Всего записей: 1738 | Зарегистр. 02-09-2004 | Отправлено: 12:02 06-09-2005 | Исправлено: EZH, 12:03 06-09-2005
spike



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EZH
исходники есть, но они на delphi
как их откомпилить для cb6 ?

Всего записей: 693 | Зарегистр. 23-10-2003 | Отправлено: 09:57 07-09-2005
Alexiski

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
spike

Цитата:
исходники есть, но они на delphi  
как их откомпилить для cb6 ?

Builder отлично компилит дельфийские пакеты.  
Можно вообще включить отдельные юниты в проект.

Всего записей: 8 | Зарегистр. 23-01-2005 | Отправлено: 17:25 07-09-2005
EZH



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
spike
Создавай в билдере аналогичные пэкаджи (bpk) и включаq туда те модули, что указаны в соответствующих dpk. Ну и не забывай подключать уже требуемые bpi/bpl.

Всего записей: 1738 | Зарегистр. 02-09-2004 | Отправлено: 17:39 07-09-2005
spike



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EZH
сорри за ламоту, а как делает packages

Всего записей: 693 | Зарегистр. 23-10-2003 | Отправлено: 11:04 08-09-2005
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » FAQ по Borland C++ Builder


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru