Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 11.12.2015
Сообщений: 50

Как извлечь строку из Listbox'a? Почему цикл не работает?

13.12.2015, 02:24. Показов 1517. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1) Как из листбокса выделить строку, и по нажатию кнопки чтобы извлеклась эта строка(в текстовый файл)?

2) Цикл работает неправильно:
1. при "==" не находит ни одного значения
2. при "=" считает, что все значения массива являются "da"


Дано: ar[2][0]="da";

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void __fastcall TForm1::Button4Click(TObject *Sender)
{
for (int r=0; r<5; r++)
        {
                if (ar[r][0] == "da")
                {
                FILE * fo;
                fo = fopen("Start.bat","a+");
                fprintf(fo," %d",ar[r][1]);
                fclose(fo);
                }
        }
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.12.2015, 02:24
Ответы с готовыми решениями:

Почему не работает цикл [B]do{}while(.)[/B], если вводить строку с пробелом?
Доброго времени суток! Рассматриваю пример из книги Лафоре (ниже). Программа как бы работает, но если вводить имя из двух слов(Имя...

Почему цикл работает не так, как ожидается?
Двумя способами реализовал цикл, который увеличивает годовую зарплату на 10% при нажатии 'y' до тех пор пока не будет введен символ 'n', но...

Заменить первую строку ListBoxa
Здравствуйте! Подскажите пожалуйста как в ListBox заменить первую строку на значение из текстбокса?

14
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
13.12.2015, 10:35
ar - это что? Какой тип?
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,245
13.12.2015, 10:39
Лучший ответ Сообщение было отмечено Strelok372 как решение

Решение

Цитата Сообщение от Strelok372 Посмотреть сообщение
if (ar[r][0] == "da")
C++
1
if ( strcmp(ar[r],"da")==0 )
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
13.12.2015, 10:49
zss, а что тогда в fprintf() c [1]?
0
0 / 0 / 0
Регистрация: 11.12.2015
Сообщений: 50
13.12.2015, 14:17  [ТС]
ar - это что? Какой тип?
Двумерный массив
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
13.12.2015, 14:43
Я вижу, что массив. Тип там какой?
0
0 / 0 / 0
Регистрация: 11.12.2015
Сообщений: 50
13.12.2015, 15:05  [ТС]
Цитата Сообщение от nmcf Посмотреть сообщение
Я вижу, что массив. Тип там какой?
Char
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
13.12.2015, 15:40
Тогда что делает printf()? Выводит код буквы a?
0
0 / 0 / 0
Регистрация: 11.12.2015
Сообщений: 50
13.12.2015, 17:44  [ТС]
Цитата Сообщение от nmcf Посмотреть сообщение
Тогда что делает printf()? Выводит код буквы a?
Ну, да
Значения второго столбца массива, если в первом столбце стоит "da"
[0][1]
[1][1]
[2][1]
[3][1]
[4][1]
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
13.12.2015, 17:54
Он трёхмерный, что ли? Второе измерение - это символы 'd', 'a' и т. д. В чём тут смысл?
0
0 / 0 / 0
Регистрация: 11.12.2015
Сообщений: 50
13.12.2015, 19:45  [ТС]
Цитата Сообщение от nmcf Посмотреть сообщение
Он трёхмерный, что ли? Второе измерение - это символы 'd', 'a' и т. д. В чём тут смысл?
C++
1
char* ar[5][2]={ {"net", "qwe.wad"}, {"net", "qwe.wad"}, {"net", "qwe.wad"}, {"net", "qwe.wad"}, {"net", "qwe.wad"} };
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
13.12.2015, 19:48
Так зачем ты строку выводишь с параметром %d, который для чисел?
0
0 / 0 / 0
Регистрация: 11.12.2015
Сообщений: 50
13.12.2015, 21:06  [ТС]
Цитата Сообщение от nmcf Посмотреть сообщение
Так зачем ты строку выводишь с параметром %d, который для чисел?
я, думаешь, знаю?)
у меня опыт лишь в консольных числовых заданиях из универа
и вообще, проблема не в этом ведь
но какой тогда указатель надо для char'a?
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
13.12.2015, 21:16
%s
Ты древние функции используешь, как раз консольные - должен разбираться.
0
0 / 0 / 0
Регистрация: 11.12.2015
Сообщений: 50
14.12.2015, 23:41  [ТС]
Может кто-нибудь помочь с первым пунктом?

Добавлено через 41 минуту
Всем спасибо, решение нашлось само
Может кому будет полезно:
C++
1
2
3
4
5
6
7
AnsiString s=ListBox1->Items->Strings[ListBox1->ItemIndex];
 
String Patch = StringReplace(ExtractFilePath(ParamStr(0)), "\\.", "",
TReplaceFlags() << rfReplaceAll);
 
TIniFile *ini = new TIniFile(Patch+"options.ini");
ini->WriteString("Maps", "current", s);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.12.2015, 23:41
Помогаю со студенческими работами здесь

Почему не работает цикл while
&lt;?php $_hwid = $_GET; define('_HOST','localhost'); define('_LOGIN','rot'); define('_PASS',''); $DB = 'vktools'; $TABLE = 'Key';...

Почему не работает цикл
Добрый день всем. Я хочу сделать скрипт, который в тексте будет находить слова, где присутствуют заглавные буквы и перед заглавной буквой...

Почему не работает цикл?
Добрый день! Не могу разобраться почему не работает цикл public class InFor { void inFor() { double u; int i,...

Почему не работает цикл for
У меня не работает первый цикл for, хотя вроде ошибки нигде найти не могу. То есть программа должна вывести все цифры чисел от 1345 до...

Почему не работает цикл?
Задача: открыт счёт, содержащий z руб. В начале каждого следующего месяца на него переводят y руб. Хранимая сумма ежемесячно нарастает на...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных выбран регистр накопления, в. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru