Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

(Часть 2) Я начинающий, подскажите пожалуйста как...

1
15 декабря 2007 года
kot_
7.3K / / 20.01.2000
Данная тема предназначена для размещения вопросов начинающих программистов.
Прежде чем задать вопрос здесь, вы обязаны использовать
  1. Поиск по форуму, используя ключевые слова из вашего вопроса. Как правильно использовать поиск - читайте здесь
  2. Список наиболее часто задаваемых вопросов (FAQ)
  3. Поиск по предыдущей теме
Учитывайте пожалуйста, что вопрос который лично вам кажется сложным, в большинстве случаев на форуме рассмотрен достаточно подробно. Не соблюдение этих правил, приведет к тому, что ваше сообщение будет удалено, а вы получите нарушение.
Кроме того, прежде чем размещать сообщение, ознакомьтесь с правилами.
При размещении вопросов начинающих помимо указанной темы, будет выдаваться нарушение, а тема удаляться.
Страницы:
57K
24 января 2010 года
Khusniddin
2 / / 24.01.2010
Если бы я знал я бы помог
У меня беда похуже
54K
24 января 2010 года
m0hze
19 / / 22.01.2010
Цитата: Khusniddin
Если бы я знал я бы помог
У меня беда похуже



Блиа, эо форум тролей,или тематический форум? :/

253
24 января 2010 года
Proger_XP
1.5K / / 07.08.2004
Цитата:

Блиа, эо форум тролей,или тематический форум? :/


Кто бы говорил...

54K
24 января 2010 года
m0hze
19 / / 22.01.2010
Цитата: Proger_XP
Кто бы говорил...



Я любезно задаю вопросы,и за отвты на них благодарю, если вам этого мало,что ж,я готов оплачивать консультации при личной встрече,вполне серьезно.Если нет,то к чему вы сейчас называете меня троллем? Человек не то что,не ответил на вопрос,так еще и какую то фигню, написал в ответ.Я же никак не могу определить нормально размер этого листа с записями.Перечитал 2 раза раздел с массивами в книге Архангельского, там дано 2 способа.

 
Код:
ARRAYSIZE();
sizeof(array) / sizeof(array[index]);

Ни с тем,ни с другим работать не получается.Вот я и спрашиваю совета у знающих людей,а не галантных молодых людей прошу проходить мимо.
246
24 января 2010 года
GIZMO
1.8K / / 30.07.2004
Цитата: m0hze
New Question!
Вопрос очень простой :)
TStringList. Считываю им файл.Как бы мне теперь узнать кол-во строчек? Ну или вообще,как узнать колво строчер,для связки:
 
Код:
for(..i++){ list->String; }

Что то вроде ф-ции count() в пхп.Может быть сть предопределенный метод?


ты все же читай справку иногда...
и завязывай фигню спрашивать...

54K
24 января 2010 года
m0hze
19 / / 22.01.2010
Итак,пытаюсь освоить главу по отлавливанию ошибок в приложении.Вро де бы все хорошо, но есть одно но.Вот такой способ,представленный в книге:
 
Код:
catch(Exception *ex)
        {
                Application->MessageBox(ex->Message, "Warning!", MB_OK | MB_ICONWARNING);

        }

Не работает.Ну ествественно перед этим блоком,идет блок try{}.Ошибка при компиляции:
 
Код:
[C++ Error] Unit1.cpp(49): E2034 Cannot convert 'AnsiString' to 'const char *'
[C++ Error] Unit1.cpp(49): E2342 Type mismatch in parameter 'Text' (wanted 'const char *', got 'AnsiString')
7
24 января 2010 года
@pixo $oft
3.4K / / 20.09.2006
Вам текст ошибки перевести?:)

Сконвертируйте вашу строку ("Warning!") в заданный тип.Вернее,задайте константу,как-то так вроде
 
Код:
const char *Msg="Warning!"
Могу ошибаться,поищите по форуму
1
24 января 2010 года
kot_
7.3K / / 20.01.2000
Цитата: m0hze
Итак,пытаюсь освоить главу по отлавливанию ошибок в приложении.Вро де бы все хорошо, но есть одно но.Вот такой способ,представленный в книге:
 
Код:
catch(Exception *ex)
        {
                Application->MessageBox(ex->Message, "Warning!", MB_OK | MB_ICONWARNING);

        }

Не работает.Ну ествественно перед этим блоком,идет блок try{}.Ошибка при компиляции:
 
Код:
[C++ Error] Unit1.cpp(49): E2034 Cannot convert 'AnsiString' to 'const char *'
[C++ Error] Unit1.cpp(49): E2342 Type mismatch in parameter 'Text' (wanted 'const char *', got 'AnsiString')


Возмите другую книгу. Выбирайте именно для тупых пез... вам однозначно поможет, вне зависимости от наличия между ногами предмета. Ибо намекает.

54K
24 января 2010 года
m0hze
19 / / 22.01.2010
Цитата: kot_
Возмите другую книгу. Выбирайте именно для тупых пез... вам однозначно поможет, вне зависимости от наличия между ногами предмета. Ибо намекает.



Ололо,спасибо КЕП.
Да,знаю что заябую, но чтож поделать? если в книге нет примера по реализаци ичего либо,прихоиться тыкаться в гугел,а раз гугел молчит иду сюда.
А про тупую п*зду,да,впечатляет.

253
24 января 2010 года
Proger_XP
1.5K / / 07.08.2004
Цитата:
Возмите другую книгу. Выбирайте именно для тупых пез... вам однозначно поможет, вне зависимости от наличия между ногами предмета. Ибо намекает.


Это было грубо...

1
24 января 2010 года
kot_
7.3K / / 20.01.2000
Цитата: m0hze
Ололо,спасибо КЕП.
Да,знаю что заябую, но чтож поделать? если в книге нет примера по реализаци ичего либо,прихоиться тыкаться в гугел,а раз гугел молчит иду сюда.
А про тупую п*зду,да,впечатляет.


ну так и если гугел не помагает - то одназначно - для их родимых. Потому как и на нашем форуме есть ответы на данные вопросы. Причем не однократно. У класса AnsiString это метод c_str()

Цитата:
Это было грубо...


да. однозначно. Сознательно и целенаправленно. А што? Мне наравится.... в конце концов, мне нравятся тупые песды - ибо тут профит! иногда. :) шутка.

54K
25 января 2010 года
m0hze
19 / / 22.01.2010
Цитата: kot_
ну так и если гугел не помагает - то одназначно - для их родимых. Потому как и на нашем форуме есть ответы на данные вопросы. Причем не однократно. У класса AnsiString это метод c_str()

да. однозначно. Сознательно и целенаправленно. А што? Мне наравится.... в конце концов, мне нравятся тупые песды - ибо тут профит! иногда. :) шутка.


До я не обижаюсь,сам иногда бывает чувствую себя троллем.Сознаюсь :)
Грубый ответ - лучше молчания,я так считаю.
Спасибо за ответ кстати,запоздалый,но все же ответ.
Теперь хотел бы спросить,что можно почитать про такую штуку(и есть ли такое вообще), дизайн в C++ Builder.Хм,даже не знаю как объяснить,но думаю что программными методами,такого можно добиться.
Как пример - показ формы,но без окантовки вообще,то есть, того места где у нас [_][-][X].Вообще вез обрисовки.Или например круглые кнопки,про картинки почитал уже,потренировался.А как например сделать кнопку такого же вида,как и в теме установленной на пк,а не эти дефолтные кнопочке? Интерисуют статьи,обзоры,книги,и прочее,где можно почитать об этом.
И еще один мего вопрос. У каждого Яп наверно есть свой сайт с манами, обяснениями ф-ций,и прочим.Например у php => php.net.Так вот,есть ли такой сайт у ЦппБилдера? Можно даже не сайт,а офф версию,например в виде справки *.chm.Конечно желательно на русском языке,но я вполне прочитаю и на иврите.Спасибо,думаю в этот раз вопрос поставлен ниипически корректно,и тупой пелоткой меня не обзовут ^_^
/* И пока ходил за чаем вспомнил.ООП.Юзаю я его,понима методы\классы\объекты, но вот если честно самого преимущества не понимаю.Возможно есть литературка.которая на пальцах объяснит чем его преминение так кошерно? Глупо,но все же лучше сразу сознаться,иначе думаю потом проблем будет больше.*/

1
25 января 2010 года
kot_
7.3K / / 20.01.2000
Цитата: m0hze
До я не обижаюсь,сам иногда бывает чувствую себя троллем.Сознаюсь :)
Грубый ответ - лучше молчания,я так считаю.
Спасибо за ответ кстати,запоздалый,но все же ответ.
Теперь хотел бы спросить,что можно почитать про такую штуку(и есть ли такое вообще), дизайн в C++ Builder.Хм,даже не знаю как объяснить,но думаю что программными методами,такого можно добиться.
Как пример - показ формы,но без окантовки вообще,то есть, того места где у нас [_][-][X].Вообще вез обрисовки.Или например круглые кнопки,про картинки почитал уже,потренировался.А как например сделать кнопку такого же вида,как и в теме установленной на пк,а не эти дефолтные кнопочке? Интерисуют статьи,обзоры,книги,и прочее,где можно почитать об этом.
И еще один мего вопрос. У каждого Яп наверно есть свой сайт с манами, обяснениями ф-ций,и прочим.Например у php => php.net.Так вот,есть ли такой сайт у ЦппБилдера? Можно даже не сайт,а офф версию,например в виде справки *.chm.Конечно желательно на русском языке,но я вполне прочитаю и на иврите.Спасибо,думаю в этот раз вопрос поставлен ниипически корректно,и тупой пелоткой меня не обзовут ^_^
/* И пока ходил за чаем вспомнил.ООП.Юзаю я его,понима методы\классы\объекты, но вот если честно самого преимущества не понимаю.Возможно есть литературка.которая на пальцах объяснит чем его преминение так кошерно? Глупо,но все же лучше сразу сознаться,иначе думаю потом проблем будет больше.*/



для билдера есть/был достаточно большое сообщество. И даже если здесь задавать вопросы - то можно внятные ответы получить.
Для окна - это стиль BorderSyle, тип bsToolWindows

54K
25 января 2010 года
m0hze
19 / / 22.01.2010
Цитата: kot_
для билдера есть/был достаточно большое сообщество. И даже если здесь задавать вопросы - то можно внятные ответы получить.
Для окна - это стиль BorderSyle, тип bsToolWindows



Экстрасенс напряг моск,но не смог получить адреса этого самого сообщества :)
Загуглил - что то неахти,везде тупиковые ссылки :(

57K
25 января 2010 года
virtyaluk
1 / / 25.01.2010
Я начинающий, подскажите как сделать так чтоб при нажатии на кнопку
открывался, например, файл справки - file.chm по пути - c:\\windows\help\.
Код:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button1Click(TObject *Sender)
{
[color=red]что здесь нада писать??[/color]
}
//---------------------------------------------------------------------------
54K
25 января 2010 года
m0hze
19 / / 22.01.2010
С горем на пополам установил boost для работы с регулярками.
При компиляции проэкта пише:
 
Код:
[Linker Fatal Error] Fatal: Unable to open file 'LIBBOOST_REGEX-BCB-MT-1_42.LIB'

Помоему все файлы лежат на месте.Я уже хз что делать,нужны регулярки,но никак не могу настроить :(
Такого файла действительно нет,есть libboost_wserialization-vc90-mt-s-1_42.lib Возможно не для той версии? Или что это может быть?
Возможно проблема в этом:
Код:
Microsoft Windows [Version 6.1.7600]
(c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.

C:\Users\m0hze>Cd ../../

C:\>cd boost11

C:\boost11>bjam "-sTOOLS=borland" install
WARNING: No python installation configured and autoconfiguration
         failed.  See http://www.boost.org/libs/python/doc/building.html
         for configuration instructions or pass --without-python to
         suppress this message and silently skip all Boost.Python targets
warning: No toolsets are configured.
warning: Configuring default toolset "msvc".
warning: If the default is wrong, your build may not work correctly.
warning: Use the "toolset=xxxxx" option to override our guess.
warning: For more configuration options, please consult
warning: http://boost.org/boost-build2/doc/html/bbv2/advanced/configuration.html

warning: Building Boost.Regex with the optional Unicode/ICU support disabled.
note: Please refer to the Boost.Regex documentation for more information
note: this is a strictly optional feature.
warning: Graph library does not contain MPI-based parallel components.
note: to enable them, add "using mpi ;" to your user-config.jam
warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this message.
Skipping build of:  libs/python/build/boost_python  <build>no in common properti
es
^C
C:\boost11>

При установке пишет вот такую ерунду.
ОС - Windows 7
Собирал во по этому факу:
http://forum.codenet.ru/showpost.php?p=123042&postcount=3
Ребята,мозг сломал.Никак не хочет работать!
246
25 января 2010 года
GIZMO
1.8K / / 30.07.2004
Цитата: virtyaluk
Я начинающий, подскажите как сделать так чтоб при нажатии на кнопку
открывался, например, файл справки - file.chm по пути - c:\\windows\help\.


функция HtmlHelp
не забываем пользоваться Поиском

54K
25 января 2010 года
m0hze
19 / / 22.01.2010
Установил boost. Поставил 1.32.Она встала как нужно.Как я понял,там что то в новых версиях с переменными окружения в виндовс 7 не то.
Теперь вот вопрос.
 
Код:
regex expression("<div>(.+)<\/div>");
        AnsiString str("<div>Hello world!</div>");
        cmatch what;
        if(regex_search(str.c_str(), what, expression)){
                ShowMessage(what[1].first);
        }

Почему в результате присутствует </div>? Этого там быть просто не должно.Либо я вывожу не ту ччасть массива? Большое спасибо.
54K
25 января 2010 года
m0hze
19 / / 22.01.2010
Сорудил код,и он даже работает :)
Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
        using namespace std;
        using namespace boost;
        TIdHTTP *http = new TIdHTTP(NULL);
        regex expression("<td align=\"center\"><i>(.+?)<\\/i><\\/td>");
        AnsiString str = http->Get("http://site.net/browse.php?search=&#209;&#234;&#240;&#232;&#239;&#242;&incldead=0&cat=0");
        cmatch what;
        string name;
        if(regex_match(str.c_str(), what, expression)){
                name.assign(what[1].first, what[1].second);
                ShowMessage(name.c_str());
        }
}

Но если в php есть preg_match_all(); которая сгребает ВСЕ вхождения,то тут такого нет :(
Прочитал http://habrahabr.ru/blogs/cpp/64226/ того что искал там не нашел.Внимание вопрос господа,как вывести на экран,пускай в Memo, все вхождения?
54K
26 января 2010 года
m0hze
19 / / 22.01.2010
Цитата: m0hze
Сорудил код,и он даже работает :)
Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
        using namespace std;
        using namespace boost;
        TIdHTTP *http = new TIdHTTP(NULL);
        regex expression("<td align=\"center\"><i>(.+?)<\\/i><\\/td>");
        AnsiString str = http->Get("http://site.net/browse.php?search=&#209;&#234;&#240;&#232;&#239;&#242;&incldead=0&cat=0");
        cmatch what;
        string name;
        if(regex_match(str.c_str(), what, expression)){
                name.assign(what[1].first, what[1].second);
                ShowMessage(name.c_str());
        }
}

Но если в php есть preg_match_all(); которая сгребает ВСЕ вхождения,то тут такого нет :(
Прочитал http://habrahabr.ru/blogs/cpp/64226/ того что искал там не нашел.Внимание вопрос господа,как вывести на экран,пускай в Memo, все вхождения?



Блин,парни, действительно не могу разобраться с этой регуляркой.Пытался заюзать regex_match, но он вообще не находит ничего.А мне нужно поймать все вхождения.Мануалы не помогли :(

841
30 января 2010 года
_nic
199 / / 29.07.2006
Как реализовать частичную прозрачность формы?Т.е. что бы прозрачность от формы не наследовалась на дочерние компоненты.Может кто нибудь хотя бы подскажет в каком оконном сообщение контролу приходят данные(включая альфу) для его отрисовки?
57K
01 февраля 2010 года
Novu
1 / / 27.01.2010
Помогите.
Начал учить программирование по книге "Занимательно программирование С++" С.Симоновичь,Г.Евсеев.
Делаю всё по книге.Прога С++ Build 2007.В конце программирования у меня незагораеться кнопка Run.может я что то не доделал.
36K
11 февраля 2010 года
Overmax2
63 / / 11.02.2010
Вот код функции, как обратится к объекту Image, который расположен на вкладке PageControl, из другой функции?
Или это нереально, так как Image создаётся внутри функции и после её выполнения к нему уже не обратиться?

void TForm1::newTabImage(String titl,int index){
TTabSheet *TabSheet = new TTabSheet(PageControl1);
TabSheet->PageControl = PageControl1;
TabSheet->Caption = titl;
PageControl1->ActivePageIndex=index;
TImage *Img=new TImage(PageControl1);
Img->Align=alCustom;
Img->Parent=PageControl1->Pages[index];
Img->Align=alClient;
Img->Canvas->MoveTo(100,100);
Img->Canvas->LineTo(200,200);
this->index++;
}
1.9K
17 февраля 2010 года
George22
91 / / 09.12.2007
Щас меня в порошок сотрут:

Код:
TImage *ptr;

void __fastcall TForm1::Button1Click(TObject *Sender)
{
TImage *Img=new TImage(this);
Img->Parent= this;
Img->Align=alClient;
ptr =Img;
}
//-------------------------------------------------------



//-------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
ptr->Canvas->MoveTo(100,100);
ptr->Canvas->LineTo(200,200);
}
59K
16 марта 2010 года
Кодер
2 / / 16.03.2010
написал консольную прогу, отослал другу, а она у него не запускается, требует библиотеку CC3266.dll . почему так происходит? разве компилятор не должен все нужные куски из библиотек в прогу засовывать, если нет что нужно сделать в билдере так чтобы в программе было все что нужно и она не требовала на других компах библиотек?
11
16 марта 2010 года
oxotnik333
2.9K / / 03.08.2007
Цитата: Кодер
написал консольную прогу, отослал другу, а она у него не запускается, требует библиотеку CC3266.dll . почему так происходит? разве компилятор не должен все нужные куски из библиотек в прогу засовывать, если нет что нужно сделать в билдере так чтобы в программе было все что нужно и она не требовала на других компах библиотек?


http://forum.codenet.ru/showpost.php?p=124385&postcount=2

1.9K
16 марта 2010 года
George22
91 / / 09.12.2007
Возникла необходимость средствами Builder C++
нарисовать график поверхности. TChart что-то не очень подходит.
Думаю, что нужно копать в сторону OpenGL или
использовать Matlab совместно с C++. Может кто делал
что-нибудь подобное, please, помогите с примерчиком.
59K
16 марта 2010 года
Кодер
2 / / 16.03.2010


спасибо большое! :)

59K
19 марта 2010 года
mulatoschka1990
2 / / 19.03.2010
Здравствуйте!!Создан скрипт в Firebirdи теперь необходимо програмно реализовать базу данных!Все это сделано, но необходимо случайным образом выбирать запись из базы данных и вывоить в таблицу причем выводить по одной записи через некоторый период времени, запись я случайны образом выбрала, а вот как периодически вставлять запись в таблицу...не получается((подскажите пожалуйста....
Цитата:
//DataModule2->IBTable1->Insert();
DataModule2->IBQuery1->Active=false;
DataModule2->IBQuery1->SQL->Clear();
DataModule2->IBQuery1->SQL->Text = "SELECT FIRST 1 * FROM RF ORDER BY RAND()";
DataModule2->IBQuery1->Open();
DataModule2->IBQuery1->Active=

true;

59K
19 марта 2010 года
mulatoschka1990
2 / / 19.03.2010
Здравствуйте!!Создан скрипт в Firebird и теперь необходимо програмно реализовать базу данных в С++!Все это сделано, но необходимо случайным образом выбирать запись из базы данных и вывоить в таблицу причем выводить по одной записи через некоторый период времени, запись я случайны образом выбрала, а вот как периодически вставлять запись в таблицу...не получается((подскажите пожалуйста....
Цитата:
//DataModule2->IBTable1->Insert();
DataModule2->IBQuery1->Active=false;
DataModule2->IBQuery1->SQL->Clear();
DataModule2->IBQuery1->SQL->Text = "SELECT FIRST 1 * FROM RF ORDER BY RAND()";
DataModule2->IBQuery1->Open();
DataModule2->IBQuery1->Active=true;

36K
22 марта 2010 года
Overmax2
63 / / 11.02.2010
Народ тупой вопрос как изменить шрифт текста выводимого на Image, в основном нужно сделать его жирным.

Вот это почему то не помогает:
 
Код:
Img->Canvas->Font->Style.Contains(fsBold);
Img->Canvas->Font->Style << fsBold;
60K
21 апреля 2010 года
~GVS
1 / / 21.04.2010
Помогите пожалуйста... Задача не сложная, я чёта с типами туплю...

Решить с помощью динамических массивов.(С++) В тексте найти все слова, в которых буквы упорядочены в порядке, обратном алфавитному.(zona, tok)

И решить эту же задачу с помощью классов, строк, стандартных функций и динамических массивов.
57K
25 апреля 2010 года
BeatCheat
10 / / 09.04.2010
есть вопрос, как заменить эту писанину:

Код:
switch (NS)
         {
          case 1  :  if (S.SubString(13,1) == 0)
                     {
                      ShapeA0->Brush->Color = clWhite;
                      ShapeA1->Brush->Color = clTeal;
                      ShapeA2->Brush->Color = clTeal;
                      ShapeA3->Brush->Color = clTeal;
                      ShapeA4->Brush->Color = clTeal;
                      ShapeA5->Brush->Color = clTeal;
                      ShapeA6->Brush->Color = clTeal;
                      ShapeA7->Brush->Color = clWhite;
                     };
                     if (S.SubString(13,1) == 1)
                     {
                      ShapeA0->Brush->Color = clWhite;
                      ShapeA1->Brush->Color = clWhite;
                      ShapeA2->Brush->Color = clWhite;
                      ShapeA3->Brush->Color = clWhite;
                      ShapeA4->Brush->Color = clTeal;
                      ShapeA5->Brush->Color = clTeal;
                      ShapeA6->Brush->Color = clWhite;
                      ShapeA7->Brush->Color = clWhite;
                     }; и т.д.

switch (NS)
         {
          case 1  :  if (S.SubString(13,1) == 0)
                     {
                      ShapeB0->Brush->Color = clWhite;
                      ShapeB1->Brush->Color = clTeal;
                      ShapeB2->Brush->Color = clTeal;
                      ShapeB3->Brush->Color = clTeal;
                      ShapeB4->Brush->Color = clTeal;
                      ShapeB5->Brush->Color = clTeal;
                      ShapeB6->Brush->Color = clTeal;
                      ShapeB7->Brush->Color = clWhite;
                     };
                     if (S.SubString(13,1) == 1)
                     {
                      ShapeB0->Brush->Color = clWhite;
                      ShapeB1->Brush->Color = clWhite;
                      ShapeB2->Brush->Color = clWhite;
                      ShapeB3->Brush->Color = clWhite;
                      ShapeB4->Brush->Color = clTeal;
                      ShapeB5->Brush->Color = clTeal;
                      ShapeB6->Brush->Color = clWhite;
                      ShapeB7->Brush->Color = clWhite;
                     }; и т.д.


Как сделать что-то вроде этого:

 
Код:
i = 'A';

                      Shape0->Brush->Color = clWhite;
                      Shape1->Brush->Color = clTeal;
                      Shape2->Brush->Color = clTeal;
                      Shape3->Brush->Color = clTeal;
                      Shape4->Brush->Color = clTeal;
                      Shape5->Brush->Color = clTeal;
                      Shape6->Brush->Color = clTeal;
                      Shape7->Brush->Color = clWhite;
57K
26 апреля 2010 года
BeatCheat
10 / / 09.04.2010
ответьте, пожалуйста, на вопрос что выше.
536
26 апреля 2010 года
alex-kniaz
382 / / 07.08.2008
видимо никак
но достаточно
Код:
switch (NS)
         {
          case 1  :  if (S.SubString(13,1) == 0)
                     {
                      ShapeA0->Brush->Color = clWhite;
                      ShapeA1->Brush->Color = clTeal;
                      ShapeA2->Brush->Color = clTeal;
                      ShapeA3->Brush->Color = clTeal;
                      ShapeA4->Brush->Color = clTeal;
                      ShapeA5->Brush->Color = clTeal;
                      ShapeA6->Brush->Color = clTeal;
                      ShapeA7->Brush->Color = clWhite;
                     };
                     if (S.SubString(13,1) == 1)
                     {
                      ShapeA0->Brush->Color = clWhite;
                      ShapeA1->Brush->Color = clWhite;
                      ShapeA2->Brush->Color = clWhite;
                      ShapeA3->Brush->Color = clWhite;
                      ShapeA4->Brush->Color = clTeal;
                      ShapeA5->Brush->Color = clTeal;
                      ShapeA6->Brush->Color = clWhite;
                      ShapeA7->Brush->Color = clWhite;
                     }; и т.д.
30K
26 апреля 2010 года
VerZer
15 / / 04.08.2007
BeatCheat,
Код:
TShape *shp;
    int i = 'A';

    shp = dynamic_cast<TShape *>(FindComponent("Shape"+String((char)i)+"1"));
    if (shp) shp->Brush->Color = clWhite;
    shp = dynamic_cast<TShape *>(FindComponent("Shape"+String((char)i)+"2"));
    if (shp) shp->Brush->Color = clTeal;
    shp = dynamic_cast<TShape *>(FindComponent("Shape"+String((char)i)+"3"));
    if (shp) shp->Brush->Color = clWhite;
    shp = dynamic_cast<TShape *>(FindComponent("Shape"+String((char)i)+"4"));
    if (shp) shp->Brush->Color = clTeal;
    shp = dynamic_cast<TShape *>(FindComponent("Shape"+String((char)i)+"5"));
    if (shp) shp->Brush->Color = clTeal;
    shp = dynamic_cast<TShape *>(FindComponent("Shape"+String((char)i)+"6"));
    if (shp) shp->Brush->Color = clTeal;
    shp = dynamic_cast<TShape *>(FindComponent("Shape"+String((char)i)+"7"));
    if (shp) shp->Brush->Color = clTeal;


а лучше завести для указателей нормальный контейнер нужной размерности
57K
26 апреля 2010 года
BeatCheat
10 / / 09.04.2010
Цитата: VerZer
BeatCheat,
Код:
TShape *shp;
    int i = 'A';

    shp = dynamic_cast<TShape *>(FindComponent("Shape"+String((char)i)+"1"));
    if (shp) shp->Brush->Color = clWhite;
    shp = dynamic_cast<TShape *>(FindComponent("Shape"+String((char)i)+"2"));
    if (shp) shp->Brush->Color = clTeal;
    shp = dynamic_cast<TShape *>(FindComponent("Shape"+String((char)i)+"3"));
    if (shp) shp->Brush->Color = clWhite;
    shp = dynamic_cast<TShape *>(FindComponent("Shape"+String((char)i)+"4"));
    if (shp) shp->Brush->Color = clTeal;
    shp = dynamic_cast<TShape *>(FindComponent("Shape"+String((char)i)+"5"));
    if (shp) shp->Brush->Color = clTeal;
    shp = dynamic_cast<TShape *>(FindComponent("Shape"+String((char)i)+"6"));
    if (shp) shp->Brush->Color = clTeal;
    shp = dynamic_cast<TShape *>(FindComponent("Shape"+String((char)i)+"7"));
    if (shp) shp->Brush->Color = clTeal;


а лучше завести для указателей нормальный контейнер нужной размерности



как я понял тут shape создаются динамически, а как их обьединить если они уже существуют?

Код:
class TForm1 : public TForm
{
__published:    // IDE-managed Components
        TShape *ShapeA0;
        TShape *ShapeA1;
        TShape *ShapeA2;
        TShape *ShapeA3;
        TShape *ShapeA4;
        TShape *ShapeA5;
        TShape *ShapeA6;
        TShape *ShapeA7;
        TShape *ShapeB0;
        TShape *ShapeB1;
        TShape *ShapeB2;
        TShape *ShapeB3;
        TShape *ShapeB4;
        TShape *ShapeB5;
        TShape *ShapeB6;
        TShape *ShapeB7;
        TShape *ShapeC0;
        TShape *ShapeC1;
        TShape *ShapeC2;
        TShape *ShapeC3;
        TShape *ShapeC4;
        TShape *ShapeC5;
        TShape *ShapeC6;
        TShape *ShapeC7;
        TShape *ShapeD0;
        TShape *ShapeD1;
        TShape *ShapeD2;
        TShape *ShapeD3;
        TShape *ShapeD4;
        TShape *ShapeD5;
        TShape *ShapeD6;
        TShape *ShapeD7;
        TShape *ShapeE0;
        TShape *ShapeE1;
        TShape *ShapeE2;
        TShape *ShapeE3;
        TShape *ShapeE4;
        TShape *ShapeE5;
        TShape *ShapeE6;
        TShape *ShapeE7;
        и т.д.


я из shap'ов сделал восьмисегментные индикаторы, а их 5 штук, вот и появилась необходимость их как-то обьединить чтобы было проще к ним обращаться.
30K
27 апреля 2010 года
VerZer
15 / / 04.08.2007
Цитата: BeatCheat
как я понял тут shape создаются динамически, а как их обьединить если они уже существуют?


нет, не динамически. FindComponent ищет уже существующие компоненты по их имени

кстати, велосипед уже изобрели

57K
27 апреля 2010 года
BeatCheat
10 / / 09.04.2010
Цитата: VerZer
нет, не динамически. FindComponent ищет уже существующие компоненты по их имени

кстати, велосипед уже изобрели


Спасибо.

58K
30 апреля 2010 года
hello_amigo
2 / / 30.03.2010
Помогите создать отчёт в Ворде, но не через закладки, потому что слишком много информации, а последствием заполнения таблицы в Ворде.

Нашёл пример вот такой http://www.codenet.ru/progr/delphi/quest022.php но но Делфи.

Заранее благодарен.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог