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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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

wwwregus



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите как правильно инкрементировать адрес:  
есть адрес   BA =(void*)0x00495498;  
как увеличить его на 2

Всего записей: 77 | Зарегистр. 09-08-2006 | Отправлено: 17:11 22-01-2008
Garrett

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wwwregus
А так не работает?
BA += 2;

Всего записей: 2736 | Зарегистр. 16-10-2003 | Отправлено: 17:39 22-01-2008
wwwregus



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Garrett нет.
((int*)BA)++;((int*)BA)++;  вот так работает

Всего записей: 77 | Зарегистр. 09-08-2006 | Отправлено: 18:03 22-01-2008
diaz85

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

Всего записей: 39 | Зарегистр. 05-11-2007 | Отправлено: 18:59 22-01-2008
Garrett

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
diaz85
посмотри Scale или что-то подобное у формы
 
wwwregus
Я ошибся маленько, указатель у тебя  void*, т.е. беcтипный, и его надо приводить к нужному типу, т.к. sizeof(void)=0 .
Если как int,  
((int*)BA) += 2;
то он так у тебя увеличится на 8 байт.
 
Если надо на 2 байта, то тогда так
((char*)BA) += 2;

Всего записей: 2736 | Зарегистр. 16-10-2003 | Отправлено: 20:28 22-01-2008
mozgodrocha

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, как стандартными средствами заполнить все поля такой структуры:
typedef struct {
    long    FileSz;
    long    Reserved;
    long    BmpOffset;
    long    BmpSzHead;
    long    X;
    long    Y;
    unsigned int    Planes;
    unsigned int    BitsPPixel;  
    long    Comp;
    long    BmpSzData;
    long    HRes;
    long    VRes;
    long    Colors;
    long    ImpColors;
} BMPHEADER;
Как вообще в C++ Builder'е работать с BMP? Как например, добраться до пикселя с координатами (x, y), поменять значение компонент RGB и сохранить измененную картинку?

Всего записей: 193 | Зарегистр. 13-10-2006 | Отправлено: 20:24 23-01-2008
diaz85

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
хотелось бы послушать мнение более опытных..
 
есть таблица с полями:
 
номер1 название номер2
 
необходимо осуществить выгрузку в файл в формате
 
номер1;название1;номер2;название2. т.е. что для одних имен номер2 - то для других имен номер1(т.е. название2 это то название у которого номер1=номеру2 названия1). как лучше осуществить? решил пока все след образом: использую 2 формы в одну делаю селект * (вывожу в грид), в другую(она невидимая и на ней также расположен грид) делаю select * from table where номер2='номер1'. и потом с помощью Form->DBGrid->Columns->Items[i]->Field->Value. передвигаюсь по строкам с помощью Next()
составляю из этих гридов необходимую мне строку и пишу ее...   4500 записей выгружются порядка 40 секунд с локального компа......  можно ли сделать проще?

Всего записей: 39 | Зарегистр. 05-11-2007 | Отправлено: 21:22 23-01-2008
Garrett

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
diaz85
Ничего не понятно, что хочешь...
Но:
- почему не сделать запрос в ADOQUERY и прочитать его без всяких таблиц и невидимых форм?
- может такой ОДИН селект пойдет
select nomer1, nazvanie as nazvanie1, nomer2, nazvanie as nazvanie2 from table
when nomer1=nomer2
order by nomer1, nazvanie1

Всего записей: 2736 | Зарегистр. 16-10-2003 | Отправлено: 00:56 24-01-2008
Tantos



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

Код:
 
BMPHEADER bmp;
 
bmp.X = ...
 

Всего записей: 1038 | Зарегистр. 31-05-2005 | Отправлено: 05:44 24-01-2008
vidic777



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Сорри что задаю вопрос сюда, в ветку "Вопросы по Delphi (все версии) - часть 3" уже задавал, но никто не смог ответить а проблему мне эту очень нужно решить. Если есть еще какие-то идеи и методы по переводу проекта из одной версии среды разработки в  другую подскажите где об этом можно почитать, т.к. я первый раз сталкиваюсь с такой проблемой (ранее все переходы от BCB6, BFD2006 в RS2007 были без особых трудностей) Заранее спасибо и сорри за оф-топ.
 
---
Подскажите как решить такую проблему ?
Пытаюсь чужой проект, который мне необходимо продолжать дорабатывать,  перетащить из BCB 5.0 в RAD Studio 2007 и при открытии файла *.bpr получаю сообщение об ошибке (в BCB 5 все открывается и компилится нормально):
 Error
---------------------------
Parameter "itemInclude" cannot be null.
---------------------------
OK   Details <<    
---------------------------
Скриншот:

 
Полный текст сообщения
 
Подробнее...
 
 
Первый раз сталкиваюсь с такой ошибкой и незнаю как найти решение, в каку сторону копать.  
Очень прошу помочь в данной проблеме.  
 
Заранее благодарен.  
---

Всего записей: 1313 | Зарегистр. 16-02-2005 | Отправлено: 10:56 31-01-2008
vidic777



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Еще раз сорри, проблему решил.

Всего записей: 1313 | Зарегистр. 16-02-2005 | Отправлено: 13:28 01-02-2008
Mizanthrope



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я извиняюсь, если не в ту тему или уже было, но...
 
Вопрос такой: можно ли как-нибудь конвертнуть проект из С++Builder'а в Visual C++ .NET?

Всего записей: 778 | Зарегистр. 15-08-2006 | Отправлено: 03:39 03-02-2008
Garrett

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mizanthrope
Если проект чистый С++/STL/WinAPI без VCL, то нет проблем.
Иначе никак или потребуется много времени(зависит от размера).

Всего записей: 2736 | Зарегистр. 16-10-2003 | Отправлено: 09:31 03-02-2008
mozgodrocha

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

Всего записей: 193 | Зарегистр. 13-10-2006 | Отправлено: 18:48 07-02-2008 | Исправлено: mozgodrocha, 21:53 07-02-2008
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mozgodrocha
ты бы эта, зашёл в Вопросы по программированию на С++
а то вопрос закинул, тебе ответили, дискуссия довольно жаркая возникла, а от тебя ни гу-гу
отчитался бы (в качестве хорошего тона) чтО там было-то в итоге?
 
я вот это имею ввиду:

Цитата:
словил непонятный глюк. Работоспособность проги зависит от порядка объявления переменных... Т.е.
float a;
int b;
работает, а:
int b;
float a;
валится с ошибкой Access violation... Просто меняю порядок следования двух соседних строк. Что это может быть?

Всего записей: 24116 | Зарегистр. 06-12-2002 | Отправлено: 19:39 07-02-2008 | Исправлено: akaGM, 19:42 07-02-2008
mozgodrocha

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

Всего записей: 193 | Зарегистр. 13-10-2006 | Отправлено: 21:53 07-02-2008
mozgodrocha

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
И еще вопрос... Даже как-то стыдно спрашивать... Что-то мне ни как не собрать exe, чтобы не требовались dll. Все вроде бы сделал:
Build Configuration - Release
Dynamic RTL - убрал
Packages - Build whith runtime packages - убрал
exe как и положенно распух (с 69.0 KB до 1.66 MB), но без dll работать не хочет. Может в Builder'e 2007 еще что-то накрутить нужно? Что еще убрать/добавить чтобы все было нормально?

Всего записей: 193 | Зарегистр. 13-10-2006 | Отправлено: 16:01 08-02-2008 | Исправлено: mozgodrocha, 16:53 08-02-2008
vidic777



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
mozgodrocha

Цитата:
Что-то мне ни как не собрать exe, чтобы не требовались dll

Не стыдно Я тоже присоединяюсь к вопросу как собрать в Builder'e 2007 но не токо *.dll но и *.bpl  
 
Заранее благодарен.  

Всего записей: 1313 | Зарегистр. 16-02-2005 | Отправлено: 23:33 08-02-2008
afiget



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

Цитата:
Packages - Build whith runtime packages - убрал

А не наоборот?

Всего записей: 545 | Зарегистр. 31-12-2005 | Отправлено: 14:48 10-02-2008
mozgodrocha

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
afiget
Вроде бы нужно в Project->Configuration Manager->Configuration Name выбрать Release. C разными проектами не экспериментировал, но один собрался правильно.
 
Народ, что-то мне туго дается переход с С на С++... Подскажите, как правильно организовать такую прогу - прога должна:
--читать инфу из текстового файла;
--отображать инфу на графиках;
--обрабатывать инфу, и результат отображать на графиках (при этом пользователь может менять параметры обработки);
--обработка может вестись несколькими методами (метод выбирает пользователь);  
--ну и сохранять результат в файл.  
 
Как это сделать на С - понятно. А вот как все это грамотно оформить в Builder'e я что-то не догоняю. Я все это сделал. Но. Сделал практически все методами чистого С. Получилось все очень некрасиво и лохмато.  Все перечисленные пункты выполняются С-функциями, а данные из текстового файла прямиком загружаются в каналы TSLScope (PlotLab). Т.е. получается, что все построено вокруг TSLScope. Из него все берется, в него все скидывается. Плюс ко всему еще и глобальные переменные есть. Работает все быстро, но хочется все сделать по-человечески. А вот как не совсем понятно. Например, где хранить прочитанную из файла инфу? По идее класс должен быть изолирован, и хранить данные в своих переменных, но мне же нужно выводить графики на TSLScope. А если все скидывать и в переменные класса и в каналы TSLScope все будет работать медленно. Как быть? Что чем реализовать? И где хранить данные?  Что-то меня вся эта интерактивность в тупик заводит.

Всего записей: 193 | Зарегистр. 13-10-2006 | Отправлено: 17:31 10-02-2008 | Исправлено: mozgodrocha, 17:52 10-02-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 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