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

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.

Программка по идее простинькая но чет по лекциям у меня не прет.
Гость
Пожалуйста извениете за"Фыйл"
Bokul
 
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

Алена
Только вот
readln(f1);
writeln(f1);
к одному и тому же файлу применять нельзя. Текстовый файл может быть открыт или для чтения, или для записи (добавления)...
Bokul
Цитата
к одному и тому же файлу применять нельзя.

Можно, только надо открыть его правильно:
reset - для чтения
append - для записи
Алена
Ты не понял, имелось в виду, что если текстовый файл будет открыт для чтения, то записать в него без переоткрытия не удастся, будет ошибка... А в исходной программе нет переоткрытия между readln(f) и writeln(f)
hiv
Цитата(Bokul @ 10.11.2006 1:53) *

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

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

Вот куда надо было напривать автора, да и сейчас еще не поздно, загляни туда, автор и жизеь станет немного яснее yes2.gif
Алена
Цитата
append - для чтения и записи
Пример ЧТЕНИЯ из файла, открытого через Append можно привести?
hiv
Приношу свои извинения
append(f); - работает только с текстовыми файлами var f:text;
seek(f,0); - НЕ работает с текстовыми файлами.
СМ. FAQ - там все есть smile.gif
Гость
Всем большёе спасибо. Щас зарегистрируюсь
N/V/K
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.

Ну я не знаю даже что сказать "Файл не открыт для вывода" что может быть не так подскажите.
volvo
Цитата
что может быть не так подскажите.
Тебе же сказали, что из файла, открытого через Reset можно только ЧИТАТЬ, выводить в него данные не получится!
N/V/K
Да мне не надо вводить данные мне надо вывести их на экран, а я такой любитель не грамотный не могу этого сделать. unsure.gif
klem4
reset(f1);
readln(f1,b);
writeln(b); < ---- выводить то надо то что из файла прочитал
N/V/K
Спасибо большёе, мне теперь осталось решить проблемы с кодировкой *.txt файла.

Может быть я задам дурацкий вопрос, но что надо сделать чтоб тыводился весь текст примерно 1200 строк вместо одной первой. Подскажите пожалйуста.
klem4
Приведи полностью и точно свое задание.

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

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



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


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

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

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

Ссылку на FAQ я давал выше.
N/V/K
Спасибо!!!
N/V/K
Прикольно, спасибо тебе Klem4 за инфу, с уважением N/V/K
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.