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

» FAQ по Borland C++ Builder

Автор: Garrett
Дата сообщения: 29.03.2009 14:03
AddMen
__try {
...
}
catch (exception-declaration) {
...
}
Автор: AddMen
Дата сообщения: 29.03.2009 14:04
спасибо
Автор: Vsevolod
Дата сообщения: 31.03.2009 23:32
есть непонятки, написал программу которая вызывает программу и потом её "убивает". Компилирую и всё работает на ура, как и хотелось. Иду в папку за exe-шником, чтобы его использовать и решаю ещё раз проверить. Программа запускается, а "убить" не хочет. Чего не так?

# CodeGear 2009 C++ Builder
Автор: Mifonix
Дата сообщения: 05.04.2009 20:29
Добрый вечер кто подскажет, как на с++builder написать, что бы в ListBox можно было менять цвет текста в каждой строчке, например 1 строчка идет красным цветом а вторую мы выводим зеленым.

2. Возможно ли создавать на фрейме динамически объекты, т.е. создать форму, фрейм(на нем некоторые компоненты не изменяемые наложены) и прежде чем фрейм наложить на форму необходимо создать на фрейме дополнительные объекты динамически т.е. добавить от определенных условий те или иные компоненты. Это возможно, если да то как в С++Builder?
Автор: Garrett
Дата сообщения: 06.04.2009 07:13
Mifonix
1. Установи Style в нужный тебе режим (lbOwnerDrawFixed, lbOwnerDrawVariable или lbVirtualOwnerDraw), затем используй OnDrawItem.
2. В Дельфи/Билдере все объекты VCL можно создавать динамически. Читай справку.
Автор: Mifonix
Дата сообщения: 10.04.2009 19:19
Приветствую вас. Помогите перегнать код из Delphi в C++Builder

Код:

procedure TfrmMain.WriteMessage(Msg: string);
var
cList : TList;
Count : Integer;
begin
cList := Server.Contexts.LockList;
try
for Count := 0 to cList.Count -1 do
begin
with TIdContext(cList[Count]) do
begin
Connection.IOHandler.WriteBuffer(Msg[1], Length(Msg));
end;
end;
finally
Server.Contexts.UnlockList;
end;
end;

Автор: Meister Floh
Дата сообщения: 10.04.2009 20:06
Mifonix
По идее так:

Код:
void __fastcall TfrmMain::WriteMessage(String Msg)
{
TList* cList;
int Count;

cList = Server->Contexts->LockList;

try {
for (Count = 0; Count < cList.Count; Count++)
TIdContext(cList[Count])->Connection->IOHandler->WriteBuffer(Msg[1], Length(Msg));
}
__finally
Server->Contexts->UnlockList;
}
Автор: Mifonix
Дата сообщения: 11.04.2009 20:20
Meister Floh

Увы! Не работает!


Код:
TList *cList = new TList ;

cList = IdTCPServer1->Contexts->LockList();

try
    {
        for ( int i = 0; i < cList->Count; i++)
        {
            TIdContext *clProm = dynamic_cast<TIdContext *>(cList[i]);
            if (clProm != NULL)
            clProm->Connection->IOHandler->WriteLn("Welcom");
            //TIdContext(cList[i])->Connection->IOHandler->WriteLn("Welcom");
        }
    }
__finally
    {
        IdTCPServer1->Contexts->UnlockList();
    }
Автор: Meister Floh
Дата сообщения: 11.04.2009 20:32
Mifonix
А с dynamic_cast пробовал? Только на нулл результат каста проверь..
Автор: Mifonix
Дата сообщения: 11.04.2009 21:16
Meister Floh


Цитата:
А с dynamic_cast пробовал? Только на нулл результат каста проверь..


А я выше в посте для 2-х способов отписал! И для dynamic_cast тоже! Не проходит
Может, кто еще, что может подсказать?
Автор: Mifonix
Дата сообщения: 13.04.2009 00:38
Может кому будет интересно, вот рабочий код:

Код:
TList* cList;

cList = IdTCPServer1->Contexts->LockList();

try
    {
        for ( int i = 0; i < cList->Count; i++)
        {
            ((TIdContext *)cList->Items[i])->Connection->IOHandler->WriteLn("welcome");
        }
    }
__finally
    {
        IdTCPServer1->Contexts->UnlockList();
    }

Автор: kirmalex
Дата сообщения: 13.04.2009 12:42
Нашел книгу по граф. интерфейсу в Делфи. Если кому надо http://letitbit.net/download/5a573f637667/-----------GUI.djvu.html
Автор: Mifonix
Дата сообщения: 15.04.2009 20:33
Подскажите в чем проблема компоненты по ссылке AlexCoRu (IndyTiburon) Indy 10:


Код:
procedure TForm3.Button1Click(Sender: TObject);
begin
IdTCPClient1.Host :='127.0.0.1';
IdTCPClient1.Port := 6000;
IdTCPClient1.Connect;
Memo1.Lines.Add(IdTCPClient1.Version);
IdTCPClient1.IOHandler.WriteLn('Русский текст');
IdTCPClient1.IOHandler.WriteLn('Welcom');
IdTCPClient1.Disconnect;

end;

procedure TForm3.IdTCPServer1Execute(AContext: TIdContext);
begin
Memo1.Lines.Add(AContext.Connection.IOHandler.ReadLn());
end;

Автор: vadfromnu
Дата сообщения: 17.04.2009 10:50
Здравствуйте. Знает ли кто-нибудь способ как можно использовать 16 разрядные библиотеки в Borland Builder, так чтобы не пришлось вручную работать со стеком?
Автор: clear2121
Дата сообщения: 30.04.2009 14:23
Прошу помощи! Использовал всегда в своих проектах библиотеку QStrings 6.06.424. Поставил С++ Билдер 2009 и всё рухнуло. Вайд строки и Чары не дают работать. Можно как то исправить сиё в самой ИДЕ, или есть исправленная библиотека? А может есть другие подобные библиотеки?
СПАСИБО!
Автор: Garrett
Дата сообщения: 30.04.2009 15:06
clear2121
Т.к., начиная с RadStudio2009, библиотека VCL тотально юникодная, то я советую делать исключительно юникодные программы и использовать стандартный UnicodeString.
Автор: Meister Floh
Дата сообщения: 01.05.2009 12:31
Господа а кто знает как достучаться к полям version info в runtime?
Автор: Garrett
Дата сообщения: 01.05.2009 14:57
Meister Floh
GetFileVersionInfo
Автор: Meister Floh
Дата сообщения: 01.05.2009 18:22
Garrett
Это-то я нашел.. Думал можно как-то из классов.. Да и доступ нужен не только к одному полю, а ко всем полям...
Автор: Garrett
Дата сообщения: 01.05.2009 20:50
Meister Floh
Не флуди. Читай МСДН.
Автор: gosn1ck
Дата сообщения: 03.05.2009 13:11
Всем привет. На будущий диплом (защищаюсь в 2010 году (: ) досталась следующая тема: разработка транслятора по преобразованию алгоритма с блок-схемного представления в исходных текст на языке высокого уровня с использованием клиент-серверной технологии soap.

как я понимаю необходимо 2 проги, а именно: клиентская часть - отвечающая за создание блок-схем. отсюда возникает 1ый вопрос, так как я никогда не работал с графикой: как эти блок-схемы рисовать и на чем? я предполагаю, что будущие объеты строятся по точкам следоватьно необходимо будет описание классов. наверно, также придется повозиться с соединением стрелочками блок-схем. 2ой вопрос: как правильно описать момент соединения блок-схем.

серверная часть собственно прием файла в виде блок-схемы от клиента. тут у меня тоже темный лес. малого того, что я с soap вообще не работал, так мои знания по программированию для сетей оканчиваются написанием простейшего чата и приложения по передаче файла компонентами TServerSocket и TClientSocket. 3ий вопрос: как передавать данные? формировать на стороне клиента какой-то файл и затем потоком к серваку? тут не особо представляю как формировать данные для отправки с серверу так и как персить всё это дело.

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

всем заранее спасибо. с уважением.
Автор: Meister Floh
Дата сообщения: 03.05.2009 21:22
Господа, может я туп, но столкнулся с такой проблемой.. Нужно откомпилить несколько *.bpk из командной строки.... Вопрос - как???
Автор: Meister Floh
Дата сообщения: 08.05.2009 09:14
Коллеги, вылетело из головы и никак не могу вспомнить, если у меня в рантайм есть строка содержащая имя переменной, то как зная это имя присвоить переменной значение???
Автор: SHTORMJST
Дата сообщения: 08.05.2009 11:18
бл народ помогите с такой проблемой
"где взять ключ на C++Builder "
Автор: Legion29Ah
Дата сообщения: 08.05.2009 13:48
У меня вопрос а как всавлять музыку в прогу так, чтобы она не ссылалась, ну бы так как у патчей например: там же музыки нет она в самом *.exe, как это можно реализовать
Автор: Garrett
Дата сообщения: 08.05.2009 14:11
Legion29Ah
В ресурсы, н-е.
Автор: vudik
Дата сообщения: 09.05.2009 13:51
как можно построить график функции в C++ builder 6.0. Пожалуйста... очень срочно нужно... может какие то ссылки

ести такое, может кто знает почему неработает???
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormPaint(TObject *Sender)
{
Grafik();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormResize(TObject *Sender)
{
TRect rct = Rect(0,0,ClientWidth,ClientHeight);

Canvas->FillRect(rct);
Grafik();
}
float f( float x)
{
return 2*sin(x)*exp(x/5);
}
//---------------------------------------------------------------------------

void TForm1::Grafik()
{
float x1, x2; // ??????? ????????? ????????? ???????
float y1, y2; // ??????? ????????? ???????? ???????
float x; // ???????? ???????
float y; // ???????? ??????? ? ????? x
float dx; // ?????????? ?????????
int l,b; // ????? ?????? ???? ??????? ?????? ???????
int w, h; // ?????? ? ?????? ??????? ?????? ???????
float mx, my; // ??????? ?? ???? X ? Y
int x0, y0; // ?????? ?????????

// ??????? ?????? ???????
l = 10; // X - ?????????? ?????? ???????? ????
b = Form1->ClientHeight-20; // Y - ?????????? ?????? ??????? ????
h = Form1->ClientHeight-40; // ??????
w = Form1->Width - 20; // ??????

x1 = 0; // ?????? ??????? ????????? ?????????
x2 = 25; // ??????? ??????? ????????? ?????????
dx = 0.01; // ??? ?????????

// ?????? ???????????? ? ??????????? ???????? ??????? ?? ??????? [x1,x2]
x = x1;
y1 = f(x); // ???????
y2 = f(x); // ????????
do
{
y = f(x);
if ( y < y1 ) y1 = y;
if ( y > y2 ) y2 = y;
x += dx;
}
while (x <= x2);

// ???????? ???????
my = (float)h/abs(y2-y1); // ??????? ?? ??? Y
mx = w/abs(x2-x1); // ??????? ?? ??? X

// ???
x0 = l+abs(x1*mx);
y0 = b-abs(y1*my);
Canvas->MoveTo(x0,b);Canvas->LineTo(x0,b-h);
Canvas->MoveTo(l,y0);Canvas->LineTo(l+w,y0);
Canvas->TextOutA(x0+5,b-h,FloatToStrF(y2,ffGeneral,6,3));
Canvas->TextOutA(x0+5,b,FloatToStrF(y1,ffGeneral,6,3));

// ?????????? ???????
x = x1;
do
{
y = f(x);
Canvas->Pixels[x0+x*mx][y0-y*my] = clRed;
x += dx;
}
while (x <= x2);
}


Добавлено:
[C++ Error] Unit1.cpp(38): E2316 'TForm1::Grafik()' is not a member of 'TForm1'
выводит такую ошыбку
Автор: Meister Floh
Дата сообщения: 09.05.2009 17:16
vudik
Файл заголовков в студию...
Автор: vudik
Дата сообщения: 09.05.2009 17:20


Добавлено:
я извиняюсь, я новачок в builderi#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:    // IDE-managed Components
void __fastcall FormPaint(TObject *Sender);
void __fastcall FormResize(TObject *Sender);
void __fastcall Button1Click(TObject *Sender);
void __fastcall FormCreate(TObject *Sender);
private:Grafik();    // User declarations
public:        // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif

это оно??
Автор: Meister Floh
Дата сообщения: 09.05.2009 17:26
float f( float x) - а вот это какому объекту принадлежит? хотя это и не причина ошибки, а причина скорее всего в том, что функция - TForm1::Grafik() - не описана в файле заголовков...

Страницы: 12345678910111213141516171819202122232425262728

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


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