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

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

Как передать имя файла теста программе тестирования? [D7, XP]


Страницы:   1 2

Евгенич ©   (2007-02-08 03:27:00) 

Уважаемые мастера! Что я делаю неправильно? Откомпилировав пример программы тестирования из книги по Дельфи получил ошибку "Не задан файл вопросов теста". Однако все делал по книге. По книге предложено передать имя файла теста программе тестирования через параметр командной строки (используются ParamCount, ParamStr) . Для этого в свойствах ярлыка к программе тестирования (в командной строке) нужно приписать имя файла вопросов с присущим ему расширением. Еще из среды Дельфи нужно в параметрах (Run\parameters) имя файла вопросов указать (peterb.txt).
Так вот, если я запускаю прогу из среды, то программа тестирования работает, а если из папки - то выдает "Не задан файл вопросов теста".
Если же я пытаюсь вызвать программу через ярлык (свойства которого изменил), то открывается просто txt-шный файл вопросов теста (что и понятно - ведь он оказывается конечным файлом указанного пути). Вероятно я неправильно изменяю свойства ярлыка в командной строке? (Ярлык перестает быть связанным с самой программой).
Что не так?
Кстати, в книге автор так рекомендует изменять свойства ярлыка: "...в поле Объект, после имени файла программы (Test1.exe), ввести имя файла теста (Peterb.txt), заключив его в двойные кавычки", а на картинке так (видимая часть): lphi7\Проекты\Тест, версии 1 и 2\PETERB.txt"


Евгенич   (2007-02-08 07:00:00) [21]


> сначала разберись как работает то, что только-что сделал

Это точно! Ни черта еще не понимаю. Решил вот код попробовать почитать (как советовали здесь на форуме). И сразу столкнулся с "трудностями перевода", хоть и смешными, наверняка.

Спасибо за подсказки! Мне теперь надолго разбираться хватит... :-)

Хотя все равно любопытство гложет - возможно ли вопросы (с пометками правильных) прямо в exe-шник запихать?


RASkov   (2007-02-08 06:25:00) [22]

> А как спрятать вопросы к тесту и ответы к ним?

Да не надо пока ничего никуда прятать, сначала разберись как работает то, что только-что сделал
А то судя по твоим постам(вопросам), ты толком-то еще незнаешь что такое имя файла; параметр командной строки; ярлык.
А по вопросу - шифруй. При чтении расшифровывай в программе, для твоей тестпрограммы подойдет какой-нибудь самый простой способ шифрования

А вот(на всякий случай) пара функций (де)шифрования из RxStrUtils:

function XorEncode(const Key, Source: string): string;
var
 I: Integer;
 C: Byte;
begin
 Result := '';
 for I := 1 to Length(Source) do begin
   if Length(Key) > 0 then
     C := Byte(Key[1 + ((I - 1) mod Length(Key))]) xor Byte(Source[I])
   else
     C := Byte(Source[I]);
   Result := Result + AnsiLowerCase(IntToHex(C, 2));
 end;
end;

function XorDecode(const Key, Source: string): string;
var
 I: Integer;
 C: Char;
begin
 Result := '';
 for I := 0 to Length(Source) div 2 - 1 do begin
   C := Chr(StrToIntDef('$' + Copy(Source, (I * 2) + 1, 2), Ord(' ')));
   if Length(Key) > 0 then
     C := Chr(Byte(Key[1 + (I mod Length(Key))]) xor Byte(C));
   Result := Result + C;
 end;
end;


Евгенич   (2007-02-08 05:42:00) [23]

Ура! Сработало! Спасибо!

А как спрятать вопросы к тесту и ответы к ним?


ЮЮ   (2007-02-08 05:30:00) [24]

файл в разных условиях ищется в разных директориях.

lphi7\Проекты\Тест, версии 1 и 2\PETERB.txt"

lphi7\Проекты\Тест, версии 1 и 2\<программа тестирования>.exe" PETERB.txt
т.е. сначала - имя программы, а затем - параметр


Евгенич   (2007-02-08 05:16:00) [25]

Хорошо бы узнать еще альтернативный способ - как сделать так, чтобы вопросы теста были недоступны для пользователя (особенно признаки правильных и неправильных ответов :-)). Если делать так, как предлагает автор книги, то любой может посмотреть ответы...

Может быть есть способ позволяющий вложить вопросы в сам ехе-шник?


Страницы:   1 2

Наверх

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