Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.28;
Скачать: CL | DM;

Вниз

Текстовый файл и delphi   Найти похожие ветки 

 
vit ©   (2003-08-15 12:50) [0]

Подскажите как решить проблему!
Требуеться произвести поиск в текстовом файле чисел в заданном диапозоне. Допустим необходимо найти число от 1000 до 3000 к примеру(1300) и вывести в поле memo1 расположенное на форме это число и следующие за ним (символы.слова.числа) до конца строки. Найти следущее число (1300)и следующие символы за ним до конца строки добавить в поле memo в следущюю строку и так пока небудет достигнут конец файла!


 
Anatoly Podgoretsky ©   (2003-08-15 12:59) [1]

Readlm + pos


 
still ©   (2003-08-15 13:00) [2]

Число может быть в любом месте строки? Должно ли оно чем-то отделяться от соседних символов (напр. пробелами)?


 
Андрей Сенченко ©   (2003-08-15 13:05) [3]

Алгоритм можно попытаться пошукать тут
http://algolist.manual.ru/search/index.php

Но в целом - по Подгорецкому
Readln + pos.


 
vit ©   (2003-08-15 13:06) [4]

Да число находиться в любом месте но не далее 80 символа в строке
От соседних символов должно отделяться как раз пробелами.


 
KPP   (2003-08-15 13:11) [5]

ничего лучше не придумаешь, как считывать посторочно или весь файл в пямять, а потом POS
// Readlm - хорошо звучит.. ;)


 
vit ©   (2003-08-15 13:19) [6]

сенкс!


 
Serginio212   (2003-08-15 13:24) [7]

Я бы для скорости посоветовал метод Боуера-Мур-Хорспул
http://algolist.manual.ru/search/esearch/horspool.php


 
KPP   (2003-08-15 13:55) [8]

> Serginio212 (15.08.03 13:24) [7]

какой прок от этого алгоритма в данном случае?


 
Serginio999   (2003-08-15 14:41) [9]

>KPP (15.08.03 13:55) [8]
А это в зависимости от того как ты организешь поиск.
Можно вести поиск через буффер, а можно прямо чтением в файле в зависимости от размера поисковой строки. Кроме всего прочего метод Боуера-Мур-Хорспул при определенных условиях во много раз быстрее Pos.



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

Текущий архив: 2003.08.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
3-91979
BoxTer
2003-08-01 09:16
2003.08.28
CommandTimeout в ADO


14-92199
Омлет
2003-08-11 00:12
2003.08.28
Именинники 11 августа.


14-92236
Jean
2003-08-09 23:05
2003.08.28
Модератору :)


6-92137
Александр из Минска
2003-06-07 21:14
2003.08.28
Пересылка файла


8-92134
BDRON
2003-04-30 23:19
2003.08.28
CheckListBox => Winamp