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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2011, 22:40   #1
D.o.c
 
Регистрация: 10.02.2011
Сообщений: 3
Сообщение Отпечатать первое слово третьей строки файла, если оно существует

Созданный текстовый файл объявлен в программе как символьный (file of char). Слова в строках файла разделяются пробелами. Отпечатать первое слово третьей строки файла, если оно существует.Признаком конца строки являются два последовательных символа #13 и #10, признаком конца файла - символ #26.
D.o.c вне форума Ответить с цитированием
Старый 11.02.2011, 08:45   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

проблема в чем?
p51x вне форума Ответить с цитированием
Старый 11.02.2011, 10:20   #3
D.o.c
 
Регистрация: 10.02.2011
Сообщений: 3
По умолчанию

проблема с этим условием :"Отпечатать первое слово третьей строки файла, если оно существует.Признаком конца строки являются два последовательных символа #13 и #10, признаком конца файла - символ #26.". Как его реализовать с помощью строк?
D.o.c вне форума Ответить с цитированием
Старый 11.02.2011, 13:19   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну, вот Вам, для затравки, пример чтения такого файла (построчно.)
Код:
type
  CharFile = file of char;

function ReadLine(var ff : CharFile; var EndOfFile : boolean) : string;
var sResult : string;
  ch : char;
begin
  sResult := '';
  ch := ' ';
  while (ch<>#13) and (ch<>#26) and Not eof(ff) do begin
    Read(ff, ch);
    if ch>=' ' then sResult := sResult + ch;
  end;
  if ch=#13 then Read(ff,ch);
  EndOfFile := Eof(ff) or (ch=#26);
  ReadLine := sResult;
end;

var f : CharFile;
  s : string;
  EndOfFile : boolean;
  i : integer;
begin
  Assign(f, 'test1.txt');
  Reset(f);
  EndOfFile := Eof(f);
  i := 0;
  while (i<3) and Not EndOfFile do 
  begin
    inc(i);
    s := ReadLine(f, EndOfFile);
    WriteLn(i:2,' : ',s);
  end;
  Close(f);

  if (i=3) then begin
     .... в переменной S - 3-я строчка файл вот ТУТ ПИШИТЕ ОБРАБОТКУ ...
  end
  else
     WriteLn('В заданном файле менее 3-х строк');

  WriteLn('Done.');
  readln;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.02.2011, 17:01   #5
D.o.c
 
Регистрация: 10.02.2011
Сообщений: 3
По умолчанию

как раз эта обработка и непонятна, как ее осуществить с помощью строк? киньте хоть намек.
D.o.c вне форума Ответить с цитированием
Старый 12.02.2011, 22:40   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

не понимаете, значит...
А как же Вы сдавать работу собираетесь?!
ладно, вот обработка ПОЛНОСТЬЮ:

Код:
if pos(' ',s)>0 then
  WriteLn('Первое слово в третье строке: ', Copy(s,1,Pos(' ',s)-1))
else
  WriteLn('В третье строке нет пробелов, значит первое слово: ',s);
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти первое слово в строке Delphinchik Помощь студентам 10 24.08.2010 11:02
извлечь из ячейки первое слово до пробела KNatalia Microsoft Office Excel 4 06.08.2010 16:11
Ввести имя файла с клавиатуры,открыть если существует,перименовать и переместить его mulatoschka1990 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 23.10.2009 16:18
Определить первое слово, начинающееся с заданного символа. Нездешний Помощь студентам 11 18.10.2009 16:51