Обработка ТХТ файла

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

Ответить
Amoenus
незнакомец
Сообщения: 2
Зарегистрирован: 22.02.2010 20:11:13

Обработка ТХТ файла

Сообщение Amoenus »

Добрый вечер! Хотел бы проконсультироватся по поводу своего задания.
"В программу ввести ТХТ файл, выполнить его обработку и результат вывести в другой ТХТ файл. Если в введеном ТХТ файле строка начинаеться с BEGIN или begin, тогда перед строкой добавить 2 пустые строки."

Вот что у меня есть на данном этапе

Код: Выделить всё

program Lab1;
uses CRT;
  var
InpFile,       
OutFile   :TEXT;     
 InputString, OutputString : string;
 S: string;
 OutfileName: string;
 CONST
 InpFileName='Lab1Inp.txt';
 begin
  Assign(InpFile, InpFileName );
  Reset(InpFile);
  writeln(' vvedite nazvanija polu4aemogo faila');
  readln(OutFileName);
  assign(OutFile, OutFilename);
  rewrite(OutFile);
  CLRSCR;
  while (not EOF (InpFile)) do
  begin
   readln(InpFile, InputString);
S:=Copy(Inputstring,1,6);
 If S=('begin ' or 'BEGIN ') then
 begin
 writeln( );
 writeln( );
 writeln(Outputstring);
 Writeln(OutFile, Outputstring);
 end;
   end;
  close(InpFile); close(OutFile);
  end.

У меня выдается ошибка типов для Inputstring. Помогите увидедь ошибку
PapaNT
постоялец
Сообщения: 167
Зарегистрирован: 11.09.2009 12:06:46
Откуда: Москва

Сообщение PapaNT »

откомпилял под 2.2.4.0

выдало ошибку лишь на

Код: Выделить всё

 If S=('begin ' or 'BEGIN ') then


попробуй заменить на

Код: Выделить всё

 If (S='begin ') or (S='BEGIN ') then
Padre_Mortius
энтузиаст
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Padre_Mortius »

а если будет , то что будете делать?
уж лучше тогда использовать UpperCase или LowerCase, или их аналоги с поддержкой UTF-8
PapaNT
постоялец
Сообщения: 167
Зарегистрирован: 11.09.2009 12:06:46
Откуда: Москва

Сообщение PapaNT »

В постановке было begin или BEGIN
Amoenus
незнакомец
Сообщения: 2
Зарегистрирован: 22.02.2010 20:11:13

Сообщение Amoenus »

Спасибо за помощь, справился. Выкладываю конечный вариант программы

Код: Выделить всё

program Lab1;
uses CRT;
  var
InpFile,OutFile :text ;
InputString : string;
S: string;
OutfileName: string;
CONST
InpFileName='Lab1Inp.txt';
begin
  ClrScr;
  Assign(InpFile, InpFileName );
  Reset (InpFile);
  writeln(' vvedite nazvanija polu4aemogo faila');
  readln(OutFileName);
  assign(OutFile, OutFilename);
  rewrite(OutFile);
  CLRSCR;
  while (not EOF (InpFile)) do
  begin
   readln(InpFile, InputString);
S:=Copy(Inputstring,1,6);
If (S='begin ') or (S='BEGIN ') then
begin
writeln(OutFile, ' ');
writeln(OutFile, ' ');
end;
writeln(Inputstring);
Writeln(OutFile, Inputstring);
   end;
 close(InpFile);
 close(OutFile);
  end.
Ответить