|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.07.2009, 09:47 | #1 |
Пользователь
Регистрация: 09.07.2009
Сообщений: 22
|
Delphi 7. Работа с файлами
Вот такая задача:
Есть исходный файл формата: текст текст текст 6920000;-1.06;0.00;0.00;0.00;0.00;-1.06;-227.06;0.00 6920000;-1.06;0.00;0.00;0.00;0.00;-1.06;-227.06;0.00 6920000;-1.06;0.00;0.00;0.00;0.00;-1.06;-227.06;0.00 6920000;-1.06;0.00;0.00;0.00;0.00;-1.06;-227.06;0.00 Нужно из этого файла сформировать текстовый файл с разделителями ; формата: #текст SUMM #текст #текст TYPE 6920000;какой то текст,6920000;6920000;227.06; ------------- Из первого файла из всех строк нужно начать разбор с 3-ей строки, т.е. пропустить текст, взять число из первого столбца (6920000), и из 8-го (-227.06). Из 8-го сделать из отрицательного положительное (если положительное, то сделать отрицательное). В выходной файл нужно вывести первой строкой: #любой текст SUMM (SUMM - сумма из 8-го столбца с измененными значениями (+/-) ) Вторую строку сформировать как просто #текст Третью строку сделать следующим образом, чтобы выводилось: #текст TYPE (TYPE - значение, выбираемое из ComboBox) Ниже первым столбиком проставить значения из первого столбца исходного файла(6920000), во второй столбец записать какой то текст, и значение из первого столбца(текст, 6920000). В третий столбец поставить значения из первого столбца исходного файла(6920000), в 4-ый столбец поставить перевернутое число из 8-го столбца исходного файла (-227.06). Вот как реализовать данный вид программы? |
09.07.2009, 10:01 | #2 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Можно загнать файл в какой-нибудь список - TStringList, TMemo, TStrings, TRichEdit - и там уже выбирать и издеваться над понравившимися строками.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
09.07.2009, 11:07 | #3 |
Форумчанин
Регистрация: 12.02.2007
Сообщений: 360
|
readln ам в помощь! Считываете строку в переменную, а потом делаете с ними чего хотите... Или можно создать вообще массив строк таким образом и работать с индексами:
Код:
Последний раз редактировалось Stilet; 09.07.2009 в 11:30. |
09.07.2009, 12:09 | #4 |
Пользователь
Регистрация: 09.07.2009
Сообщений: 22
|
А как проверить, что исходный файл имеет именно такой формат:
текст текст текст 6920000;-1.06;0.00;0.00;0.00;0.00;-1.06;-227.06;0.00 т.е. первые три строки именно текстовые, а четвертая имеет формат, представленный выше.. |
09.07.2009, 12:18 | #5 |
Форумчанин
Регистрация: 12.02.2007
Сообщений: 360
|
А что вы понимаете под текст? А на счет цифр - if not (x[i] in ['0'..'9','-', char(vk_back)]) then
|
09.07.2009, 12:42 | #6 |
Пользователь
Регистрация: 09.07.2009
Сообщений: 22
|
Вы учитываете разделители между цифрами?
------ Под текстом я имею заголовок текстового файла, представленный в виде трех строк, например, построчно: 1. Файл: file.txt 2. Файл отправлен Васей 3. Файл получен Ваней 4. 6920000;-1.06;0.00;0.00;0.00;0.00;-1.06;-227.06;0.00 ...... и т.д. все строки после 4-ой имеют аналогичный формат 4-ой строки. |
09.07.2009, 14:07 | #7 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Возможно в первых 3-х строках не встречаются символы последующих? Скажем ;? Тогда достаточно данный символ там не найти. Способ не точный, но учитывая имеющуюся информацию вполне сойдет.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
09.07.2009, 14:23 | #8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
если начиная с четвертой строки идет определенный формат строк
то самое лучшее прочесть эту строку и выделить с нее данные(каждый элемент), если все элементы строки заполненны(например в каждой строке 8 элементов) и строка исходная после извлечения не имеет лишних символов(просто смотря как парсить), то строка наша/верная Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
10.07.2009, 12:25 | #9 |
Пользователь
Регистрация: 09.07.2009
Сообщений: 22
|
А можно небольшой пример кода?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с файлами (Delphi 7) | сер4ей | Помощь студентам | 8 | 12.11.2011 19:11 |
Работа с файлами в Delphi 7 | NeAlSe | Помощь студентам | 11 | 19.11.2010 17:08 |
Delphi-работа с файлами,каталогами | POPOV | Помощь студентам | 6 | 30.11.2007 15:12 |