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

Вниз

Подсчет слов совпадающих с данным в текстовом файле   Найти похожие ветки 

 
Sn   (2006-12-28 16:55) [0]

Нужно сделать в Delphi программу, которая должна работать следующим образом:
В поле Edit вводится строка,
затем через OpenDialog открывается текстовый файл,
на Label выводится сколько раз данное слово встречается в файле
нужен только алгоритм, со связкой компонентов проблем нет


 
Elen ©   (2006-12-28 16:58) [1]


> Sn

Загружай тест в ListBox и в цикле до конца ищи слово, увеличивая счетчик.


 
Sn   (2006-12-28 17:02) [2]

можно чуть подробнее... как искать какую функцию использовать?
а если текстовый файл полное собрание сочинений Пушкина например?
тоже загружать?


 
Anatoly Podgoretsky ©   (2006-12-28 17:05) [3]

> Sn  (28.12.2006 17:02:02)  [2]

Для собрания сочинений Пушкина используй базу данных, по одному слову в поле и запрос с Count и Group


 
umbra ©   (2006-12-28 17:09) [4]

загружаете текст в TStrings и в св-ве TStrings.Text ищете нужное сочетание с помощью ф-ции PosEx


 
Sha ©   (2006-12-28 17:40) [5]

Раньше не задумывался, Пушкин больше 2х гигов написал или меньше )


 
umbra ©   (2006-12-28 17:42) [6]

если без черновиков, набросков и комментариев, то точно меньше :)


 
umbra ©   (2006-12-28 17:45) [7]

но вот Льва Толстого я в этом смысле опасаюсь :)


 
Sha ©   (2006-12-28 18:01) [8]

И еще один вопрос остается, а стоило ли грузить в TStrings, а потом искать в Text?
Не проще ли было сразу в строку все зачитать?


 
umbra ©   (2006-12-28 18:20) [9]


> Не проще ли было сразу в строку все зачитать?
>

тогда пришлось бы сделать практически то же, что делается в TStrings.LoadFromFile. И, честно говоря, читая описание задачи, я не рассчитывал даже на Пушкина (о нем еще и речи не было), не говоря уже о Толстом.


 
Sn   (2006-12-28 20:14) [10]

Пушкин в txt 12 МБ.
нет, что-нибудь такое нужно в стиле C
т.е. Открыл файл
потом read()
закрыл файл
Наверняка же есть простое решение на Паскаль?
без всяких TString и загрузки файла в текстовые области или еще чего


 
default ©   (2006-12-28 21:05) [11]

что тебе мешает мыслить текстовый файл как одну строку?
и дальше применить какой-либо алгоритм поиска подстроки в строке
как правило эти алгоритмы требуют одного прямого прохода по строке
если файл большой тебе потребуется подгружать части строки по мере просмотра
можно поручить задачу динамической подгрузки частей строки ОС используя файлы отображаемые в память


 
Sha ©   (2006-12-29 00:32) [12]

> umbra ©   (28.12.06 18:20) [9]
> тогда пришлось бы сделать практически то же, что делается в TStrings.LoadFromFile.


Вовсе нет. Достаточно одной таблетки, т.е. одного BlockRead.
А в TStrings.LoadFromFile много лишнего для нас делается.


 
Sn   (2006-12-29 06:52) [13]

>загружаете текст в TStrings и в св-ве TStrings.Text ищете нужное >сочетание с помощью ф-ции PosEx
Просто возникла такая задача, а  Паскаль я вообще не знаю!
Я здесь писал как раз для того, чтобы не рыться в справочниках и хелпах!
И просил готовое решение.
Неужели нельзя привести 10 строк кода.
Это же элементарная задача.
Конечно на Perl или PHP можно через регексы легко разобрать.
На C тоже без проблем.
Это особенность людей пишуших на Паскале отвечать задачей на задачу???


 
Sn   (2006-12-29 06:58) [14]

Так и я могу написать, как мне ответили, типа
1. открываешь файл
2. ищешь совпадения
3. накручиваешь целочисленную перменную
4. закрываешь файл
5. выводишь количество совпадений


 
MikePetrichenko ©   (2006-12-29 07:11) [15]


> Я здесь писал как раз для того, чтобы не рыться в справочниках
> и хелпах!
> И просил готовое решение.

Готовое реение = $50WMZ


 
Sn   (2006-12-29 07:36) [16]

Удалено модератором
Примечание: Сам займись эти, на тренировки три дня


 
Sn   (2006-12-29 07:43) [17]

Конечно, надо быть взаимно вежливыми.
Первй раз деньги на форумах вымогают.
Я же не курсовую прошу написать, а 10 строк элементарного, для знающего паскаль, кода.
Я всегда знал, что нахрен Паскаль не нужен.
Сейчас в этом убедился на все 1000%.
Прощайте, господа!


 
Virgo_Style ©   (2006-12-29 08:01) [18]

ура


 
Elen ©   (2006-12-29 08:21) [19]


> все 1000%

Да уж... Неуважение к другим действительно зашкаливает на 1000%.
Кстати а как расшифровывается WMZ?


 
Sha ©   (2006-12-29 09:49) [20]

> Sn   (28.12.06 16:55)  
> нужен только алгоритм...

> Sn   (29.12.06 06:58) [14]
> Так и я могу написать, как мне ответили, типа
> 1. открываешь файл
> 2. ищешь совпадения
> 3. накручиваешь целочисленную перменную
> 4. закрываешь файл
> 5. выводишь количество совпадений


А что в твоем понимании алгоритм?

> Sn   (28.12.06 16:55)  
> нужен только алгоритм...

> Sn   (29.12.06 06:52) [13]
> Я здесь писал как раз для того, чтобы не рыться в справочниках и хелпах!
> И просил готовое решение.


Определись, че те надо, и сформулируй.

> Sn
Первй раз деньги на форумах вымогают.

Люли отвечают на понравившиеся им вопросы.
Ты принимаешь понравившиеся ответы.
Это ж так просто.

> Sn
Конечно, надо быть взаимно вежливыми.


Во-во, не хрен здесь хамить



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

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

Наверх




Память: 0.49 MB
Время: 0.041 c
15-1167593474
Pazitron_Brain
2006-12-31 22:31
2007.01.21
С НоВыМ ГоДоМ!


3-1162286414
RomanH
2006-10-31 12:20
2007.01.21
Транзакция на обновление записи


15-1167224986
DelphiLexx
2006-12-27 16:09
2007.01.21
Что такое +jt


4-1157525047
imp
2006-09-06 10:44
2007.01.21
Свойства принтера


2-1168035230
Ламер 2.Х
2007-01-06 01:13
2007.01.21
Как отправить все Memo (но не мимо)?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский