Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 08.04.2012, 22:27   #1 (permalink)
Neketozzz
Новичок
 
Регистрация: 08.04.2012
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Как добавить файл словаря?

Дело в следующем: нужна программа (на Pascal), которая ищет в файле (словарь) слова перевертыши (кок, шалаш). Как прикрутить к ней этот файл?
Neketozzz вне форума   Ответить с цитированием

Старый 08.04.2012, 22:27
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

На форуме ранее были созданы темы которые схожи с вашей

Помогите добавить анимацию в программе
Как добавить разрешение в 3D приложения?
Можно ли добавить видеопамять?
Как добавить кодеки в софт ТВ-тюнера?
Добавить программу в автозапуск

Старый 08.04.2012, 22:36   #2 (permalink)
kreol
Member
 
Аватар для kreol
 
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
По умолчанию

Код:
var f: text;
begin
assign(f,'путь к файлу');
{
работа с файлом
}
close(f);
end.
kreol вне форума   Ответить с цитированием
Старый 09.04.2012, 20:03   #3 (permalink)
Neketozzz
Новичок
 
Регистрация: 08.04.2012
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Примерно так?

VAR
S,S1,S2:String;
i,i1,i2,N,j:Byte;
f:text;
BEGIN
assign(f,'путь к файлу');
{
ReadLn(S);
WriteLn;
N:=0;
i:=0;
Repeat
Repeat
Inc(i);
Until S[i]<>' ';
i1:=i;
Repeat
Inc(i);
Until (S[i]=' ') or (i=Length(S));
If S[i]=' ' then i2:=i else i2:=i+1;
S1:=Copy(S,i1,(i2-i1));
S2:=S1;
For j:=1 to Length(S1) do
S2[Length(S1)-j+1]:=S1[j];
If S1=S2 then
begin
Write(S1+' ');
Inc(N);
end;
Until i=Length(S);
WriteLn;
WriteLn(N,' words');
ReadLn;
}
close(f);
END.
Neketozzz вне форума   Ответить с цитированием
Старый 09.04.2012, 20:30   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Совсем не так!
Вместо 'путь к файлу' необходимо прописать реальный путь, заканчивающийся именем файла на диске - существующего или того, который предполагается создать, причем применение кириллицы не допускается (то есть может быть и существуют реализации Паскаля, умеющие работать с кириллицей в адресе, но мне они не известны). Например, Вы хотите открыть для чтения существующий на диске D в папке Darling файл swine.txt, то нужно записать:
Assign(f, 'D:\Darling\swine.txt');
После этого установится связь между указанным файлом на диске и файловой переменной f, объявленной в разделе Var программы.
Далее следует указать, что Вы собираетесь с этим файлом делать:
1. Читать - тогда пишем Reset(f);
2. Записывать в файл информацию - в этом случае пишем Rewrite(f); Если файла с таким именем на диске нет, он будет создан. ВНИМАНИЕ!!! Если применить команду Rewrite к имеющемуся на диске файлу, то вся содержащаяся в файле информация будет стерта!!!
3. Записать что-либо в конец файла (только для текстовых файлов) - команда Append(f);
4. Уничтожить файл - команда Erase(f);
Vladimir_S вне форума   Ответить с цитированием
Старый 09.04.2012, 20:42   #5 (permalink)
kreol
Member
 
Аватар для kreol
 
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
По умолчанию

Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
Вместо 'путь к файлу' необходимо прописать реальный путь
Мда( что-то я не подумал о такой интерпретации моего сообщения(
Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
то есть может быть и существуют реализации Паскаля
Вроде freepascal умеет, если я не ошибаюсь...
kreol вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 09.04.2012, 20:46   #6 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от kreol Посмотреть сообщение
Вроде freepascal умеет, если я не ошибаюсь...
Может и умеет - не пробовал. Тем более, что пользую DOS-версию FP, а там и вовсе кодировка другая. Так что лучше не надо. Оно спокойнее.
Vladimir_S вне форума   Ответить с цитированием
Старый 09.04.2012, 21:10   #7 (permalink)
kreol
Member
 
Аватар для kreol
 
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
По умолчанию

Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
Так что лучше не надо. Оно спокойнее.

Чего не сделаешь для душевного равновесия))

Кст. Я не правильно понял задание. Я думал уже дан словарь и нужно к примеру в массив ввести эти слова перевертыши или просто вывести на экран. Но все равно...
Зачем так жестоко?)))
Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
4. Уничтожить файл - команда Erase(f);
kreol вне форума   Ответить с цитированием
Старый 10.04.2012, 13:57   #8 (permalink)
Neketozzz
Новичок
 
Регистрация: 08.04.2012
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Ну чисто теоретически - словарь есть (надо слов накидать в текстовый файл) и нужно вывести имеющиеся в нем слова перевертыши. Большое всем спасибо за помощь!
Neketozzz вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 03:00.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.