![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с текстовым файлом [D7, XP]
romario © (2010-04-25 18:27:00)Программа должна:
- построить словарь, в котором в алфавитном порядке упорядочены все встретившиеся слова (повторяющиеся слова дважды в словарь не включаются);
- сосчитать количество повторений каждого слова;
- сохранить файл словаря в текстовом формате, включая количество повторений.
Даже не знаю с какой стороны начать обработку файла???
romario (2010-04-26 23:00:00) [1]
> Anatoly Podgoretsky © (26.04.10 22:56) [15]
> > romario (26.04.2010 22:43:11) [11]А это зачем? list.
> LoadFromFile(openD.FileName);Ведь значение не инициализировано
> и диалог не используется
уже исправил
procedure TForm1.Button1Click(Sender: TObject);
var
openD: TOpenDialog;
list: TStringList;
begin
list:= TStringList.Create;
openD := TOpenDialog.Create(nil);
openD.Filter := 'тесктовый файл|*.txt';
if openD.Execute then
begin
list.LoadFromFile(openD.FileName);
end;
list.Sorted:=true;
List.SaveToFile('словарь.txt');
end;
romario (2010-04-26 22:58:00) [2]Дополнение
Словом считается:
- последовательность подряд идущих букв или цифр;
- знак препинания (считается отдельным "словом");
- знак-разделитель, например, пробел (считается отдельным "словом").
Anatoly Podgoretsky (2010-04-26 22:56:00) [3]> romario (26.04.2010 22:43:11) [11]
А это зачем?
list.LoadFromFile(openD.FileName);
Ведь значение не инициализировано и диалог не используется
romario (2010-04-26 22:54:00) [4]Нашел ошибку сам :)
list:= TStringList.Create;
Все остальное нет :(
romario (2010-04-26 22:51:00) [5]перерыл гору инета но так и не нашел как сделать:
1. установить разделитель пробел, запретить дубликаты
2. установить разделитель перевод строки
romario (2010-04-26 22:44:00) [6]и как сделать что-бы диалоговое окно открывалось в папке где находится сама программа???
romario (2010-04-26 22:43:00) [7]Пишу:
procedure TForm1.Button1Click(Sender: TObject);
var
openD: TOpenDialog;
list: TStringList;
begin
list.Create;
// list.Sorted:=true;
openD := TOpenDialog.Create(nil);
openD.Filter := 'тесктовый файл|*.txt';
list.LoadFromFile(openD.FileName);
end;
Но не работает в чём косяк???
romario (2010-04-26 17:38:00) [8]> RWolf © (26.04.10 16:54) [8]
спасибо попробую...
Anatoly Podgoretsky (2010-04-26 16:59:00) [9]> romario (26.04.2010 16:49:07) [7]
Это делается в форуме работа.
RWolf (2010-04-26 16:54:00) [10]
> с какой стороны начать обработку файла???
Если принять, что все слова разделяются пробелами, то можно сделать так:
1) создать StringList, установить разделитель пробел, запретить дубликаты
2) StringList.LoadFromFile('текст.txt')
3) StringList.Sort
4) установить разделитель перевод строки
5) StringList.SaveToFile('словарь.txt')
romario (2010-04-26 16:49:00) [11]Уважаемый Анатолий!
все таки лучше когда выложить пример в котором можно разобраться, чем показывать свое превосходство в знании программирования...
romario (2010-04-26 16:22:00) [12]Для кого то может и детское, для меня точно нет, ибо я учусь заочно, начитали нам курс про переменные и процедуры без одной практики ...
и дали вот такие задания :(
Anatoly Podgoretsky (2010-04-26 16:19:00) [13]А если другое задание окажется нормальным заданием, а не таким детским, будешь следующее брать?
romario (2010-04-26 15:26:00) [14]Старый мэн ты прав :), лучше буду делать другое задание...
oldman (2010-04-26 09:32:00) [15]
> повторяющиеся слова дважды в словарь не включаются
А несколько падежей одного слова это разные слова?
Нет?
У тебя проблемы...
Да?
На фиг нужен такой словарь...
DVM (2010-04-25 18:43:00) [16]
> Даже не знаю с какой стороны начать обработку файла???
TStringList.LoadFromFile
Anatoly Podgoretsky (2010-04-25 18:32:00) [17]> romario (25.04.2010 18:27:00) [0]
Начинай со чтения строки - Readln