Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

чтение файла по строкам


Страницы:   1 2 3

jess ©   (2011-09-08 22:39:00) 

привет! пишу тестирующую программу, в которой дан файл с вопросами и вариантами ответов теста. подскажите пожалуйста как сделать так, чтобы файл читать по строкам?т.е. допустим первая строка - вопрос, следующие 3 строки - варианты ответа????и как запомнить какой из ответов правильный???очень нужна помощь!!!


Dennis I. Komarov   (2011-09-13 22:48:00) [21]


> ну всё же я студентка...=)

и что? сдавай то, что написала. Будет справедливая оценка... (ну может быть)


jess   (2011-09-13 22:42:00) [22]

ну всё же я студентка...=)


Dennis I. Komarov   (2011-09-13 22:36:00) [23]


> хотелось бы самой научиться а не брать готовое

тогда к чему [31]?

З.Ы. Аска в анкете...


jess   (2011-09-13 22:33:00) [24]

хотелось бы самой научиться а не брать готовое


Dennis I. Komarov   (2011-09-13 22:25:00) [25]


> не видать мне красного диплома

ооо, ни разу не видел, чтоб пригодибся ибо ИМХО оценка субъективна...

> это задание на оценку и без него...

OW предлагал, ведь в любом случае лучше поделки студента...


jess   (2011-09-13 22:20:00) [26]

это задание на оценку и без него не зачтут саму практику,а после не допустят до сессии и соответственно не видать мне красного диплома..


Dennis I. Komarov   (2011-09-13 22:13:00) [27]


> jess   (13.09.11 22:08) [29]

Уточняю: тебе зачем?


jess   (2011-09-13 22:08:00) [28]

у меня сейчас производственная практика..каждому студенту на этот период свое индивидуальное практическое задание..вот мне нужно разработать тестирующую программу..=))


Dennis I. Komarov   (2011-09-13 22:05:00) [29]

еще вопрос: прога зачем?


jess   (2011-09-13 21:59:00) [30]

текстовый файл выглядит так:

!Какая самая наименьшая единица измерения информации?
-Байт
+Бит
-Мегабайт
!Чему равен 1 байт?
-10 бит
-64 бит
+8 бит
!Чему равно десятичное число 4 в двоичной системе?
-101
+100
-110

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


jess   (2011-09-13 21:53:00) [31]

procedure TForm7.FormActivate(Sender: TObject);

begin

  AssignFile(f,'tema_tem_1.txt'); // привязка названия файла к файловой переменной
  {$I-} // отключение контроля ошибок ввода-вывода
  Reset(f); // открытие файла для чтения
  {$I+} // включение контроля ошибок ввода-вывода
  if IOResult<>0 then // если есть ошибка открытия, то
  begin
  ShowMessage('Ошибка открытия файла tema_tem_1.txt');
  Exit; // выход из процедуры при ошибке открытия файла
  end;

  Readln(f,s); // читать из файла строку
  Delete(s,1,1);
  kol_n:=1;
  lbl5.Caption:='Всего вопросов - ';
  lbl7.Caption:='Вопрос № '+IntToStr(kol_n);
  lbl8.Caption:=(s);
  rb1.Caption:='';
  rb2.Caption:='';
  rb3.Caption:='';
  for i:=1 to 3 do
  begin
   Readln(f,s);
  k:=Copy(s,1,1);
  if k='+' then kk:=i;

   case i        of
    1: begin
         Delete(s,1,1);
         rb1.caption:=(s);
       end;
    2: begin
         Delete(s,1,1);
         rb2.caption:=(s);
       end;
    3: begin
         Delete(s,1,1);
         rb3.caption:=(s);
       end;
   end;
   end;

end;

procedure TForm7.btn1Click(Sender: TObject);
begin

   begin
  Readln(f,s); // читать из файла строку
  Delete(s,1,1);
  lbl5.Caption:='Всего вопросов - ';
  kol_n:=kol_n+1;
  lbl7.Caption:='Вопрос № '+IntToStr(kol_n);
  lbl8.Caption:=(s);
  rb1.Caption:='';
  rb2.Caption:='';
  rb3.Caption:='';
  for i:=1 to 3 do
  begin
  Readln(f,s);
  k:=Copy(s,1,1);
  if k='+' then kk:=i;

   case i        of
    1: begin
         Delete(s,1,1);
         rb1.caption:=(s);
       end;
    2: begin
         Delete(s,1,1);
         rb2.caption:=(s);
       end;
    3: begin
         Delete(s,1,1);
         rb3.caption:=(s);
       end;
   end;
  end;
 end;

end;


Dennis I. Komarov   (2011-09-13 21:47:00) [32]


> спасибо конечно,но я ничего покупать не буду..сделаю сама,
> просто мне нужно немного помощи..

Молодец!

> написала код,вроде работает..но он мягко сказать недоделанный((
> стоит его скидывать???

давай, посмотрим...


  (2011-09-13 18:35:00) [33]

Удалено модератором


Германн   (2011-09-13 00:21:00) [34]


> написала код,вроде работает..но он мягко сказать недоделанный((
> стоит его скидывать???

Не стОит. Будут конкретные вопросы, милости просим.


jess   (2011-09-12 22:21:00) [35]

написала код,вроде работает..но он мягко сказать недоделанный(( стоит его скидывать???


brother   (2011-09-12 05:52:00) [36]

посмотрим


jess   (2011-09-10 21:12:00) [37]

как только сделаю код, обязательно скину..=)может что нибудь поправите=)


Inovet   (2011-09-10 11:18:00) [38]

> [18] Anatoly Podgoretsky ©   (10.09.11 10:31)
> по строкам это Readln
...
> может можно загрузить весь файл?

jess, по строкам удобно для последовательного вывода вопросов, а весь удобно для вывода в случайном порядке. При правильно заполненом файле это будет блок из 4-х строк с началм кратным 4 т.е. 0, 4, 8, ..., Random * 4 это первая строка (0) присваиваем в Caption вопроса, последующие 3 в радиобатоны. Первый символ проверяем на "+" и запоминаем номер строки, как номер правильного ответа, строку выводим со следующего символа.


Anatoly Podgoretsky   (2011-09-10 10:31:00) [39]

> jess  (09.09.2011 21:50:13)  [13]

Чтение файла по строкамэто Readln, других функции чтения именно по
строкам нет.
Но может не надо по строкам, может можно загрузить весь файл?


Германн   (2011-09-10 00:59:00) [40]


> jess   (09.09.11 21:50) [13]
>
> > OW
> спасибо конечно,но я ничего покупать не буду..сделаю сама,
> просто мне нужно немного помощи..

Ну хоть учебник-то всё таки купи. Не так уж и дорого. :)


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо