11 / 11 / 6
Регистрация: 03.04.2011
Сообщений: 631

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

27.11.2011, 16:09. Показов 25954. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru