|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.01.2009, 17:37 | #1 |
Пользователь
Регистрация: 23.01.2009
Сообщений: 32
|
вывод информации из файла
Здравствуйте Уважаемое сообщество. У меня такая проблема, Нужно из текстового файла вывести все временные метки и вещественные цыфры
Я использую такой код Код:
Код:
Информация должна выводится из такого текстового файлаhttp://files.mail.ru/KMVYFB -Юг-О --АL--АL-г 23/01/2009 15:40:21 =================================== ==================== | -=АА--КL | -ё---г--КL -=АА--КL | -=L-¦¬БгLЛ-КL -=АА--КL | | Ю=АЕ-г--гЮ | Ю=АЕ-г, Б---/Г=А | Ю=АЕ-г, Б--- | |-------------|---------------------|------------------------| | -Б=¦ L-- N1 | 80.0 | 69989.4 | | -Б=¦ L-- N2 | 0.0 | 571833.8 | | -Б=¦ L-- N3 | 0.0 | 167899.1 | | -Б=¦ L-- + | 0.0 | 32586.9 | | ¦?- N1 | 0.0 | 10585.1 | | ¦?- + | 30.5 | 158009.1 | | ?Б=- N1 | 0.0 | 0.0 | | ?Б=- N2 | 0.0 | 0.0 | | ?Б=- + | 0.0 | 0.0 | |------------------------------------------------------------| | ¦L-Б- -+ | 0.8001 | | ¦L-Б- ¦?- | 0.5980 | | ¦L-Б- ?Б=- | 0.0000 | =================================== ===================== -Юг-О --АL--АL-г 23/01/2009 15:40:24 =================================== ===================== | -=АА--КL | -ё---г--КL -=АА--КL | -=L-¦¬БгLЛ-КL -=АА--КL | | Ю=АЕ-г--гЮ | Ю=АЕ-г, Б---/Г=А | Ю=АЕ-г, Б--- | |-------------|---------------------|------------------------| | -Б=¦ L-- N1 | 80.0 | 69989.4 | | -Б=¦ L-- N2 | 0.0 | 571833.8 | | -Б=¦ L-- N3 | 0.0 | 167899.1 | | -Б=¦ L-- + | 0.0 | 32586.9 | | ¦?- N1 | 0.0 | 10585.1 | | ¦?- + | 30.5 | 158009.1 | | ?Б=- N1 | 0.0 | 0.0 | | ?Б=- N2 | 0.0 | 0.0 | | ?Б=- + | 0.0 | 0.0 | |------------------------------------------------------------| | ¦L-Б- -+ | 0.8001 | | ¦L-Б- ¦?- | 0.5980 | | ¦L-Б- ?Б=- | 0.0000 | =================================== ===================== Последний раз редактировалось pautina; 25.01.2009 в 17:41. |
25.01.2009, 18:03 | #2 |
C++ & PHP & Asm
Форумчанин
Регистрация: 06.12.2008
Сообщений: 300
|
|
25.01.2009, 18:44 | #3 |
Пользователь
Регистрация: 23.01.2009
Сообщений: 32
|
Да я знаю что это уже 2-ая тема, мне нужно найти решение, хотел получить совет, сам я как только ни пробовал, нужна Ваша професиональная помощь. Почему не выводятся все цыфры, код приведён выше,
Последний раз редактировалось pautina; 25.01.2009 в 18:47. |
25.01.2009, 18:57 | #4 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
А если сформировать вначале нужный вид? В каком-нибудь невидимом листбоксе? (Почему я довольно часто рекомендую листбокс - просто это один из приемов быстрой отладки программы - сразу все видно, пока Visible:=True... Потом можно просто сделать Visible:=False или поизвращаться со Strings). Ошибку можно будет исправлять в визуальном режиме - это ведь удобней? Последний раз редактировалось mihali4; 25.01.2009 в 19:13. |
|
25.01.2009, 19:10 | #5 |
Пользователь
Регистрация: 23.01.2009
Сообщений: 32
|
Как в этом коде мне поизвращатся над string, что изменить
Код:
|
25.01.2009, 19:20 | #6 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Очень "понятно"...
Вы не могли бы привести хотя бы строку выходного файла в том виде, который вам надобен? Что-то меня сомнения берут, что вам нужен отдельно файл с перечислением временных меток и отдельно - файл с показаниями... Кстати, в том виде, как вы привели исходные данные, там весьма трудно что-либо понять, окромя цифирей... Может, у вас кодировка не та? Посмотрите сами на ваш первый пост... Или под "временными метками" подразумеваются значения, предшествующие значениям с плавающей точкой? Но там и строки из разного количества данных (если принять за разделитель вертикальную черту). Или это - то, что у вас получается? Конкретизируйте, пожалуйста, что у вас есть и что нужно получить. Пока вы это сформулировали весьма смутно. Последний раз редактировалось mihali4; 25.01.2009 в 19:25. |
25.01.2009, 19:29 | #7 |
Пользователь
Регистрация: 23.01.2009
Сообщений: 32
|
на входе такой текстовый файл
-Юг-О --АL--АL-г 23/01/2009 15:40:21 =================================== =========================== | -=АА--КL | -ё---г--КL -=АА--КL | -=L-¦¬БгLЛ-КL -=АА--КL | | Ю=АЕ-г--гЮ | Ю=АЕ-г, Б---/Г=А | Ю=АЕ-г, Б--- | |-------------|---------------------|------------------------| | -Б=¦ L-- N1 | 80.0 | 69989.4 | | -Б=¦ L-- N2 | 0.0 | 571833.8 | | -Б=¦ L-- N3 | 0.0 | 167899.1 | | -Б=¦ L-- + | 0.0 | 32586.9 | | ¦?- N1 | 0.0 | 10585.1 | | ¦?- + | 30.5 | 158009.1 | | ?Б=- N1 | 0.0 | 0.0 | | ?Б=- N2 | 0.0 | 0.0 | | ?Б=- + | 0.0 | 0.0 | |------------------------------------------------------------| | ¦L-Б- -+ | 0.8001 | | ¦L-Б- ¦?- | 0.5980 | | ¦L-Б- ?Б=- | 0.0000 | =================================== =========================== ... ... После применеия программы я должен на выходе получить 23/01/2009 15:40:21 80.0 69989.4 0.0 571833.8 0.0 167899.1 0.0 32586.9 0.0 10585.1 30.5 158009.1 0.0 0.0 0.0 0.0 0.0 0.0 0.8001 0.5980 0.0000 А я получаю только временные метки, цыфры не выводятся, (если нужно поменять кодировку как это сделать, хотя даже без кодировки временные метки и цыфры нужными символами выводятся) -Юг-О --АL--АL-г 23/01/2009 15:40:21 - это то что выходит сейчас То что на входе можете посмотреть по адресу http://files.mail.ru/KMVYFB Что посоветуете? Последний раз редактировалось pautina; 25.01.2009 в 19:50. |
25.01.2009, 19:50 | #8 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Давайте попробуем так.
Есть такая функция POS и ее "сестричка" POSEX (уверен, что вы с ними прекрасно знакомы, я просто обосновываю предложение своей "методы"). При помощи второй можно посчитать общее количество разделителей в строке, верно? Если оно равно 5 - берем данные после третьего разделителя (а ведь именно его позицию в строке нам и дает POSEX), и выбираем все символы до следующего разделителя (тривиальная задача, вы с ней прекрасно знакомы). Ну, а если оно равно 4, то берем данные после второго разделителя... Все это "зафигачиваем" в листбокс, смотрим - правильно ли получилось, и если правильно - жмем пимпу и записываем в файл ( вы тоже это прекрасно знаете - ListBox1.Items.SaveToFile() Вот и все. Увы, по другому вряд ли получится - нужна предварительная обработка исходных данных - формат-то разный в разных строках... |
25.01.2009, 19:58 | #9 |
Пользователь
Регистрация: 23.01.2009
Сообщений: 32
|
Количество разделителей в одном месте 4 в другом 3 нам нужно взять данные после 2-го разделителя.
Код:
Последний раз редактировалось pautina; 25.01.2009 в 20:22. |
25.01.2009, 20:39 | #10 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
Хорошо. Мне не лень. Ввводим POSEX, ставим курсор куда-нибудь внутри этого слова и жмем F1. В открывшемся окошке хэлпа все подробнеько, правда по-аглицки... Но программер без "аглицкого" - как инвалид-сапожник без рук... Так вот - пока находим разделитель - он есть. Не нашли - нету. А посчитать... Не верю, что вы этого не умеете. |
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
вывод информации о компьютере и операционной системы (Turbo С 3.0, Borland C++) | sniket | Общие вопросы C/C++ | 0 | 09.12.2008 21:37 |
вывод на экран информации о маршрутах, начинающихся или кончающихся в пункте | Sergeo_89 | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 07.12.2008 21:00 |
Вывод информации в Memo из файла. | Фибер Оптик | Общие вопросы Delphi | 11 | 04.05.2007 00:13 |