Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с файлами в Паскале. 
:(
    Опции темы
roalang
Дата 4.12.2008, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 66
Регистрация: 30.3.2008

Репутация: нет
Всего: нет



Создаю типизированный файл, в процедуре Inputfile, при вводе данных в файл происходит зацикливание почему не могу разобраться, помогите пожалуйста.
Код

Program Tamazov;
uses Crt,Dos;
  type detsad=record
           Sname_rebenka, Name_rebenka:string[15];
           pol:string[5];
           FIO_mama:string[30];
           FIO_papa:string[30];
           telephon:integer;
           group:string[10];
           data_rogdenia:string[30];
           adres:string[20];
  end;
   var      f:file of detsad;
       zn, filename:string;
                 k:integer;
   kolnime:integer;
   ch:char;
  label 11;

procedure Creatfile;    {Создание файла}
    begin

  {writeln('Задайте имя файла, который будет создаваться');    }
  { filename:='c:\bp\bin\';   }
      { readln(filename); }
       assign(f, 'c:\bp\bin\deti.dat');
       {$I-}
       reset(f);
       {$I+}
       if IOResult<>0 then
       rewrite(f);
       end;

 procedure Inputfile;
    var  ch:char; st:detsad;
      begin
      kolnime:=0;
   
      repeat
        writeln('Введите данные о новом клиенте : ');
         write('Фамилия ребенка: ');                readln(st.Sname_rebenka);
         write('Имя ребенка: ');                    readln(st.Name_rebenka);
         write('Группа: ');                         readln(st.group);
         write('Пол: ');                            readln(st.pol);
         write('ФИО матери: ');                     readln(st.FIO_mama);
         write('ФИО отца: ');                       readln(st.FIO_papa);
         write('Телефон: ');                        readln(st.telephon);
         write('Дата рождение: ');                  readln(st.data_rogdenia);
         write('адрес: ');                          readln(st.adres);

         write(f,st);
         write('Надо ли вводить данные о новом клиенте? (Д/Н)');
         readln(ch);
      
      until (ch='н') or (ch='Н'); 
     close(f); 
  end;
 Begin  11:clrscr;
        writeln('МЕНЮ:':45);
        writeln('*************************':55);
        writeln('1:Создание файла':50);
                     readln(k);
         While ch<>#27 Do Begin
      {    Write('Press <Esc> to Exit':100); Х}

         case k of 1: begin Creatfile; Inputfile end;
                   2: begin Addrecord; Inputfile end;
                                      6: Halt;
             else writeln('Ошибка. Повторите номер режима.')
   end;
  end;
goto 11;
End.



PM MAIL   Вверх
Anark1
Дата 7.12.2008, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 622
Регистрация: 15.12.2006
Где: RF -> Moscow

Репутация: нет
Всего: 11



Вместо readln(ch) попробуй read(ch) а еще лучше ch:=readkey.


--------------------
Enjoy yourself, still you can...;)

user posted image

user posted image
PM MAIL ICQ   Вверх
volvo877
Дата 7.12.2008, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



roalang, тебе уже 800 раз сказали на других форумах, ГДЕ у тебя зацикливание, и КАК надо сделать, чтобы не было зацикливания. Изменяй основную программу, а не процедуру. В процедуре все нормально.

Anark1, это не поможет, поскольку зацикливание - не внутри repeat/until, а внутри
Код
While ch <> #27 do begin
  ... { этого цикла. K не изменяется, поэтому постоянно будет вызываться CreatFile + InputFile } 
end;

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0420 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.