|
1 / 1 / 0
Регистрация: 30.11.2009
Сообщений: 54
|
|||||||||||
Чтение из файла04.12.2009, 10:50. Показов 3009. Ответов 17
Метки нет (Все метки)
В общем, хотелось бы узнать ответ на такую задачку:
Есть текстовый файл, вида: 8795 :8 9874 :5 3456 :7 9745 :5 и т.д Есть переменная N которая равна "3456"(N=3456). Далее необходимо по строчно считать файл, если строка равна переменной N, то выводим в поле edit строку которая находится под 3456 и после знака ( : ) (т.е. поле edit должно быть равно 7), если не нашли совпадений или файл пустой, то выводим в поле edit1 сообщение - "нет совпадений".
Подскажите, как дописать программу? Добавлено через 30 минут
0
|
|||||||||||
| 04.12.2009, 10:50 | |
|
Ответы с готовыми решениями:
17
Как заменить чтение строки из консоли на чтение текстового файла? Чтение чисел из файла. Чтение после конца потока невозможно Чтение файла, чтение названия папки где находится файл, запись данных на PHP |
|
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
|
||||||
| 04.12.2009, 10:57 | ||||||
|
Читать можно например так:
0
|
||||||
|
1 / 1 / 0
Регистрация: 30.11.2009
Сообщений: 54
|
||||||
| 04.12.2009, 11:06 [ТС] | ||||||
|
Да читать, читается, условие кодом не получается написать в тело программы:
Сюда:
0
|
||||||
|
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
|
||||||
| 04.12.2009, 11:14 | ||||||
|
Ну вот один из многих вариантов:
0
|
||||||
|
|
|
| 04.12.2009, 11:30 | |
|
Вот готовый MFC проект по данной проблеме, код очень прост, если возникнут вопросы - отвечу, пока кидаю архив с проетом и скриншоты работы...Как бонус оснастил прогу диалоговым окном выбора файла
0
|
|
|
1 / 1 / 0
Регистрация: 30.11.2009
Сообщений: 54
|
||||||
| 04.12.2009, 12:29 [ТС] | ||||||
|
В общем урезал вашу программу, под тот вариант который нужен был мне
![]() Но видимо не совсем удачно. При виде txt файла: 65 :7 856464 :8 45 :5 Если написать, что переменная N=65 или N=45, то результат выводится правильно 7 или 5, а если N=856464, то этот же результат и выводится вместо нужного 8. Т.е. файл не обязательно должен содержать строки одинаковой длины. И по коду не совсем понятно, где бы найти построчную расшифрофку.
0
|
||||||
|
|
||||||
| 04.12.2009, 12:54 | ||||||
|
Зачем в теле функции вбил int N=856464;???Я специально сделал проект под диалоговый ввод, у меня без сбоев работает всё, убери свои добавления пока. И вводи искомоую константу...(
0
|
||||||
|
1 / 1 / 0
Регистрация: 30.11.2009
Сообщений: 54
|
|
| 04.12.2009, 13:01 [ТС] | |
|
-=ЮрА=- - да в том-то и фишка, что мне не нужно это диалоговое окно, на форму надо чтоб только результат выводился (выводится но не совсем правильно), т.е. столько наворотов не надо, чем проще тем лучше
0
|
|
|
|
||||||
| 04.12.2009, 13:12 | ||||||
|
Давай свой проект выкладывай, я тупо под твой код подгоню, думаю так проще и быстрей будет
![]() Добавлено через 6 минут А вобще вот изменённая под твои замечания функция void ParseFile(LPCTSTR fPath, int N) Просто воткни её в свою программу и забей в неё необходиміе тебе параметры...
0
|
||||||
|
1 / 1 / 0
Регистрация: 30.11.2009
Сообщений: 54
|
|
| 04.12.2009, 13:12 [ТС] | |
|
Мой проект.
0
|
|
|
1 / 1 / 0
Регистрация: 30.11.2009
Сообщений: 54
|
||||||
| 04.12.2009, 13:59 [ТС] | ||||||
|
Оказывается мой обрезок то же работал, я просто txt файл не закрыл и не сохранил
![]() -=ЮрА=-, еще чюток помогешь отточить программку.
Если я ввожу в поле Edit допустим 8, а в файле есть строчка начинающаяся на 8 (например 84561), то программа выдает результат по этой строке, а не должна. Должно быть полное совпадение поля Edit со строкой.
0
|
||||||
|
|
|
| 04.12.2009, 14:50 | |
|
На те строки вообще не обращай внимания, сейчас подумаю как помочь, но программа в этом случае существенно усложниться - теперь при анализе строки нужно будет отталкиваться от того идёт ли символ до или после ':' при этом мне прийдётся ещё учитывать длину искомой строки...
Надо с пол часика на обмозгование...
0
|
|
|
1 / 1 / 0
Регистрация: 30.11.2009
Сообщений: 54
|
|
| 05.12.2009, 11:29 [ТС] | |
|
Может как-то так будет?
N - это значение по которому будет осуществляться поиск. Str - строка с которой производится сравнение. Пока N не будет равно Str, будет выполняться след действие: Считываем строки до знака ( : ), если N не равно Str переходим на следующую строку, т.е. через строку и дальше продолжаем сравнивать N и Str, и т.д. Если нет совпадений, т.е. N не равно Str, пишем в поле на форме, "нет совпадений". Если же N равно Str, то переходим на следующую строку и выводим в поле формы значение стоящее после ( : ).
0
|
|
|
|
|
| 07.12.2009, 15:54 | |
|
Вот доделал, учёл все требования
0
|
|
| 07.12.2009, 15:54 | |
|
Помогаю со студенческими работами здесь
18
Чтение заголовка PCX файла и чтение растровых данных PCX файла Чтение бинарного файла - чтение первых 9 байт Переделать в коде чтение из файла в чтение с клавиатуры
Чтение из файла. Повторное чтение файла Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
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, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|