Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 11.01.2016
Сообщений: 14
1

Как изменить выбранную строку в ListBox

14.01.2016, 11:03. Показов 3492. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день,есть ListBox и есть Edit, так же кнопки Добавить(координаты вершин, через запятую),Удалить и Изменить . У меня кнопка изменить выглядит так :
C++
1
2
3
4
{
if(ListBox1->ItemIndex<0) return;
ListBox1->Items->Strings[ListBox1->ItemIndex]=Edit1->Text;
}
Можно изменить любую строчку,но вопрос такой, возможно ли сделать так чтобы при выборе строки в ЛистБоксе -> появляется окно (типа Edit), чтобы изменить эту строчку? Или еще ,как поставить ограничения в Edit, на то,чтобы
пользователь не мог добавить одну координату.
(Edit можно вводить только цифры через запятую, поставил ограничения на вторую запятую, но можно добавить одну координату)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.01.2016, 11:03
Ответы с готовыми решениями:

Как удалить выбранную строчку из ListBox
Есть такой код, при нажатии на кнопку вылазит Listbox1 и показывает все файлы которые находяться на...

CheckListBox - как выделить цветом выбранную строку
Добрый день. Выводится текст в CheckListBox, и мне нужно выделить цветом одну строку, на которую я...

Как изменить цвета элементов в ListBox?
хотелось бы сделать что то похожее, как на картинке

Как удалить пустую строку в ListBox?
Как удалить пустую строку в ListBox?

13
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
14.01.2016, 11:39 2
Покажи пример, как у тебя должны быть записаны координаты?
0
0 / 0 / 0
Регистрация: 11.01.2016
Сообщений: 14
14.01.2016, 11:50  [ТС] 3
В Edit они записываются так : 135,456 -> добавить; 54,462 -> добавить и т.д (но можно записать и 5647 -> Добавить - что не правильно)
В ListBox они записываются построчно
0
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
14.01.2016, 12:25 4
Цитата Сообщение от Litrein Посмотреть сообщение
но можно записать и 5647 -> Добавить - что не правильно
C++
1
2
3
4
5
6
На кнопку Добавить
if(!Edit1->Text.Pos(","))
{
  ShowMessage("Установите разделитель координат");
  return;
}
0
0 / 0 / 0
Регистрация: 11.01.2016
Сообщений: 14
14.01.2016, 12:31  [ТС] 5
Спасибо

Добавлено через 3 минуты
Сообщение выводит,но все равно записывает в ListBox, и когда просто вписываешь координаты правильно он выдает сообщение
0
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
14.01.2016, 13:40 6
Цитата Сообщение от Litrein Посмотреть сообщение
Сообщение выводит,но все равно записывает в ListBox, и когда просто вписываешь координаты правильно он выдает сообщение
Выложи код куда ты этот кусок кода записываешь?
0
0 / 0 / 0
Регистрация: 11.01.2016
Сообщений: 14
14.01.2016, 14:06  [ТС] 7
C++
1
2
3
4
5
6
7
8
9
10
11
void __fastcall TForm1::ButtonAddClick(TObject *Sender)
{
ListBox1->Items->Add(Edit1->Text);
Edit1->Clear();
 
if(!Edit1->Text.Pos(","))
{
  ShowMessage("Установите разделитель координат");
  return;
}
}
0
Практикантроп
4826 / 2718 / 526
Регистрация: 23.09.2011
Сообщений: 5,777
14.01.2016, 15:49 8
Бр-р-р! ЗанОсите любую информацию с эдита в бокс, потом его стираете, - а потом анализируете по предложенному варианту?!! Круто.
0
0 / 0 / 0
Регистрация: 11.01.2016
Сообщений: 14
14.01.2016, 16:20  [ТС] 9
И что? Он чистит то,что было в Edit. Бокс-то тут причем. Еще раз объясняю, что сообщение выводит, но и записывает неправильный вариант в ListBox, а мне это не нужно.
0
Практикантроп
4826 / 2718 / 526
Регистрация: 23.09.2011
Сообщений: 5,777
14.01.2016, 16:24 10
Цитата Сообщение от Litrein Посмотреть сообщение
Еще раз объясняю, что сообщение выводит
А я еще раз и объяснять не возьмусь. Вам хотят помочь, но вы в упор не видите очевидного... . Что тут можно советовать?!
0
0 / 0 / 0
Регистрация: 11.01.2016
Сообщений: 14
14.01.2016, 16:34  [ТС] 11
Для,Вас,мб и очевидные,а людям,которые только начинают изучение,пока не очень.

Добавлено через 5 минут
Или,Вы,из разряда тех людей,которые любят на светофорах сигналить машине,впереди, со знаком ! в треугольнике.
0
Практикантроп
4826 / 2718 / 526
Регистрация: 23.09.2011
Сообщений: 5,777
14.01.2016, 16:46 12
Вы понимаете, что строки вашего кода выполняются последовательно? Как тогда вы объясните такое их расположение...
Цитата Сообщение от Litrein Посмотреть сообщение
Edit1->Clear();
if(!Edit1->Text.Pos(","))
Если вы переставите в начало код, предложенный камрадом Sasha, то занесение в бокс будет фильтроваться этим кодом, т.е. как и хотелось.

Добавлено через 4 минуты
Вас, возможно, термин return озадачил (решили, что в конце должен быть), но он означает выход из функции при выполнении условия анализа, а если это условие не выполнилось, то обрабатываются следующие строки.
0
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
14.01.2016, 22:49 13
C++
1
2
3
4
5
6
7
8
9
10
11
void __fastcall TForm1::ButtonAddClick(TObject *Sender)
{
 
if(!Edit1->Text.Pos(","))
{
  ShowMessage("Установите разделитель координат");
  return;
}
ListBox1->Items->Add(Edit1->Text);
Edit1->Clear();
}
0
0 / 0 / 0
Регистрация: 11.01.2016
Сообщений: 14
15.01.2016, 11:46  [ТС] 14
nick42, Спасибо большое, да,Вы,правы, меня немного смутил return. Теперь осознал свою глупость.
0
15.01.2016, 11:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.01.2016, 11:46
Помогаю со студенческими работами здесь

Как узнать последнюю строку из ListBox
Может вопрос покажется глупым но мне нужно придать переменой типа int значение из последней строки...

Как извлечь строку из Listbox'a? Почему цикл не работает?
1) Как из листбокса выделить строку, и по нажатию кнопки чтобы извлеклась эта строка(в текстовый...

Как подсчитать вхождение каждого из символов в строку ListBox
Подскажите пожалуйста, каким образом можно подсчитать количество каждого символа в строке ListBox!...

Как можно записать строку из компонента ListBox в переменную?
Доброго времени суток! Подскажите пожалуйста, как можно записать строку из компонента ListBox в...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru