Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];

Вниз

Резка txt файла...   Найти похожие ветки 

 
vigo   (2004-09-20 10:56) [0]

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


 
TUser ©   (2004-09-20 10:57) [1]

TStringList + код, который определит, что в данной строке есть именно дата.


 
ssk ©   (2004-09-20 11:40) [2]

TStringList здесь не нужен. достаточно Readln, Writeln, AssignFile и CloseFile.


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

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


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

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


 
Jeer ©   (2004-09-20 12:06) [5]

А почитать Pascal ?


 
GuAV ©   (2004-09-20 12:30) [6]


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

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


 
TUser ©   (2004-09-20 12:34) [7]


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

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


 
ssk ©   (2004-09-20 13:04) [8]

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


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


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

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


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

У тебя внутренности текстового файла хоть как-то структурированы или навалены в одну большую кучу без пробелов и переходов строк?
Дата в каком формате задаётся?
Например еслиу тебя каждая новая дата идёт с новой строки и имеет формат "%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 14:13) [11]

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


 
TUser ©   (2004-09-20 14:19) [12]


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

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


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

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


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

Pos + F1


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

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


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

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


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

{строка - 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
... и т.п.


 
ssk ©   (2004-09-20 15:48) [18]

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


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

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


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

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

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


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

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


 
Anatoly Podgoretsky ©   (2004-09-20 16:11) [22]

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



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.046 c
8-1085232886
Вадим
2004-05-22 17:34
2004.10.03
Декодирование DTFM


8-1089100257
Сергей Г
2004-07-06 11:50
2004.10.03
Частота и длительность звука


1-1095663358
TAN_K
2004-09-20 10:55
2004.10.03
Клавиша < Enter> и Edit в модальной форме


4-1092757634
Александр1
2004-08-17 19:47
2004.10.03
Работа с дисками!


4-1092083186
B4rr4cuda
2004-08-10 00:26
2004.10.03
BitMap пункты в TPopUpMenu, а точнее их прорисовка...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский