Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Присваивание значения из компонента Еdit 
:(
    Опции темы
vmf18
Дата 28.11.2007, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 28.11.2007

Репутация: нет
Всего: нет



Моя цель: на форме 3 компонента Еdit. В первом пользователь вводит значение переменной i, во втором Edit'e вводит значение переменной n. В третьем вводит массив чисел из n переменных(ввел первое число а[1], появляется следующий компонент Еdit и вводится второе число а[2] и т.д.). Цель программы: вывести i элемент из массива (ну в какой нибудь Label). Я даже нашел подобное решение в этом FAQ'e (у pdbq была такая же проблема), но остается загадкой как выводить это значение ведь компонент Edit создается только по ходу работы...
И еще: я только пересел на Builder и стардаю от нехватки знаний... Посоветуйте пожалуйста какие нибудь книги, сайты. Очень тяжело... Плиз smile


Вот часть кода программы:
в .h

    void __fastcall EnterDown( TObject * Sender,WORD &Key,
          TShiftState Shift);
    int EditsCount;

в .cpp

__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
    EditsCount = 1;
    Edit1->Tag = 0;
    Edit1->OnKeyDown = EnterDown;
}
void __fastcall TForm1::EnterDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
    if( Key == 13 )   {
        TEdit * Pressed = ( (TEdit *) Sender );
        if( Pressed->Tag == EditsCount - 1) {
            TEdit * NewEdit = new TEdit( Handle );
            NewEdit->Name = "Edit" + AnsiString( EditsCount );
            NewEdit->Parent = this;
            NewEdit->Tag = EditsCount;
            NewEdit->OnKeyDown = EnterDown;
            NewEdit->Left = Pressed->Left;
            NewEdit->Top = Pressed->Top + 20;
            NewEdit->Visible = true;
            NewEdit->SetFocus();
            EditsCount++;
        }
    }
}


PM MAIL   Вверх
TROFI
Дата 28.11.2007, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 26.10.2006
Где: ТВЕРЬ

Репутация: нет
Всего: нет



Данный код найдет елемент  Edit10 и выведет его содержимое

Код

 TObject *FindEdit;
 FindEdit = FindChildControl("Edit10");

 if (FindEdit!=NULL)
 {
  ShowMessage(((TEdit *)FindEdit)->Text);
 }


Значение поиска можешь формировать программно, по индексу

Книг по Builderu, как и многих других - смотри здесь http://www.4read.org/category/computers/

Конкретно для изучения:

Программирование в C++ Builder 6 (рекомендую есть все для базового изучения среды и компонентов C++Buider)
http://rapidshare.com/files/3563853/progra...c_builder_6.rar


C++Builder 6. Справочное пособие. Книга 1. Язык С++
http://rapidshare.com/files/21673763/arkha...noe_posobie.rar

C++ Builder в задачах и примерах
http://rapidshare.com/files/18839539/c_bui...i_primerakh.rar

C++ Builder: Книга рецептов
http://rapidshare.com/files/14875138/c_bui...ga_receptov.rar


да, можно еще при создании элементов Edit заносить в массив указателей

пример

Код

  TEdit *spisok[3] = {NULL, NULL, NULL};

  spisok[0] = (TEdit *) Sender;
  spisok[1] = (TEdit *) Sender;
  spisok[3] = (TEdit *) Sender;


потом перебирать, и если элемент массива не равен NULL, выводить значение   spisok[0]->Text;


Это сообщение отредактировал(а) TROFI - 28.11.2007, 16:26
PM MAIL ICQ   Вверх
vmf18
Дата 30.11.2007, 08:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 28.11.2007

Репутация: нет
Всего: нет



Спасибо!!! Все прекрасно работает!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0420 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.