powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите с Дельфи на CBuilder перевести
35 сообщений из 35, показаны все 2 страниц
Помогите с Дельфи на CBuilder перевести
    #32560955
Тут увидел как опытные люди давали совет на Дельфи, а я ее самостоятельно не могу на CBuilder перевести.

Может подсобите код очень часто необходимый.

type
THack= class(TControl);

И ты получишь доступ к свойству Color текущего объекта.

if Sender is TControl then THack(Sender).Color := clWhite;

Спасибо
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32561045
MySQLdb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
class THack : public (TControl);

THack *My;

My = new(THack);

if (Sender is TControl) { My->Sender->Color = clWhite;}

-----------------------------------------------------------
С уважением,MySQLdb
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32561216
Коктейл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В билдере нет is , зато есть dynamic_cast

Удачи
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32561224
Не получается что здесь не так?

class THack {public:TControl;};
. . . . .

void __fastcall TForm1::Edit1Enter(TObject *Sender)
{
THack *My;
My = new(THack);

if (dynamic_cast<TControl *> (Sender))
{
My->Sender->Color=clWhite;
}
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32561246
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
class THack {public:TControl;};
. . . . .

void __fastcall TForm1::Edit1Enter(TObject *Sender)
{
THack *My;
My = new(THack);

if (dynamic_cast<TControl *> (Sender))
{
   dynamic_cast<TControl&> (*Sender)->Color=clWhite;
}


 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32561338
Неа ошибку пишет
E2288 Pointer to structure required on left side of -> or ->*
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32561348
Ой, забыл написать что в следующей строке ошибка, а как правильно написать?

dynamic_cast<TControl&> (*Sender)->Color=clWhite;
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32561365
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наверное правильней всетаки будет так ...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
class THack {public:TControl;};
. . . . .

void __fastcall TForm1::Edit1Enter(TObject *Sender)
{
THack *My;
My = new(THack);

if (dynamic_cast<TControl*>(Sender))
{
  dynamic_cast<THack&>(*Sender)->Color=clWhite;
}


 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32561379
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так понял , что вы хотите сделать ,
если переходищь на какойто TEdit , то сделать его цвет белым ?

ну и соотвесвенно (если вдруг я понял правильно),
можно сделать так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
void __fastcall TForm1::Edit1Enter(TObject *Sender)
{
 if (dynamic_cast<TEdit*>(Sender))
   {
       dynamic_cast<TEdit&>(*Sender).Color = clWhite;
   }
}

 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32561391
Вот именно что заранее неизвесто что Tedit.
Это может быть и CheckBox1 и Datepicker.

Подскажите плиз.
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32561437
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хмм ну тогда только если так ...


void __fastcall TForm1::Edit1Enter(TObject *Sender)
{
if (dynamic_cast<TEdit*>(Sender))
{
dynamic_cast<TEdit&>(*Sender).Color = clWhite;
}
if (dynamic_cast<TCheckBox*>(Sender))
{
dynamic_cast<TCheckBox&>(*Sender).Color = clWhite;
}
...
}


 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32561459
Извините, но все эти головные боли были сделаны чтобы не перечислять
все классы объектов.
На Дельфи это выглядит как в начале и никаких проблем.
Может есть аналог но на Билдере?
Можно и switch (case) при худшем случае.
Но обидно если нельзя.
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32561641
Artemkaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CBuilder написан на Дельфи поэтому может он и урезанный.
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32561680
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что за глуппости ?


 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32562199
АлиДуба
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну что никто не знает ответ.
Может помучить еще или сразу ответить?
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32562385
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2чайник

тебе уже сто раз показали правильный ответ

TControl *ctrl = dynamic_cast<TControl *>(Sender);
if( NULL != ctrl )
ctrl->Color = clWhite;

причем ответ на С++ будет всегда короче и проще чем на дельфи
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32562453
Спасибо что мозги мне правляете я же чайник,
но и Ваш вылетает с ошибкой. Может по памяти пишите.
Неужели нет под рукой билдера?
Спасибо буду ждать еще, может кто пояснит.
:(

CBuilder5
E2247 'TControl::Color' is not accessible
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32562500
334455
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Слушай замучил ты всех.
Читай книжки.

Попробуй результат dynamic_cast(...) сохранить. в аа например
аа = dynamic_cast(...) ;
аа->Color=бэлий
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32562513
Получается никто не знает ответа.
В дельфи запроста, а здесь ни хрена.
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32562580
Сдаюсь, вот окончательно, больше ничего не получается.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
void __fastcall TForm1::Edit1Enter(TObject *Sender)
{

if (dynamic_cast<TEdit*>(Sender))
   ((TEdit*)Sender)->Color=clYellow;

if (dynamic_cast<TCheckBox*>(Sender))
   ((TCheckBox*)Sender)->Color=clYellow;

}
// ---------------------------------------------------------------------------
 
void __fastcall TForm1::Edit1Exit(TObject *Sender)
{
if (dynamic_cast<TEdit*>(Sender))
   ((TEdit*)Sender)->Color=clWhite;

if (dynamic_cast<TCheckBox*>(Sender))
   ((TCheckBox*)Sender)->Color=clWhite;
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32562588
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не должно вылетать с ошибкой. все у тебя написано правильно.

Я так весьма регулярно делаю
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32563090
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Lepsik
да просто у класса TControl нету метода color


 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32564483
АБВГДЭЮЯ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не метод, а свойство.
Пробовал код под Дельфи все катит. На билдере глючит.
Значит ребята из Борланда что то намудрили.
Странно.
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32565051
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Намекаю: SetOrdProp
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32565216
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2АБВГДЭЮЯ
угу оговорился :)

 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32568325
kbk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
kbk
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
void __fastcall TForm1::StaticText1Click(TObject *Sender)
{
class THack : public TControl
{
public:
  __property Color;
};
TControl* my=dynamic_cast<TControl*>(Sender);
if (my) ((THack*)my)->Color=clWhite;
}
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32568521
Надо же.
Ребят попадаются очень даже башаковитые.
Очень интересно. Спасибо буду юзать.
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32570490
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2JibSkeart
--да просто у класса TControl нету метода color

Всю жизнь был. А вот то что некоторые свойств из них не для изменения (в отличие от Delphi), что приходится использовать непрямые методы говорит о кривых руках программистов Borland или пользоваться пропертями Color в классах ниже где они открыты, что я согласен бывает не совсем удобно.

-------------------
TControl::Color
Specifies the background color of the control.

__property Graphics::TColor Color = {read=FColor, write=SetColor, stored=IsColorStored, default=-2147483643 };

Description

Use Color to read or change the background color of the control.

If a control's ParentColor property is true, then changing the Color property of the control's parent automatically changes the Color property of the control. When the value of the Color property is changed, the control's ParentColor property is automatically set to false.
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32571006
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Lepsik
Хммм , а что он у меня кричал что нету такой проперти Color ...
хотя может я просто очепятался когда пробовал :)

 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32571011
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОдноглазыйНадо же.
Ребят попадаются очень даже башаковитые.
Очень интересно. Спасибо буду юзать.

Да несомнено , я бы просто не догодался бы так сделать :)
хотя как знать ...
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32578965
LAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У компонентов есть метод InheritsFrom, только пишется там все несколько навороченно:

if(Sender->InheritsFrom(__classid(TControl)))
{
.....
}
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32579028
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2LAlex
Будем знать :)


 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32735207
Vladimir O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поднимаем старые темы. Почему код не работает? Пробовал просто писать Color, как в предыдущих письмах. Компилиться, а изменения не происходит... BCB6. Известно, что Сендер всегда TButton

Код: plaintext
1.
2.
3.
4.
5.
6.
    class TBut2 : public TControl
    {
    public:
      __property Font;
    };
    TControl* but=dynamic_cast<TControl*>(Sender);
    if (but) ((TBut2*)but)->Font->Color = clWhite;
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32737262
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в отладчике смотреть надо.
...
Рейтинг: 0 / 0
Помогите с Дельфи на CBuilder перевести
    #32737635
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vladimir OПоднимаем старые темы. Почему код не работает? Пробовал просто писать Color, как в предыдущих письмах. Компилиться, а изменения не происходит... BCB6. Известно, что Сендер всегда TButton

Код: plaintext
1.
2.
3.
4.
5.
6.
    class TBut2 : public TControl
    {
    public:
      __property Font;
    };
    TControl* but=dynamic_cast<TControl*>(Sender);
    if (but) ((TBut2*)but)->Font->Color = clWhite;


или сделать так

Код: plaintext
1.
2.
3.
4.
 if (dynamic_cast<TBut2*>(Sender))
 {
    dynamic_cast<TBut2*>(Sender)->Font->Color = clWhile;
 }
...
Рейтинг: 0 / 0
35 сообщений из 35, показаны все 2 страниц
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите с Дельфи на CBuilder перевести
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]