Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.08.2016, 13:14   #1
K-SN
Новичок
Джуниор
 
Регистрация: 28.08.2016
Сообщений: 1
По умолчанию Дозапись в файл

У меня проблема, пытаюсь сделать перезапись в файл, с дальнейшим прочтением и дозаписью, может кто подскажет как это сделать проще или же где у меня есть ошибка, потому что паскаль выдает, что нельзя читать два файла одновременно
Код:
Const 
  SIZE= 10000;
Type 
  mas = array[1..SIZE] of integer;
Var 
  name, lastname, otchestvo : string;
  date : string;
  adress : string;
  namberoftelefone : string;
  zakaz : string;
  summa, avans, obsh : integer;
  nomer: integer; 
  x,y : text;
  n: string;
  i: byte;
  M:mas;
begin
    {Сохранение точго что было}
    Writeln('Введите последний номер клиента');
    readln(nomer);
    assign(x,'C:\Users\User\Desktop\Программа\Base.txt');
    assign(y,'C:\Users\User\Desktop\Программа\GGWPEZ.txt');
 
    rewrite(x);
    for i:=1 to nomer do
        writeln(x, M[i]);
    close(x);
 
    reset(x);
    rewrite(y);
    i := 1;
    while not EOF(x) do begin
        readln(x,n);
        if not odd(i) then
            writeln(y, n);
        i := i + 1;
    end;
    close(x);
    close(y);
 
    reset(y);
    while not EOF(y) do begin
        readln(y, n);
        writeln(n);
    end;
    writeln;
    close(y);
    {Запись уже сама}
    writeln('Пожалуйста, введите Фамилию Имя Отчество клиента');
    readln(Lastname, name, otchestvo);
    Writeln('Пожалуйста, введите Адрес клиента');
    readln(adress);
    Writeln('Пожалйста, введите номер клиента');
    readln(nomertelefone);
    Writeln('Пожалуйста, введите заказ клинта, через запетую');
    Readln(zakaz);
    Writeln('Пожалуйста введите Сумму Клиента и его Аванс');
    Readln(summa, avans);
    obsh := summa - avans;
    Writeln('Введите дату, когда к вам обратился Клиент');
    REadln(date);
    assign(x,'C:\Users\Роман\Desktop\Программа\Base.txt');
    assign(y,'C:\Users\Роман\Desktop\Программа\GGWPEZ.txt');
 
    rewrite(y);
    for i:=1 to nomer do
        writeln(x, M[i]);
    close(x);
 
    reset(y);
    rewrite(x);
    i := 1;
    while not EOF(y) do begin
        readln(y, n);
        if not odd(i) then
            writeln(x, n);
        i := i + 1;
    end;
    writeln(nomer+1,'. ', Lastname,' ', name,' ', otchestvo);
    writeln('   ', adress,' ', nomertelefone, ' ', date);
    writeln('        ', zakaz, ' = ', obsh); 
    close(x);
    close(y);
 
    reset(y);
    while not EOF(y) do begin
        readln(y, n);
        write(n);
    end;
    writeln;
    close(y);
    
end.

Последний раз редактировалось Вадим Мошев; 01.09.2016 в 05:30. Причина: ДОзапись пишется слитно
K-SN вне форума Ответить с цитированием
Старый 28.08.2016, 16:35   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Именно так и пишет
Цитата:
что нельзя читать два файла одновременно
или же все-таки немного по другому, например нельзя читать из/писать в НЕоткрытый файл. Потому что (далее смотри выделенное)
Цитата:
Код:
    rewrite( y );
    for i:=1 to nomer do
        writeln( x , M[i]);
    close( x );
P.S. классическая ошибка при использовании коротких И НЕ несущих смысловой нагрузки идентификаторов.

P.P.S. режим открытия текстового файла для ДОзаписи(записи в конец файла)
http://www.delphibasics.ru/Append.php
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 28.08.2016 в 16:39.
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись информации в файл в файл Anubys Win Api 0 04.11.2011 23:27
запись в файл Angryant Помощь студентам 2 06.07.2011 00:58
Запись в файл на С++ Mails Помощь студентам 7 31.03.2008 14:37