Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.55/132: Рейтинг темы: голосов - 132, средняя оценка - 4.55
11 / 11 / 6
Регистрация: 03.04.2011
Сообщений: 631

Простенький пример - добавление элементов в ListBox

27.11.2011, 16:09. Показов 25934. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  int i;
  String cout[15]={"chelovek"};
  for (i = 1; i < 10; i++) {
    ListBox1->Items->Add(i+cout);
  }
}
Надо, чтобы после нажатия кнопки в поле листбокс появился такой список
1 chelovek
2 chelovek и так далее
у меня явно тут косяков много в описаннии подскажите как исправить
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.11.2011, 16:09
Ответы с готовыми решениями:

Добавление элементов в ListBox
Доброго времени суток. Нужна помощь. Есть 3 ListBox'a. Допустим в 1-ом LB 2 Записи: admin и user. Мне надо чтобы при выборе в 1-ом LB...

Добавление элементов в ListBox
namespace cm2b { public partial class Form1 : Form { public Form1() { ...

Добавление элементов в ListBox
Доброго времени суток всем! Для автоматизации одного несложного, но нудного процесса на работе пишу небольшую программку. Смысл в том,...

20
wtf!?
 Аватар для Flyer
750 / 281 / 25
Регистрация: 21.05.2010
Сообщений: 732
27.11.2011, 16:17
C++
1
2
3
for(int i=1;i<=15;i++){
ListBox1->Items->Add(IntToStr(i)+" chelovek");
}
так что ли?
Изображения
 
1
11 / 11 / 6
Регистрация: 03.04.2011
Сообщений: 631
27.11.2011, 16:34  [ТС]
а вот чтоб слово вводилось из поля едит
этот код рабочий а нижний где cout char нет, почему? char там вообще ни как не получится применить чтоб работал код?
C++
1
2
3
4
5
6
7
8
9
{
String cout;
int i;
for (i = 1; i < 10; i++) {
cout=Edit1->Text;
ListBox1->Items->Add(IntToStr(i)+cout);
 
}
}
C++
1
2
3
4
5
6
7
8
9
{
char cout;
int i;
for (i = 1; i < 10; i++) {
cout=Edit1->Text;
ListBox1->Items->Add(IntToStr(i)+cout);
 
}
}
0
wtf!?
 Аватар для Flyer
750 / 281 / 25
Регистрация: 21.05.2010
Сообщений: 732
27.11.2011, 16:35
C++
1
2
3
for(int i=1;i<=15;i++){
ListBox1->Items->Add(IntToStr(i)+" "+Edit1->Text);
}
и будет слово с едита.
зачем чар?
0
11 / 11 / 6
Регистрация: 03.04.2011
Сообщений: 631
27.11.2011, 16:55  [ТС]
да не зачем так разные варианты проверяю, рассуждаю больше

Добавлено через 18 минут
C++
1
2
3
4
5
6
7
8
9
{
int i,b; b=2;
for (i = 1; i < 10; i++){
 
b=b*i;
ListBox1->Items->Add("proizvedenie b*i= "+IntToStr(b)+ " " + Edit1->Text );}
 
 
}
А как исправить код чтоб значение b можно было вводить из едит а не инициализировать до цикла
0
wtf!?
 Аватар для Flyer
750 / 281 / 25
Регистрация: 21.05.2010
Сообщений: 732
27.11.2011, 17:03
C++
1
TryStrToInt(Edit2->Text,b);
0
11 / 11 / 6
Регистрация: 03.04.2011
Сообщений: 631
27.11.2011, 17:21  [ТС]
Flyer подскажите,
C++
1
2
3
TryStrToInt эта функия всегда применяется при вводе значения целого? я вроде встречал ее но без приставки Try
И вот еще
IntToStr(b) при выводе  значения типа int обязательно писать функцию IntToStr? прога сама не понимает что это цифры идут если выше тип b объявлен как int?
0
 Аватар для BRcr
4043 / 2333 / 292
Регистрация: 03.02.2011
Сообщений: 5,066
Записей в блоге: 10
27.11.2011, 18:12
TryStrToInt() - всего лишь более удобная и надежная вариация функции StrToInt().

Цитата Сообщение от lexflax Посмотреть сообщение
прога сама не понимает что это цифры идут если выше тип b объявлен как int?
Компилятор прекрасно понимает, что b имеет тип int, раз уж она так объявлена.
Вот только оператору + недосуг заниматься приведением типов, поэтому нужно использовать спец. функции:
Цитата Сообщение от lexflax Посмотреть сообщение
"proizvedenie b*i= "+IntToStr(b)+ " " + Edit1->Text
0
872 / 448 / 35
Регистрация: 25.10.2011
Сообщений: 910
27.11.2011, 20:29
В принципе приведение типа будет в любом случае, но не факт, что это произойдет, так как вы задумали, может вместо числа вставить символ, а может сложить его с предыдущим символом Так что если типы разные, то занимайтесь их приведением самостоятельно. Так же хочу заметить, что TryStrToInt(...) возвращает результат приведения типов, т.е. bool. Но еще может пригодится StrToIntDef(...), которая возвращает значение типа int, и либо это будет конвенктированный число из текста, либо значение по умолчанию, которое вы указали.
0
11 / 11 / 6
Регистрация: 03.04.2011
Сообщений: 631
28.11.2011, 02:24  [ТС]
а есть у кого ссылка где описанны все функции билдера понятно и с примерами на русском языке естествено
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
28.11.2011, 02:29
Цитата Сообщение от lexflax Посмотреть сообщение
а есть у кого
где-то я уже это сегодня слышал... Библиотека VCL и сопутствующие материалы
0
11 / 11 / 6
Регистрация: 03.04.2011
Сообщений: 631
28.11.2011, 15:31  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i,b;
TryStrToInt(Edit1->Text,b);
for (i = 1; i < 10; i++){
 
b=b*i;
 
ListBox1->Items->Add("proizvedenie b*i= "+IntToStr(b)+ " " );}
 
 
}
При нажатии кнопки выдает весь список произведений, а как исправить код чтоб по нажатию выдавало только одно произведение, по второму нажатию второе и так далее...
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
28.11.2011, 15:48
Тогда там цикл ни к чему. Создайте счётчик нажатий как сомножитель и при каждом нажатии на кнопку делайте перемножение на него содержимого поля Edit с инкрементом. Ну и, как говорится, -"возможны варианты".
0
11 / 11 / 6
Регистрация: 03.04.2011
Сообщений: 631
28.11.2011, 15:57  [ТС]
я извиняюсь а можите пример показать а то сам че та не сооброжу никак
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
28.11.2011, 16:40
Ну, пример - так пример...
C++
1
2
3
4
5
6
     static int cnt = 0;
     int b = Edit1->Text.ToIntDef(1);
     cnt++;
     b *= cnt;
//     ListBox1->Clear();    // åñëè íå íóæåí ñïèñîê
     ListBox1->Items->Add("proizvedenie b*i = "+IntToStr(b)+ " " );
0
11 / 11 / 6
Регистрация: 03.04.2011
Сообщений: 631
28.11.2011, 16:48  [ТС]
ну если я правильно ваш код понял то получается вот так мой код
C++
1
2
3
4
5
6
7
{
int i=0,b;
TryStrToInt(Edit1->Text,b);
i=i+1;
b=b*i;
ListBox1->Items->Add("proizvedenie b*i= "+IntToStr(b)+ " " );
}
но тогда при повторном нажатии выдает ту же строку с тем же значением счетчик не изменяется
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
28.11.2011, 18:52
- объявите i статической переменной (в моем скорректированном примере), а так... Вы же её в обработчике нажатия инициализируете, как же она меняться будет?

Добавлено через 2 часа 0 минут
P.S. Но вообще не рекомендую использовать имя i для статической переменной, поскольку это имя стандартно используется как "переменная цикла"; могут возникнуть осложнения.
1
11 / 11 / 6
Регистрация: 03.04.2011
Сообщений: 631
29.11.2011, 03:06  [ТС]
C++
1
2
3
4
5
6
7
8
{
  static int st=0,b;
  TryStrToInt(Edit1->Text,b);
  st=st+1;
  b=b*st;
  ListBox1->Items->Add("proizvedenie b*st= "+IntToStr(b)+ " " );
}
вот так заработало как надо, можите сказать а что static дает , как процесс выполнения происходит с ним и как без него?
 Комментарий модератора 
lexflax, последний раз предупреждаю - используйте тег вставки кода :
не так, как вы делаете: [CPP ][ /CPP]{...} ,
а так, как положено: [CPP ]{...}[ /CPP] .
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
29.11.2011, 10:37
- и ни черта я не понял из всех разъяснений про статическую переменную! Вроде бы создаётся глобальная переменная, но до поры до времени от кого-то прячется, как будто программу пишу не я один, а ещё с десяток вредителей. Я обычно в начале программы (после <__fastcall TForm1::TForm1>) отвожу место для переменных, которые приходится использовать из разных участков программы, то-есть "общих", и по ходу написания программы пополняю его.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
29.11.2011, 11:21
примите за факт, что статическая переменная, это переменная, которую невозможно изменить и трудно потерять , и все будет тип-топ...
Цитата Сообщение от nick42 Посмотреть сообщение
Я обычно в начале программы (после <__fastcall TForm1::TForm1>) отвожу место для переменных,..., и по ходу написания программы пополняю его.
начинаю перенимать опыт ... не подскажете, места сколько оптимально отводить, в среднем ? если не трудно, в квадратных сантиметрах ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.11.2011, 11:21
Помогаю со студенческими работами здесь

Добавление элементов в ListBox
Добрый день, подскажите пожалуйста дан ListBox &lt;asp:ListBox ID=&quot;ListBox1&quot; runat=&quot;server&quot; SelectionMode=&quot;Multiple&quot; &gt; ...

Добавление и удаление элементов из ListBox
Хочу сделать процедуру добавления и удаления елементов в листбокс при нажатии кнопик, но у меня выскакивает такая ошибка. Как ее исправить?...

Добавление элементов в ListBox из файла
Здравствуйте. Помогите пожалуйста решить задачу. Есть программа. Окно Windows Forms. В окне 2 фкладки. На каждой по списку. И есть 2...

Добавление элементов Dictionary в listBox
Здравсвуйте! Нужно создать коллекцию, заполнить ее обьектами другого класа, и вывести все это в листбокс. Вот мой код: private void...

Добавление нескольких элементов в ListBox
Есть код: ListBox1.Items.Add(&quot;1&quot; &amp; &quot;2&quot;) При таком раскладе он добавляет в коллекцию в виде &quot;12&quot; Если делать так: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru