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

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

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

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> Паскаль.Файл.
сообщение
Сообщение #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.

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


Гость






Пожалуйста извениете за"Фыйл"
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 -


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


Гость






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


Гуру
*****

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

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


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

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

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


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


Гость






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


Профи
****

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

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


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

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

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


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






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


Профи
****

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

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


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


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


Гость






Всем большёе спасибо. Щас зарегистрируюсь
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Гость






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


Новичок
*

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

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


Да мне не надо вводить данные мне надо вывести их на экран, а я такой любитель не грамотный не могу этого сделать. unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Новичок
*

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

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


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

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


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

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

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


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

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


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


Новичок
*

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

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


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

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



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

Сообщение отредактировано: klem4 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


Новичок
*

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

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


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

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

 





- Текстовая версия 29.03.2024 2:28
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name