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

Вниз

Вот, сваял на скорую руку. Отведайте...   Найти похожие ветки 

 
pasha_golub   (2003-07-23 18:28) [0]

Написал я, вот тут, тест онлайновый по Делфи. Всего 10 вопросов и одна тема, пока. Тема: "Язык Паскаль"

Поюзайте люди добрые. И мне добрым (али злым) словом подсобите. Доступ я включу, только на часик. А если понравиться может исчо включу. У кого есть вопросы или желание помочь (читай "сделать за меня" :-) милости просим.

http://www.farata.kr.ua/testsonline


 
sergey2.2 release   (2003-07-23 18:36) [1]

а бумажки мол прошол сертификацию присылать будешь?


 
pasha_golub   (2003-07-23 18:37) [2]

Проблем не было с открытием. А то я не знаю правильно ли маршрутизацию прописал?

А на кой хрен нам бумажки? Я мечтаю общими усилиями базу вопросов сделать. А там как получиться...


 
Романов Р.В.   (2003-07-23 18:41) [3]

Глючит подсчет баллов
http://www.farata.kr.ua/testsonline/question.php?last_id=52


 
Palladin   (2003-07-23 18:42) [4]

после окончания теста ошибка в скрипте высветилась на последней странице... в самом експлорере...


 
pasha_golub   (2003-07-23 18:44) [5]

2Романов Р.В.

Подсчет баллов не глючит. Я ж написал, что некотрые варианты имеют отрицательный вес!

2 Palladin
Чего написала? А то я только под Мозиллой проверял.

Спасибо всем, кто откликается.


 
sergey2.2 release   (2003-07-23 18:47) [6]


> pasha_golub © (23.07.03 18:37)


> А на кой хрен нам бумажки? Я мечтаю общими усилиями базу
> вопросов сделать. А там как получиться...

а тада какой резон проходить? сейчас фактически "знаем ли мы столько сколько pasha_golub"


 
NickBat   (2003-07-23 18:52) [7]

Глючит откат назад. В таких программах по идее не должно быть возврата назад по перечню вопросов. У тебя это есть,но номер вопроса увеличивается на 1.


 
Palladin   (2003-07-23 18:52) [8]

эээ...
с таймерной процедурой в скрипте видимо проблема
http://www.farata.kr.ua/testsonline/question.php?last_id=51


 
Игорь Шевченко   (2003-07-23 18:53) [9]

Дык, вроде нормально работает. Я честно набрал свои 35 баллов :))


 
pasha_golub   (2003-07-23 18:53) [10]

Я ж не для себя, а для людей и вместе с людьми :-)
OpenSource понимаешь :-)


 
sergey2.2 release   (2003-07-23 18:56) [11]

и в самом деле ошибка:
предполагается наличие объекта
строка 1
символ 1
код 0


 
pasha_golub   (2003-07-23 18:59) [12]

Это у нас question.php

<HTML>
<HEAD>
<TITLE>Делфи | Тестирование</TITLE>
<link rel=stylesheet href=styles.css>
<?php
$questions = 10;

if (mysql_connect(ТУТ Я ВАМ НИЧЕГО НЕ ПОКАЖУ :-))) {
if (!mysql_select_db("testsonline")) {
echo " Не удалось соедениться с базой данных!!!";
exit();
}
} else {
echo " Не удалось соедениться с сервером баз данных!!!";
exit();
} ;
$last_id = $_GET["last_id"];

$score = 0;
$sql = "SELECT t_questionid FROM transactions WHERE t_id = $last_id";
$res = mysql_query($sql);
$row = mysql_fetch_row($res);
$questionid = $row[0];
if ($questionid > 0)
{
$sql = "SELECT q_points1, q_points2, q_points3, q_points4 FROM questions WHERE q_id = $questionid";
$res = mysql_query($sql);
$row = mysql_fetch_row($res);

$answer1 = $_POST["answer1"];
$answer2 = $_POST["answer2"];
$answer3 = $_POST["answer3"];
$answer4 = $_POST["answer4"];

if ($answer1 == 1) { $score = $score + $row[0]; }
if ($answer2 == 2) { $score = $score + $row[1]; }
if ($answer3 == 3) { $score = $score + $row[2]; }
if ($answer4 == 4) { $score = $score + $row[3]; }
$sql = "SELECT t_score FROM transactions WHERE t_id = $last_id";
$res = mysql_query($sql);
$row = mysql_fetch_row($res);
$score = $score + $row[0];
$sql = "UPDATE transactions SET t_score = $score WHERE t_id = $last_id";
$res = mysql_query($sql);
}
echo "<meta HTTP-EQUIV="refresh" CONTENT="91; URL=question.php?last_id=".$last_id."">";

$sql = "select t_questionnumber from transactions where t_id = "$last_id"";
$res = mysql_query($sql);
$row = mysql_fetch_row($res);
$q_number = $row[0] + 1;
if ($q_number <= $questions) {include "script.js"; }
?>


</head>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#07017F" VLINK="#A39D89" topmargin=0 leftmargin=0 marginheight=0 marginwidth=0
onload="if(resetVals){
setem();
}
if(doTimer){
tf=window.setTimeout("TimerFunc()",1000);
}"
>

<script language="javascript">
var doTimer=false;
var resetVals=false;
</script>


<FORM METHOD=POST name="qform" onsubmit="window.clearTimeout(tf);window.document.qform.submitbutton.disabled=true;">

<?php

echo "<INPUT TYPE="hidden" name="last_id" value=".$last_id.">";
?>
<INPUT TYPE="hidden" name="type" value="radio">
<INPUT TYPE="hidden" name="spenttime" value="0">

<br><span id=left30sec style="visibility:hidden; color:red"> Осталось 30 секунд</span>


<?php
if ($q_number > $questions) {
echo "<b class="red">Ваш окончательный счет равен ".$score."";
include "finish.phtml"; }
else
{
$sql = "select q_text, q_answer1, q_answer2, q_answer3, q_answer4 from questions where q_id = "$q_number"";
$res = mysql_query($sql);

$row = mysql_fetch_row($res);
echo "<TABLE border="0" bgcolor="#828097" width="400" cellspacing="0" cellpading="0" align="center">";
echo "<TR><TD>";
echo "<TABLE border="0" width=100% cellspacing="0" cellpadding="3">";
echo "<TR>";
echo "<TD>";
echo "<b class="smallwhite" align="left"> Вопрос номер ".$q_number." из 10";
echo "</TD>";
echo"</TR><TR bgcolor="#FFFFFF"><TD> ";
echo $row[0]."<BR>
<hr>";

# варианты ответа
echo "</TD></TR>";
echo "<TR><TD bgcolor="#FFFFFF">";
for ($i=1; $i<5; $i++)
{
echo "<INPUT TYPE="checkbox" name="answer".$i."" value=".$i.">".$i.") ".$row[$i]."</LI><br>";
}
echo "</TD></TR>";
( $sql) Это у нас question.php

<HTML>
<HEAD>
<TITLE>Делфи | Тестирование</TITLE>
<link rel=stylesheet href=styles.css>
<?php
$questions = 10;

if (mysql_connect(ТУТ Я ВАМ НИЧЕГО НЕ ПОКАЖУ :-))) {
if (!mysql_select_db("testsonline")) {
echo " Не удалось соедениться с базой данных!!!";
exit();
}
} else {
echo " Не удалось соедениться с сервером баз данных!!!";
exit();
} ;
$last_id = $_GET["last_id"];

$score = 0;
$sql = "SELECT t_questionid FROM transactions WHERE t_id = $last_id";
$res = mysql_query($sql);
$row = mysql_fetch_row($res);
$questionid = $row[0];
if ($questionid > 0)
{
$sql = "SELECT q_points1, q_points2, q_points3, q_points4 FROM questions WHERE q_id = $questionid";
$res = mysql_query($sql);
$row = mysql_fetch_row($res);

$answer1 = $_POST["answer1"];
$answer2 = $_POST["answer2"];
$answer3 = $_POST["answer3"];
$answer4 = $_POST["answer4"];

if ($answer1 == 1) { $score = $score + $row[0]; }
if ($answer2 == 2) { $score = $score + $row[1]; }
if ($answer3 == 3) { $score = $score + $row[2]; }
if ($answer4 == 4) { $score = $score + $row[3]; }
$sql = "SELECT t_score FROM transactions WHERE t_id = $last_id";
$res = mysql_query($sql);
$row = mysql_fetch_row($res);
$score = $score + $row[0];
$sql = "UPDATE transactions SET t_score = $score WHERE t_id = $last_id";
$res = mysql_query($sql);
}
echo "<meta HTTP-EQUIV="refresh" CONTENT="91; URL=question.php?last_id=".$last_id."">";

$sql = "select t_questionnumber from transactions where t_id = "$last_id"";
$res = mysql_query($sql);
$row = mysql_fetch_row($res);
$q_number = $row[0] + 1;
if ($q_number <= $questions) {include "script.js"; }
?>


</head>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#07017F" VLINK="#A39D89" topmargin=0 leftmargin=0 marginheight=0 marginwidth=0
onload="if(resetVals){
setem();
}
if(doTimer){
tf=window.setTimeout("TimerFunc()",1000);
}"
>

<script language="javascript">
var doTimer=false;
var resetVals=false;
</script>


<FORM METHOD=POST name="qform" onsubmit="window.clearTimeout(tf);window.document.qform.submitbutton.disabled=true;">

<?php

echo "<INPUT TYPE="hidden" name="last_id" value=".$last_id.">";
?>
<INPUT TYPE="hidden" name="type" value="radio">
<INPUT TYPE="hidden" name="spenttime" value="0">

<br><span id=left30sec style="visibility:hidden; color:red"> Осталось 30 секунд</span>


<?php
if ($q_number > $questions) {
echo "<b class="red">Ваш окончательный счет равен ".$score."";
include "finish.phtml"; }
else
{
$sql = "select q_text, q_answer1, q_answer2, q_answer3, q_answer4 from questions where q_id = "$q_number"";
$res = mysql_query($sql);

$row = mysql_fetch_row($res);
echo "<TABLE border="0" bgcolor="#828097" width="400" cellspacing="0" cellpading="0" align="center">";
echo "<TR><TD>";
echo "<TABLE border="0" width=100% cellspacing="0" cellpadding="3">";
echo "<TR>";
echo "<TD>";
echo "<b class="smallwhite" align="left"> Вопрос номер ".$q_number." из 10";
echo "</TD>";
echo"</TR><TR bgcolor="#FFFFFF"><TD> ";
echo $row[0]."<BR>
<hr>";

# варианты ответа
echo "</TD></TR>";
echo "<TR><TD bgcolor="#FFFFFF">";
for ($i=1; $i<5; $i++)
{
echo "<INPUT TYPE="checkbox" name="answer".$i."" value=".$i.">".$i.") ".$row[$i]."</LI><br>";
}
echo "</TD></TR>";
echo "</TD></TR></TABLE>";
echo "<b class="smallwhite">Ваш текущий счет равен ".$score."</td></tr></table>";
echo "<input align="center" type=submit name=submitbutton value="Отправить ответ" style="margin-top: 3px; background-color:#CAD5E0; font-family: Verdana, Tahoma, MS Sans Serif; font-size: 8pt; font-weight: bold;" ></td>";
$sql = "UPDATE transactions SET t_questionnumber= "$q_number", t_questionid= "$q_number" WHERE t_id="$last_id"";
$res = mysql_query($sql);
}
?>
<br>
</FORM>
<script language="javascript">
doTimer = true;
</script>
</BODY>
</HTML>


 
sergey2.2 release   (2003-07-23 19:00) [13]


> pasha_golub © (23.07.03 18:53)

понимаю :)
хороший тест, прошу прощения за наезд :)


 
pasha_golub   (2003-07-23 19:02) [14]

это у нас script.js
<script language="javascript">
var ck=0;
var tf=0;
var timeUp=0;
var timeLeft=0;
var tcount=0;

function TimerFunc() {
tf=window.setTimeout("TimerFunc();",1000);
tcount++;
window.document.qform.spenttime.value=tcount;
timeLeft=90 - tcount;
window.status = "Осталось "+Math.round(timeLeft)+" секунд";
if(timeLeft==30) {
left30sec.style.visibility = "visible";
}
if(timeLeft == 0) {
window.clearTimeout(tf);
timeUp=1;
document.qform.submit();
}
}


function verifyAnswer() {
document.qform.submitbutton.disabled=true;
document.qform.submit();
return(true);

if(timeUp==1) {
return(true);
}
for(var i=0;i<5;i++) {
if(document.qform.fansw[i].checked == true) {
window.clearTimeout(tf);
return(true);
}
}
if(ck==0) {
ck=1;
if(confirm("Вы не выбрали ответ.Если Вы нажмете \"OK\", система \nперейдет к следующему вопросу и этот ответ будет защитан как неправильный. \nВы не сможете вернуться к этому вопросу позже.")) {
window.clearTimeout(tf);
return(true);
}
}
else return(true);

( false) это у нас script.js
<script language="javascript">
var ck=0;
var tf=0;
var timeUp=0;
var timeLeft=0;
var tcount=0;

function TimerFunc() {
tf=window.setTimeout("TimerFunc();",1000);
tcount++;
window.document.qform.spenttime.value=tcount;
timeLeft=90 - tcount;
window.status = "Осталось "+Math.round(timeLeft)+" секунд";
if(timeLeft==30) {
left30sec.style.visibility = "visible";
}
if(timeLeft == 0) {
window.clearTimeout(tf);
timeUp=1;
document.qform.submit();
}
}


function verifyAnswer() {
document.qform.submitbutton.disabled=true;
document.qform.submit();
return(true);

if(timeUp==1) {
return(true);
}
for(var i=0;i<5;i++) {
if(document.qform.fansw[i].checked == true) {
window.clearTimeout(tf);
return(true);
}
}
if(ck==0) {
ck=1;
if(confirm("Вы не выбрали ответ.Если Вы нажмете \"OK\", система \nперейдет к следующему вопросу и этот ответ будет защитан как неправильный. \nВы не сможете вернуться к этому вопросу позже.")) {
window.clearTimeout(tf);
return(true);
}
}
else return(true);

return(false);
}
</script>


 
pasha_golub   (2003-07-23 19:07) [15]

2sergey2.2 release

Да какой нафиг наезд? :-) Ты с Палладином общался? :-)

2Палладин
Без обид попрошу, шучу :-)


 
pasha_golub   (2003-07-23 19:12) [16]

Приглашаю составителей вопросов. Вопрос один. Четыре ответа. Сумма положительных ответов не выше пяти, сумма отрицательных не меньше 6. В вопросе имейте в виду, что некоторые умники могут выбрать все варианты одновременно :-)


 
Palladin   (2003-07-23 19:12) [17]

гы... я даже не понял на че обижатся то...


 
pasha_golub   (2003-07-23 19:15) [18]

2Palladin

Ну, тем мне спокойнее :-)


 
ZZ   (2003-07-23 19:19) [19]

Я ж не для себя, а для людей и вместе с людьми :-)
OpenSource понимаешь :-)


Opensource эт конечно хорошо, только мне кажется, что нную часть твоих вопросов я уже видел в другом месте и лежали они там явно не под GNU/GPL... Или пойти покреститься?


 
easy   (2003-07-23 19:28) [20]

действительно, при подсчёте баллов - ошибка..


 
SergP   (2003-07-23 23:15) [21]

2 pasha_golub © & ALL

Прошу не обращать внимания на этого дебила, который ходит под ником sergey2.* и указывает мой E-mail. Пусть успокоится...


 
ZZ   (2003-07-24 01:46) [22]

SergP
Я наверное чего-то не понимаю, но почему мы должны считать, что он - это ты? Как маленький... бегаешь во все ветки и пишешь - ой, это не я, это не я... Забей на него ;) (можешь и его забить, но главное не ошибись :)


 
Иван Шихалев   (2003-07-24 08:28) [23]

Однако...


Socket Error

Connection to Remote Host timed out



 
pasha_golub   (2003-07-24 10:38) [24]

2 ZZ

Все что есть на Земле либо уже было изобретено, либо лежит на поверхности. Вопросы составлял сам, используя при этом 1 том Тейксеры и Пачеко, но я думаю это только должно приветствоваться. А как Вам такое, что учитель английского языка каждый урок начинает со слов: "Who is on duty today?" Так что ж теперь нам обвинить его в плагиаете и отсутствии педагогичеких навыков? Единственное это то, что я слямзил код Java-скрипта и то не считаю это зазорным, потому что в инете этих скриптов кругом и все вроде как открытые

2 Иван Шихалев

Я давал доступ 23.07 в 18.00, а на данный момент он закрыт. Исправлю огрехи с подсчетом баллов про которые упоминали easy, Palladin, Романов В.В. (если кого забыл извините), подкорректирую неточности в хтмл-коде и часов в 17, думаю, можно попробовать еще.


 
pasha_golub   (2003-07-24 11:32) [25]

Пофиксенные баги:
1. Счетчик ужо не глючит.
2. Ошибок в java-скрипте не наблюдается.
3. Проверено под IE 6.0 и Mozilla 1.4


 
Ihor Osov'yak   (2003-07-24 11:59) [26]

http://www.farata.kr.ua/testsonline/finish.phtml?last_id=82
35 тоже..
Вопросы даже немного поумнее, чем на http://www.certifications.ru

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

Также система тестирования без вариантности смысла не имеет.

Зы. Делалось на скорую руку и не ставилось за цель проверить провильности вопросов. Но явных ляпсусов, как на http://www.certifications.ru, не замечено.


IE6, sp1




 
AlexRush   (2003-07-24 12:10) [27]

А у меня Opera вообще повисла :(


 
pasha_golub   (2003-07-24 12:11) [28]

2Ihor Osov"yak

Большое спасибо! Вариантность на первом месте в ТуДу (ToDo). Вопросы приветствуютс со стороны. Сумма баллов будет убрана. Или сделаю два вида: один - пробный с подсказками, а другой - котрольный. Исчо не знаю.


 
pasha_golub   (2003-07-24 12:13) [29]

2AlexRush

Она у Вас не повисла. Я доступ закрыл, не проверя есть ли кто. Приношу извинения. Исчо подработаю и вечером опять открою. Еще раз извините.


 
dataMaster   (2003-07-24 12:17) [30]

У меня опера 6.05. Нормально все работало, когда доступ был


 
pasha_golub   (2003-07-24 12:19) [31]

2dataMaster
Спасибки

Добавляю в список поддерживаемого софта:
IE 6.0, Mozilla 1.4, Opera 6.05



 
ZZ   (2003-07-24 14:11) [32]

pasha_golub
А как Вам такое, что учитель английского языка каждый урок начинает со слов: "Who is on duty today?"
Отмороженный какой-то учитель :)

Вопросы составлял сам, используя при этом 1 том Тейксеры и Пачеко
Я этой книги не читал и поэтому не знаю - может там примеры такие, но я недавно прошел тест на http://www.certifications.ru и некоторые вопросы одинаковые... Ну раз сам писал, то нет вопросов :)

PS. Кстати 37 :)
ЗЗЫ. Какой правильный ответ в вопросе про длину строки Length(S)/S[0]/Integer(S[0])/еще чего-то...?


 
ZZ   (2003-07-24 14:13) [33]

Исчо подработаю и вечером опять открою
Кстати, во сколько (по московскому) откроешь лавочку? :)


 
pasha_golub   (2003-07-24 15:22) [34]

2ZZ

Учитывая, что переменная объявлена с использованием директивы компилятора {$H-} это значит что:
1. Память под S выделена статически.
2. Выделено 256 байт.
3. Из которых 0 байт содержит длину строки в символах, остальные 255 могут быть заполнены символами.
4. Обращение S[i] компилятор понимает все равно как обращение к элементу массива типа char, какой бы индекс там не стоял.

Следственно имеем:

1. length(s) - однозначно проходит, так как для этого и существует. Ответ: ДА
2. S[0] - по идее должно работать, но не будет из-за несовпадения типов. То есть Incompatible types "Integer" and "Char". Ответ: "НЕТ"
3. Integer(S[0]) - работать будет и правильно. Мы знаем, что в нулевом элементе то, что нам нужно и просим компилятор не "мешать", используя приведение типов. Ответ: "ДА"
4. sizeof(s) - возвращает результат требуемого типа, но тот, что нужен. Вопрос про длину в символах. А он нам возвращает размер занимаемой памяти, то есть 256. Ответ: "НЕТ"


 
pasha_golub   (2003-07-24 15:24) [35]

В 4 ответе ошибка: "...но не тот, что нужен."


 
ZZ   (2003-07-24 16:01) [36]

pasha_golub
Ага. Вот по 2 варианту как раз вопрос. На сколько я помню там
L:=... причем что такое L не указано. Или я ошибаюсь? Явное указание типа L, имхо, не будет сильно большой подсказкой. При особом желании можно длину и из char (byte) достать :))


 
pasha_golub   (2003-07-24 16:29) [37]

2ZZ

Совершенно согласен. Исправляю. Спасибо :-)


 
pasha_golub   (2003-07-25 15:48) [38]

Ну что, предлагаю сделать еще один заход. С новым дизайном и с новой темой. Есть пара новых вопросов. Будем считать это уже альфа-версией. :-)


 
PVOzerski   (2003-07-25 17:32) [39]

Любопытство заело... Сейчас прохожу тест, а заодно критику навожу...

Набрал 35 баллов - сначала стыдно стало, потом смотрю
Игорь Шевченко © (23.07.03 18:53) - полегчало :^).

А вот и критика - и некоторые мои потерянные очки. Это я про
Form1.Show... Вы ведь не оговорили в тесте, что Form1-это класс, а не указатель на класс, на объект или на record с полем-процедурной переменной. Так чем же Form1^.Show плохо?


 
PVOzerski   (2003-07-25 17:46) [40]

По WinAPI - тоже 35... А вот критика уже не столь буквоедская, по существу. Сорри, но вопрос по обработчик сообщений (что это метод класса и т.д.) в таком виде - это не WinAPI, а самый что ни на есть синтаксис Object Pascal применительно к VCL. Более того, требования к callback-функциям-обработчикам сообщений, предъявляемые WinAPI, совершенно другие.



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

Форум: "Потрепаться";
Текущий архив: 2003.08.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.57 MB
Время: 0.006 c
14-45138
fester
2003-07-31 00:57
2003.08.14
ShellExecute


14-44977
Дрын
2003-07-24 06:05
2003.08.14
Мастерам а также любителям клубной музыки


14-44969
VladP
2003-07-30 08:27
2003.08.14
Посоветуйте цифровой фотоаппарат за 350$


14-45038
SPeller
2003-07-27 10:33
2003.08.14
Восстановить раздел


14-45109
rastochnik
2003-06-18 12:01
2003.08.14
использовавание динамической загрузки





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский