Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» FAQ по Borland C++ Builder

Автор: Starley25
Дата сообщения: 14.04.2008 15:31
Прошу прощения за неправильно поставленный вопрос. Среда разработки нужна, такая, чтобы работала на Linux, а выходные проги можно было бы писать под винду!?

Хотя если честно, самому с трудом верится.
P.S. Qt же платная. Хотя есть комерческая и открытая, а разница только в квалифицированной помощи или как?
С уважением Starley25.
Автор: Garrett
Дата сообщения: 14.04.2008 16:30
Starley25
Ну зачем же так мучиться. Используй турбо с на винде, или экспресс вижуал студию.
Автор: 2bit
Дата сообщения: 01.05.2008 08:01
Раньше пользовался BCB-6 сейчас поставил RAD Studio 2007 и сразу заметил разницу.
Не могу найти мастер для добавления функций и полей класса, куда они его прикопали?
Раньше был доступен из контекстного меню окна Structure.
Автор: Adalon
Дата сообщения: 01.05.2008 10:39
CodeGear RAD Studio 2007 (с декабрьским патчем).

При создании нового, пустого приложения ругается
[ILINK32 Error] Error: Unable to open file 'C.RES'
Помогает отключение .res файла. Однако без ресурсов нельзя.
Или вот так ругается
[ILINK32 Error] Fatal: Unable to open file ''

Я пробовал переносить в нужный каталог работающее приложение (чтобы удалив все превратить в пустое), менял пути, начинал компилировать и возникала опять же эта ошибка.

Как-то после установки у меня нормально создавались приложения (почему-то),
однако после последней переустановки системы опять 25.

Пока занимался старыми проектами, созданными еще в 6 Билдере, это меня не сильно беспокоило, но сейчас надо несколько мелких проектов создать и вот такая засада.

Еще зачем-то требует на пустом проекте указать путь до EhLib'а, хотя упоминания его в проекте нет.
Автор: Adalon
Дата сообщения: 02.05.2008 06:19
Никто с [ILINK32 Error] Error: Unable to open file 'C.RES' не сталкивался?
Автор: MikeN
Дата сообщения: 09.05.2008 16:55
Открыл свой старый проект (bdsproj) в CodeGear RAD Studio 2007 (с декабрьским патчем), получил сообщение, что он преобразован.

И что? Теперь главная форма показывается только текстом, закладка Design отсутствует напрочь.
Файл формы dfm, разумеется, лежит на прежнем месте.

Где тут собака порылась, а?
Автор: MikeN
Дата сообщения: 09.05.2008 20:42
Все, разобрался.
Автор: diaz85
Дата сообщения: 17.05.2008 13:00
Добрый день.
Такой вопрос:
Как в компоненте StringGrid динамически менять длину интересующего столбца (не всех!!)? Т.е. необходимо установить длину столбца равную максимальной длине строки в этом столбце.
Автор: Tantos
Дата сообщения: 19.05.2008 03:08
diaz85
Навскидку: пробегаем по столбцуи ищем строчку с максимальной длиной. В пикселях узнаем ее ширину с помощью TextWidth (TextWidth(const AnsiString Text)). Ну а дальше TStringGrid::ColWidths[] устанавливаешь необходимую ширину.
Автор: psys6
Дата сообщения: 20.05.2008 01:03

Извиняюсь, что сюда вопрос задаю, куда его задать просто уже не знаю

решил освоить, C++, для этого поставил не BCB, а Visual Studio 2008.
Вот в билдере существовали компоненты, которые очень удобно было использовать, например TMS.
А для Visual Studio такое впечатление что ничего такого не бывает.

понимаю что бредово, но может кто даст ссылку поясняющую вопрос про VS и компоненты?
Автор: Tantos
Дата сообщения: 20.05.2008 06:05
Ну, можешь в Варезнике посмотреть компоненты для .NET - Крякнутые компоненты для .NET
Автор: Garrett
Дата сообщения: 20.05.2008 07:00
psys6
VS C++ - большая страна, надо уточнить на какой технологии работаешь, Win API, MFC, ATL/WTL, MC++...
Автор: clear2121
Дата сообщения: 27.05.2008 06:38
Привет ВСЕМ!

Нашёл на просторах инета статью "Уменьшаем Exe, удаляя релоки без сторонних утилит." (http://www.delphilab.ru/content/view/32/66/). Это для Делфи. Но так как Билдер похож (и я нашел релоки), то может кто то подскажет как это сделать в Билдере?

Спасибо!
Автор: bandyn
Дата сообщения: 07.06.2008 14:28
Подскажите плиз, как копировать файлы с инета http (Например: http://www.site.ru/text.txt) ?
Автор: Kott
Дата сообщения: 07.06.2008 16:10
clear2121
точно так же. установив данную опцию в свойствах проекта. Не понятно правда чего ее считают "недокументированной" - во вторых - новости данной как минимум два года минуло.
http://hallvards.blogspot.com/2006/09/hack12-create-smaller-exe-files.html

Автор: Barabek
Дата сообщения: 12.07.2008 21:53
Народ, прошу совета!
Начал изучать программирование и на одном из тестовых заданий возникла такая проблема: пользователь вводит с клавиатуры строку символов и задает одиночный символ. программа должна сосчитать количество вхождений данного символа в строку и вывести результат на экран. Разработанное консольное приложение отлично справляется с поставленной задачей. Но я еще пытаюсь написать визуальное приложение - помещаю два компонента Edit, компоненты Label1 и Button на форму и пишу следующий код для Button по событию OnClick:

void __fastcall TForm1::Button3Click(TObject *Sender)
{
char text[80], symb;
int num = 0;
text = LabeledEdit1 -> Text;
symb = LabeledEdit2 -> Text;
for (int i=0; text[i]!='\0'; i++)
{
    if (text[i]==symb) num++;
}
Label1 -> Caption = IntToStr(num);
}

Т.е. по идее создается символьный массив text и символьная переменная symb. Счетчик вхождения n устанавливается 0. Дале, заношу в массив данные из строки ввода LabeledEdit1, а в переменную symb - данные из строки LabeledEdit2. Далее в цикле проверяется вся строка и выводится количество вхождений символа. Но при компиляции вываливается ошибка "E2277 Lvalue required" на строке text = LabelEdit1..... Не могу понять - что неправильно и как исправить.
Автор: akaGM
Дата сообщения: 12.07.2008 22:34
Barabek
strcpy(text, LabeledEdit1 -> Text);
Автор: Barabek
Дата сообщения: 12.07.2008 22:45
akaGM

nтеперь появились такие ошибки на той же строке
E2034 Cannot convert 'AnsiString' to 'const char *'
E2342 Type mismatch in parameter '__src' (wanted 'const char *', got 'AnsiString')

когда задаю в первоначальном коде вместо

char text[80], symb;

AnsiString text, symb;

то ошибок компиляции не возникает, но в процессе выполнения (введенном тексте и нажатии на Button) намертво зависает, приходится перегружать Borland.

Тяжело идут первые проги.

Добавлено:
Так, вроде разобрался - нужно было написать вместо

strcpy(text, LabeledEdit1 -> Text);

strcpy(text, LabeledEdit1 -> Text.c_str());

но теперь выдает аналогичныые ошибки на строке считывания одиночного символа

strcpy(symb, LabeledEdit2 -> Text.c_str());

E2034 Cannot convert 'int' to 'char *'
E2342 Type mismatch in parameter '__dest' (wanted 'char *', got 'char')

Я ведь объявил переменную symb типа char, при чем здесь int?
Автор: akaGM
Дата сообщения: 13.07.2008 14:30
strcpy(&symb, LabeledEdit2 -> Text.c_str());

только всё равно это неправильно...
тебе наверняка нужно что-то типа

symb = LabeledEdit2 -> Text[pos_of_symbol]
Автор: Barabek
Дата сообщения: 14.07.2008 10:18
akaGM

Действительно круто, теперь все работает. Спасибо за помощь!
Автор: U2nexpecte2D
Дата сообщения: 20.07.2008 15:44
всем привет, у меня есть такой вопрос...

Res->Text = strcat(Res->Text.c_str(),"7");

после 3-4 прибавления семёрки выдаёт эррор

---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 01193C16. Write of address 0092AD6C'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------

в чём причина?
Автор: akaGM
Дата сообщения: 20.07.2008 17:27
U2nexpecte2D
а место-то есть, куда прибавлять?
Автор: vidic777
Дата сообщения: 20.07.2008 17:33
U2nexpecte2D
Что за res такой, как объявлен, проинициализирован ли и данные какого типа хранить должен, можно подробней ?
Автор: Garrett
Дата сообщения: 20.07.2008 17:36
U2nexpecte2D
c_str() возвращает временный указатель на строку с нулем в конце.
Сделано для передачи в указателя на строку в функции, гдле требуется указатель, но не для того ЧТОБЫ МЕНЯТЬ ЭТУ строку.
Что тебе мешает написать
Res->Text += "7";
А?
Автор: SSchumi
Дата сообщения: 21.07.2008 08:19
Я как понял, Res - это label. А если это так, то писать:

Цитата:
Res->Text += "7"

мешает то, что это свойство, а не просто String.
U2nexpecte2D, не мучайся, зачем перемешивать *char и string. Или создавай временную string или пиши: Res->Text = Res->Text + "7".
Автор: Garrett
Дата сообщения: 21.07.2008 09:46
SSchumi
Нет у метки свойства Text, и выше я немного ошибся (с +=).
Вот так всё работает:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Label1->Caption = Label1->Caption + "7";
Memo1->Text = Memo1->Text + "7";
}
Автор: vidic777
Дата сообщения: 22.07.2008 00:35
SSchumi

Цитата:
Я как понял, Res - это label

Garrett верно говорит, Text есть у компонент TEdit, хотя какой смысл гадать, путь U2nexpecte2D приведет кусок текста программы где у него объявлен Res.

Автор: U2nexpecte2D
Дата сообщения: 24.07.2008 23:58
сорри, не было доступа к инету...

в общем, Res - это компонента Edit , туда я просто записываю данные...
в общем чтоб было понятнее - хо написать жалкое подобие калькулятора... и чтоб при нажатии на кнопки с цифрами они само собой добавлялись в Edit->Text

спс Garrett, пробовал +=, оно ошибки не выдаёт но и не прибавляет, поэтому подумал что так нельзя))) терь норм....

спасибо всем)
Автор: CRIT1987
Дата сообщения: 08.08.2008 07:04
Народ, кто может помогите! Такой вопрос: есть дерево Treeview,дочерние узлы. Мне нужно сделать копирование узлов или узла при нажатой клавиши(shift или ctrl) из одного каталога в другой...Перемещение я сделал драг энд дроп.. а как копирование хз..привидите плиз код примерный..
Автор: Varyag_Nord
Дата сообщения: 13.08.2008 13:52
Здрастье.
Есть такой код

Код:
AnsiString Patch;
Patch = ExtractFilePath(ParamStr(0)); // получаем путь к каталогу программы
if (!FileExists(Patch+"options.ini"))
{
ShowMessage("Создаем");
TIniFile *Ini = new TIniFile(Patch+"options.ini");
//Ini->WriteString("Edits","Edit1",Form7->Edit1->Text); // создаем файл настроек
//Ini->UpdateFile();
}

Страницы: 12345678910111213141516171819202122232425262728

Предыдущая тема: ms exchange


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.