IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> Паскаль.Файл.
Николай
сообщение 10.11.2006 1:20
Сообщение #1


Гость






Доброго всем времени суток. У меня есть вопросик я тут програмку одну делаю не подскажите ли что в ней на данный момент не сходится. Пишет (Файл, не открыт для входа). В общем я хотел упростить себе задачу загружая текты из файла, ато уж слишком много набирать. Вот код. Зарание всем благодарен.
Код

var
a:string;b:string; F1:TEXT;
begin
a:=('типа лекции');
assign(f1,'c:\7_9.txt');
reset(f1);
close(f1);
readln(f1);
writeln(f1);
writeln(a);
writeln('Для завершения работы приложения нажмите Enter');
readln;
end.

Программка по идее простинькая но чет по лекциям у меня не прет.
 К началу страницы 
+ Ответить 
Гость
сообщение 10.11.2006 1:22
Сообщение #2


Гость






Пожалуйста извениете за"Фыйл"
 К началу страницы 
+ Ответить 
Bokul
сообщение 10.11.2006 1:33
Сообщение #3


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

Репутация: -  11  +


 
var
a:string;b:string; F1:TEXT;
begin
a:=('типа лекции');
assign(f1,'c:\7_9.txt');
reset(f1);

// для чего закрывать файл перед тем, когда ты еще не прочитала инфу?
// Убери эту строчку.
close(f1);

// если ты хочешь прочитать что-то файла, а не просто пропустить строку,
// надо куда-то ее переписывать
readln(f1); // readln(f1,a); a-тип строки

// тоже самое, ты же хочешь что-то записать в файл? Если да, то что?
writeln(f1); // writeln(f1,b) b-текст, для записи в файл,b-тип строки

writeln(a);
writeln('Для завершения работы приложения нажмите Enter');
close(f1); // а здесь уже наоборот надо закрыть, т.е. добавь эту строку
readln;
end.


Цитата
Пожалуйста извениете за"Фыйл"

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

М
Для этого автору надо как минимум зарегистрироваться smile.gif
volvo



Сообщение отредактировано: volvo - 10.11.2006 16:57


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Алена
сообщение 10.11.2006 1:39
Сообщение #4


Гость






Только вот
readln(f1);
writeln(f1);
к одному и тому же файлу применять нельзя. Текстовый файл может быть открыт или для чтения, или для записи (добавления)...
 К началу страницы 
+ Ответить 
Bokul
сообщение 10.11.2006 1:53
Сообщение #5


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

Репутация: -  11  +


Цитата
к одному и тому же файлу применять нельзя.

Можно, только надо открыть его правильно:
reset - для чтения
append - для записи

Сообщение отредактировано: Bokul - 10.11.2006 2:13


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Алена
сообщение 10.11.2006 13:24
Сообщение #6


Гость






Ты не понял, имелось в виду, что если текстовый файл будет открыт для чтения, то записать в него без переоткрытия не удастся, будет ошибка... А в исходной программе нет переоткрытия между readln(f) и writeln(f)
 К началу страницы 
+ Ответить 
hiv
сообщение 10.11.2006 16:42
Сообщение #7


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

Репутация: -  11  +


Цитата(Bokul @ 10.11.2006 1:53) *

Можно, только надо открыть его правильно:
reset - для чтения
append - для записи

Немного уточню:
reset - для чтения
rewrite - для записи (стирает в файле все, что было до момента начала записи)
append - для чтения и записи (при открытии курсор находится в конце файла)
Дословно append - добавлять; прибавлять; прилагать что-л.


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 10.11.2006 16:44
Сообщение #8


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Господа и дамы, FAQ: Файлы !low.gif

Вот куда надо было напривать автора, да и сейчас еще не поздно, загляни туда, автор и жизеь станет немного яснее yes2.gif


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Алена
сообщение 10.11.2006 16:46
Сообщение #9


Гость






Цитата
append - для чтения и записи
Пример ЧТЕНИЯ из файла, открытого через Append можно привести?
 К началу страницы 
+ Ответить 
hiv
сообщение 10.11.2006 17:08
Сообщение #10


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

Репутация: -  11  +


Приношу свои извинения
append(f); - работает только с текстовыми файлами var f:text;
seek(f,0); - НЕ работает с текстовыми файлами.
СМ. FAQ - там все есть smile.gif


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 10.11.2006 17:56
Сообщение #11


Гость






Всем большёе спасибо. Щас зарегистрируюсь
 К началу страницы 
+ Ответить 
N/V/K
сообщение 10.11.2006 19:06
Сообщение #12


Новичок
*

Группа: Пользователи
Сообщений: 32
Пол: Мужской
Реальное имя: Николай

Репутация: -  0  +


var
a:string;b:string; F1:text;
begin
a:=('типа лекции');
assign(f1,'c:\7_9.txt');
reset(f1);
readln(f1,b);
writeln(f1);
writeln('Нажмите Enter для завершения приложения');
close(f1);
readln;
end.

Ну я не знаю даже что сказать "Файл не открыт для вывода" что может быть не так подскажите.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 10.11.2006 20:02
Сообщение #13


Гость






Цитата
что может быть не так подскажите.
Тебе же сказали, что из файла, открытого через Reset можно только ЧИТАТЬ, выводить в него данные не получится!
 К началу страницы 
+ Ответить 
N/V/K
сообщение 10.11.2006 22:08
Сообщение #14


Новичок
*

Группа: Пользователи
Сообщений: 32
Пол: Мужской
Реальное имя: Николай

Репутация: -  0  +


Да мне не надо вводить данные мне надо вывести их на экран, а я такой любитель не грамотный не могу этого сделать. unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 10.11.2006 22:10
Сообщение #15


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


reset(f1);
readln(f1,b);
writeln(b); < ---- выводить то надо то что из файла прочитал


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
N/V/K
сообщение 10.11.2006 22:18
Сообщение #16


Новичок
*

Группа: Пользователи
Сообщений: 32
Пол: Мужской
Реальное имя: Николай

Репутация: -  0  +


Спасибо большёе, мне теперь осталось решить проблемы с кодировкой *.txt файла.

Может быть я задам дурацкий вопрос, но что надо сделать чтоб тыводился весь текст примерно 1200 строк вместо одной первой. Подскажите пожалйуста.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 10.11.2006 22:22
Сообщение #17


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Приведи полностью и точно свое задание.

А то чувствуется обсуждение этой пятикопеечной программы может растянуться еще постов на 20.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
N/V/K
сообщение 10.11.2006 22:33
Сообщение #18


Новичок
*

Группа: Пользователи
Сообщений: 32
Пол: Мужской
Реальное имя: Николай

Репутация: -  0  +


Извени. smile.gif Разработать обучающюю программу по изучениютемы "базы данных. Язык запросов SQL". Программа должна иметь встроенную проверку знаний и навыков(тест).

М
Очень сожержатнльно, пойди туда не знаю куда, купи то не знаю что и пластиковые стаканчики не забудь. Удачи. А начиналось все с чтения строки из файла ...



Ну хоть подскажи, как выводить крупные текстовые файлы на экран.

Сообщение отредактировано: klem4 - 10.11.2006 22:32
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 10.11.2006 22:43
Сообщение #19


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Цитата
Ну хоть подскажи, как выводить крупные текстовые файлы на экран.


На сколько крупные ? 1200 строк ?

Так же как и не крупные. Читаешь последовательно строки из файла и выводишь их. Другое дело если длина строк в файле может превышать 255 символов, тогда выход либо переход на 32 бита (Delphi например), либо почитай тут про PChar.

Но что-то мне подсказывает что ты еще не разобрался как вообще в Паскале работать с файлами.

Ссылку на FAQ я давал выше.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
N/V/K
сообщение 10.11.2006 22:47
Сообщение #20


Новичок
*

Группа: Пользователи
Сообщений: 32
Пол: Мужской
Реальное имя: Николай

Репутация: -  0  +


Спасибо!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V  1 2 >
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.07.2025 13:06
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"