Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Резка txt файла... [D7, Win2k]


Страницы:   1 2

vigo ©   (2004-09-20 10:56:00) 

Народ, подскажите как лучше сделать программу, которая "резала" бы текстовый файл на несколько файлов по дате: Текстовый файл содержит дату и после неё текст; затем дата, текст и т.д. (Сколько дат - столько файлов).


Anatoly Podgoretsky   (2004-09-20 16:11:00) [1]

А ты прочитал советы выше, другие вряд ли будут, поскольку этих достаточно, можно конечно написать свои функции поиска подстроки, но зачем.


vigo   (2004-09-20 16:06:00) [2]

ладно... буду сам мучаться


ssk   (2004-09-20 15:58:00) [3]

а это что? ты сам в вопросе написал:

как лучше сделать программу, которая "резала" бы текстовый файл на несколько файлов по дате: Текстовый файл содержит датуи после неё текст;


vigo   (2004-09-20 15:53:00) [4]

ищу не дату, а символосочетание "АТМ" в строке


ssk   (2004-09-20 15:48:00) [5]

ну и где здесь даты?


vigo   (2004-09-20 15:45:00) [6]

{строка - 1}
Cycle Name|       ATM00160                                 SOC
{строка - 2}
1        |      |     |      0       |    0     |     0    
{строка - 3}
|     0   |     0     |Not Configu
{строка - 4}
2        |      |     |      0       |    0     |     0    
{строка - 5}
|     0   |     0     |Not Configu
... и т.п.


alless   (2004-09-20 15:29:00) [7]

Дайте чясть файла, посмотреть что и как там написаны данные


TUser   (2004-09-20 15:16:00) [8]

if not (pos() =0) then
if pos <> 0 then


Amoeba   (2004-09-20 14:41:00) [9]

Pos + F1


vigo   (2004-09-20 14:38:00) [10]

подскажите как найти искомые символы в строке...?
заранее спасибо!


TUser   (2004-09-20 14:19:00) [11]


> if s:= 'like %ATM%' then

Вот это адназначно - переписать. Тут тебе не sql


vigo   (2004-09-20 14:13:00) [12]

Прошу прощения ищу не дату, а символосочетание "АТМ" в строке. Сам текст представляет что-то вроде кучи похожих друг на друга таблиц следующих друг за другом. Пытаюсь в строке найти это символосочетание "АТМ", следующие несколько строк представляют собой нужную таблицу.
(извиняюсь за смутные объяснения...)


П7   (2004-09-20 13:58:00) [13]

У тебя внутренности текстового файла хоть как-то структурированы или навалены в одну большую кучу без пробелов и переходов строк?
Дата в каком формате задаётся?
Например еслиу тебя каждая новая дата идёт с новой строки и имеет формат "%ii.%ii.%iiii Тут уже может идти текст", т.е. три числа разделённые точкой, при этом первые 2 занимают по 2 символа а 3 - 4 символа, и текст начинается после пробела, то тогда можно делать следующим образом:
1. Открываем файл на чтение
2. Если конец файла ->7, иначе Считываем строку
3. Если 3 и 6 символы - точки "." [if (str[3] = '.') and (str[6] = '.') ], то ->4, иначе ->6
4. Если первые 2 символа преобразуются в число от 1 до 31, если 4 и 5 символы преобразуются в число от 1 до 12, если символы от 7 до 10 преобразуются в число то ->5, иначе ->6
5. Закрываем открытый ранее файл. Открываем новый файл с нужным именем, например именем может стать полученная дата
6. Пишем полученную строку в файл и ->2
7. Закрываем файл

В общем я думаю алгоритм достаточно ясен... Парсинг строки не более...


vigo   (2004-09-20 13:24:00) [14]

дата - некий текст в строке...
Пытаюсь найти текст в строке, содержащую три (АТМ) символа
while not eof(f) do begin
readln(f, s);
if s:= 'like %ATM%' then
{пытаюсь запихнуть эту строку пока в listbox}
then listbox1.Items.Add(s);
Мучаюсь... :-)
Подскажите люди добрая


ssk   (2004-09-20 13:04:00) [15]

TUser
а Rewrite у меня на корпусе нет. А что это :?)


везет же некоторым! у меня даже Reset'а нет ;-)


TUser   (2004-09-20 12:34:00) [16]


> ну еще Reset c Rewrite'ом :-)

Reset я знаю, а Rewrite у меня на корпусе нет. А что это :?)


GuAV   (2004-09-20 12:30:00) [17]


> А как именно делать поиск даты?

вобщем, зависит от того что есть дата.


Jeer   (2004-09-20 12:06:00) [18]

А почитать Pascal ?


vigo   (2004-09-20 11:51:00) [19]

А как именно делать поиск даты?
(var f: textfile;
...)
Assignfile(f,opendialog.FileName);
reset(f);
while not eof(f) do begin
readln
Пока нет опыта поиска построчно...


ssk   (2004-09-20 11:42:00) [20]

ну еще Reset c Rewrite'ом :-)


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо