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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2010, 14:57   #1
CodeExpert
Заблокирован
 
Регистрация: 30.10.2009
Сообщений: 468
Радость Вывести сохранение в текущий файл..

помогите пожалуйста вывести сохранение данных в этот же файл что открыт:
Код:
program laba_8;
uses Crt;

function Strukt(var s:string):string;
var
 t:string;//временная строка
 o:string;//результирующая строка
 i:integer;//счетчик
 f:boolean;//условие действия
begin
i:=2;
while i<=length(s) do begin
if (s[i]=char(#32))and(s[i-1]=char(#32)) then 
 begin delete(s,i,1) end else inc(i);
end;

 while length(s)<>0 do
 begin
  f:=false;//первоначальное значение счетчика
  
  if pos(' ',s)<>0 then //разделитель слов
      begin
        t:=copy(s,1,pos(' ',s)-1);//копируем во временную
        delete(s,1,pos(' ',s));//удаляем использованное
  end else
  begin
   t:=copy(s,1,length(s)); //копируем во временную
   delete(s,1,length(s));//удаляем использованное
  end;
  
  for i:=1 to length(t) do
   if t[i] in ['0'..'9'] then
   begin
    o:=o+'('+t+') '; //включаем в ()
    f:=true; //условие нахождения
    break;
   end;
   if not f then
   o:=o+t+' ';//результирующая строка
 end;
Strukt:=o;
end;
var s:string; //оперируемая строка 
    t:text; //содержимое файла
    f,i:integer;
    mas:array[1..100]of string;
    st:integer;
begin
Writeln('Первоначальный текст файла:');
Assign(t,'D:\Res.txt'); //связываем переменную
Reset(t); //открываем файл для чтения
i:=1;//первоначальное значение ограничителя;
{заносим строки файла в строковый массив}
while (not eof(t)) and (not eoln(t)) do begin
 readln(t,mas[i]);inc(i);
 end;
Writeln('Первоначальное содержимое файла:');
for f:=1 to i-1 do begin
 writeln(mas[f]);end;Writeln;
{преобразуем содержимое}
for f:=1 to i-1 do begin
 mas[f]:=strukt(mas[f]);end;
Writeln('Результирующее содержимое файла:');
for f:=1 to i-1 do begin
 writeln(mas[f]);end;
????????

Readln;
end.
CodeExpert вне форума Ответить с цитированием
Старый 24.02.2010, 16:15   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Хм...
Насколько я знаю рпаскаль позволяет r\w в тот же файл при двух условиях
1) Если используется нетипированный файл (это полюбому)
2) Только через BlockRead\BlockWrite (Насчет этого ограничения могу ошибаться)
при этом открывается он процедурой Reset (несмотря на то что многи книги пишут что она открывает только на чтение)

т.е. Рекомендую попробовать перейти на нетипизированные файл.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.02.2010, 16:45   #3
CodeExpert
Заблокирован
 
Регистрация: 30.10.2009
Сообщений: 468
По умолчанию

Спасиб, я уже разобрался, просто в условиях лабы моей не было указано что считывать и выводить из разных файлов:
Код:
var s:string; //оперируемая строка 
    o,t:text; //содержимое файла
    f,i:integer;
    mas:array[1..100]of string;
    st:integer;
begin
Writeln('Первоначальный текст файла:');
{связываем переменные}
Assign(t,'D:\Input.txt'); 
Assign(o,'D:\Output.txt'); 
{действия с файлами}
Reset(t); //открываем файл для чтения
rewrite(o);//открываем файл для перезаписи


{заносим строки файла в строковый массив}
i:=1;//первоначальное значение ограничителя;
while (not eof(t)) and (not eoln(t)) do begin
 readln(t,mas[i]);inc(i);
 end;
 
Writeln('Первоначальное содержимое файла:');
for f:=1 to i-1 do begin
 writeln(mas[f]);end;Writeln;
 
{преобразуем содержимое}
for f:=1 to i-1 do begin
 mas[f]:=strukt(mas[f]);end;
 
Writeln('Результирующее содержимое файла:');
for f:=1 to i-1 do begin
 writeln(mas[f]);end;
 
{заносим содержимое в файлы} 
for f:=1 to i do begin
Writeln(o,mas[f]);end;

{закрываем файлы}
close(t);
close(o);
CodeExpert вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++. Прочитать файл и вывести в другой файл каждую N-ую строку Straiker Помощь студентам 3 15.12.2009 05:49
Сохранение в файл Ant1Player PHP 4 31.03.2009 16:33
Сохранение иконки в файл Nester Общие вопросы Delphi 1 03.01.2009 16:49
Сохранение в файл Македонский Общие вопросы Delphi 4 05.09.2007 15:04
Сохранение в файл *.*С Noor Общие вопросы C/C++ 6 08.01.2007 22:44