Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.12.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.004 c
15-1315308256
Scott Storch
2011-09-06 15:24
2011.12.25
как повысить восприятие английского на слух.


2-1316273416
Anny
2011-09-17 19:30
2011.12.25
Координаты точек


3-1269323054
Boatswain
2010-03-23 08:44
2011.12.25
Динамически загружаемая dll и MSConnection


15-1315419704
неокубинец
2011-09-07 22:21
2011.12.25
Подскажите по подключению монитора


3-1269179179
Иван
2010-03-21 16:46
2011.12.25
Суперпозиция группировок в отображении данных БД





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский