Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.12.25;
Скачать: CL | DM;

Вниз

чтение файла по строкам   Найти похожие ветки 

 
jess   (2011-09-08 22:39) [0]

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


 
DVM ©   (2011-09-08 22:56) [1]


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

TStringList.LoadFromFile и читай сразу весь файл, небось не на гигабайт у тебя там вопросов то


> и как запомнить какой из ответов правильный???

В начале строк ставь:
? - вопрос,
+ - правильный ответ
- - неправильный ответ
ну и проверяй каждую строку на предмет этих символов, потом символы отрезай


 
jess   (2011-09-08 23:39) [2]

а так получится считать сразу весь файл, если вопрос отображается в лэйбле а варианты в радиобаттонах???получается сначала начать чтение, а потом в зависимости от символов выводить строки в нужных местах??


 
DVM ©   (2011-09-08 23:43) [3]

Ты считаешь весь файл, получишь список строк, которые перебирай в цикле и выводи там где тебе надо.


 
jess   (2011-09-08 23:48) [4]

строки полученные так скажем будут иметь свой номер? и  как узнать количество строк полученных в этом списке?


 
DVM ©   (2011-09-09 00:10) [5]


> строки полученные так скажем будут иметь свой номер? и  как
> узнать количество строк полученных в этом списке?

будут, от нуля до TStringList.count - 1

TStringList + F1


 
Германн ©   (2011-09-09 00:44) [6]


> jess   (08.09.11 22:39)
>
> привет! пишу тестирующую программу

Купи учебник. Прочти. Потом начинай писать "тестирующую программу", предварительно уточнив у преподавателя (не у нас, а у него) "детали" данной учебной задачи.


 
Медвежонок Пятачок ©   (2011-09-09 09:19) [7]

Убери из файла неправильные варианты ответа.
Тогда правильный ответ - следующая строка сразу после вопроса.


 
OW ©   (2011-09-09 15:09) [8]

опять. :)
такую уже писал как-то кому-то тут. ADO + Access.
Хотите -
Шлю *.ехе - понравится если, 100 рублей на телефон мне кладете, высылаю исходники.


 
Inovet ©   (2011-09-09 15:19) [9]

> [8] OW ©   (09.09.11 15:09)
> 100 рублей на телефон

Демпинг


 
jess   (2011-09-09 15:47) [10]

всем спасибо за помощь!!


 
OW ©   (2011-09-09 16:01) [11]


> Inovet ©   (09.09.11 15:19) [9]

мне стыдно второй раз брать за одно и тоже больше :)


 
Anatoly Podgoretsky ©   (2011-09-09 16:16) [12]

> OW  (09.09.2011 16:01:11)  [11]

Ты не бизнесмен, наши так не поступают.


 
jess   (2011-09-09 21:50) [13]

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


 
Inovet ©   (2011-09-09 21:54) [14]

> [13] jess   (09.09.11 21:50)
> мне нужно немного помощи

В [1] ведь уже всё сказано было, а после уточнено.


 
jess   (2011-09-09 22:05) [15]

поэтому в [10] я и сказала за это всем спасибо. то,что я хотела узнать,я узнала


 
SQLEX ©   (2011-09-10 00:35) [16]

правильно, сам учил, но не платил никогда :)
Но пока не видно было ничего, ни кода и ни идеи


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


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

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


 
Anatoly Podgoretsky ©   (2011-09-10 10:31) [18]

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

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


 
Inovet ©   (2011-09-10 11:18) [19]

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

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


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

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


 
brother ©   (2011-09-12 05:52) [21]

посмотрим


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

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


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


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

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


 
имя   (2011-09-13 18:35) [24]

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


 
Dennis I. Komarov ©   (2011-09-13 21:47) [25]


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

Молодец!

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

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


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

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;


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

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

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

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


 
Dennis I. Komarov ©   (2011-09-13 22:05) [28]

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


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

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


 
Dennis I. Komarov ©   (2011-09-13 22:13) [30]


> jess   (13.09.11 22:08) [29]

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


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

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


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


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

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

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

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


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

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


 
Dennis I. Komarov ©   (2011-09-13 22:36) [34]


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

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

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


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

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


 
Dennis I. Komarov ©   (2011-09-13 22:48) [36]


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

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


 
jess   (2011-09-13 22:52) [37]

я хочу написать  неплохую прогу,и своими руками,чтобы навыки остались...


 
Dennis I. Komarov ©   (2011-09-13 22:54) [38]

см. [34]


 
jess   (2011-09-13 23:13) [39]

не получается((пишет что страница не найдена..


 
Dennis I. Komarov ©   (2011-09-13 23:15) [40]


> не получается((пишет что страница не найдена..

Это первое задание :) - познать hex ибо $



Страницы: 1 2 вся ветка

Текущий архив: 2011.12.25;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.01 c
15-1315415972
ClawClaw
2011-09-07 21:19
2011.12.25
Индиана Джонс (лего)


3-1269069120
Alexsis f
2010-03-20 10:12
2011.12.25
Хранение табличной части документа


15-1315083828
Knight
2011-09-04 01:03
2011.12.25
Алгоритм выбора случайного элемента...


2-1316358245
HF-Trade
2011-09-18 19:04
2011.12.25
XML - Не удается сохранить знак в кодировке windows-1251


4-1252568961
Гриня
2009-09-10 11:49
2011.12.25
Взаимодействие с Opera