Работа с файлом

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

scudo
Сообщения: 40
Зарегистрирован: 02 апр 2008, 21:05

В текстовом файле хранится список служащих. Для каждого служащего указаны фамилия и инициалы, название занимаемой должности, год поступления на работу и оклад.
Написать программу, выполняющую следующие действия:

-----корректировку или дополнение списка с клавиатуры;
MOTOCoder
Сообщения: 548
Зарегистрирован: 14 янв 2008, 20:27
Откуда: Россия, Псков

А в чем проблема?
Например для дополнения достаточно прочитать новую строку с клавиатуры и дописать её в файл процедурой Append.
Ни что так не ограничивает фантазию программиста, как компилятор...
scudo
Сообщения: 40
Зарегистрирован: 02 апр 2008, 21:05

Пишу так, и чет не выходит:

var
spis_sl:file of string;
spis:String;
Begin
Assign(spis_sl,'...\spisok_sluzh.txt');
Rewrite(spis_sl);
Write(spis_sl,spis);
Close(spis_sl);
scudo
Сообщения: 40
Зарегистрирован: 02 апр 2008, 21:05

Rewrite в даном случае по моему не нужен
MOTOCoder
Сообщения: 548
Зарегистрирован: 14 янв 2008, 20:27
Откуда: Россия, Псков

Во-первых: куда указывает данный путь ...\spisok_sluzh.txt?
Во-вторых, rewrite или reset всегда нужен, только добавлять данные в файл нужно не процедурой write, а процедурой Append.
Ни что так не ограничивает фантазию программиста, как компилятор...
scudo
Сообщения: 40
Зарегистрирован: 02 апр 2008, 21:05

var
spis_sl:file of string;
spis:String;
Begin
Assign(spis_sl,'...\spisok_sluzh.txt');
Reset(spis_sl);
Read(spis_sl.spis);

Даже не открывает его для чтения (не показывает информацию с текстового файла на экране)
scudo
Сообщения: 40
Зарегистрирован: 02 апр 2008, 21:05

Assign(spis_sl,'с:\1\spisok_sluzh.txt');
MOTOCoder
Сообщения: 548
Зарегистрирован: 14 янв 2008, 20:27
Откуда: Россия, Псков

Как минимум, имя файла слишком длинное-нужно не более 8 символов.
Ни что так не ограничивает фантазию программиста, как компилятор...
scudo
Сообщения: 40
Зарегистрирован: 02 апр 2008, 21:05

var
spis_sl:file of string;
spis:String;
Begin
Assign(spis_sl,'с:\1\spisok.txt');
Reset(spis_sl);
Read(spis_sl.spis);

Писал и так. При етом менял и имя текстового файла. Программа запускается.Но отрабатывает слишком быстро. Смотрю по Alt+F5 ничего нет
MOTOCoder
Сообщения: 548
Зарегистрирован: 14 янв 2008, 20:27
Откуда: Россия, Псков

Попробуйте написать так:
[syntax='Delphi']
var
F:text;
s:string;
begin
Assign(F,'C:\1\spisok.txt');
Reset(F);
Readln(F,S);
Close(F);
writeln(S);
readln;
end.
[/syntax]
Ни что так не ограничивает фантазию программиста, как компилятор...
Ответить