Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2011, 14:00   #11
ДениC
Пользователь
 
Регистрация: 29.03.2011
Сообщений: 41
По умолчанию

Код:
Procedure TForm8.ResetForm;
begin // сделать невидимыми все метки и радиокнопки

     Label1.Visible:=FALSE;
     Label1.caption:='';
     Label1.width:=ClientWidth-Label1.left-5;
     RadioButton1.Visible:=FALSE;

     Label2.Visible:=FALSE;
     Label2.caption:='';
     Label2.width:=ClientWidth-Label2.left-5;
     RadioButton2.Visible:=FALSE;

     Label3.Visible:=FALSE;
     Label3.caption:='';
     Label3.width:=ClientWidth-Label3.left-5;
     RadioButton3.Visible:=FALSE;

     Label4.Visible:=FALSE;
     Label4.caption:='';
     Label4.width:=ClientWidth-Label4.left-5;
     RadioButton4.Visible:=FALSE;

     Label5.width:=ClientWidth-Label5.left-5;

     Image1.Visible:=FALSE;
end;

// определение достигнутого уровня
procedure TForm8.Itog;
  var
   i:integer;
   buf:string;
  begin
   buf:='';
   buf:='Результаты тестирования'+ #13
		+'Всего баллов: '+ IntToStr(summa);
   i:=1;
   while (summa < level[i]) and (i<N_LEV) do
         i:=i+1;
   buf:=buf+ #13+mes[i];
   Label5.Top:=20;
   Label5.caption:=buf;
  end;

procedure TForm8.FormActivate(Sender: TObject);
  begin
     ResetForm;
     if ParamCount = 0
     then begin
             Label5.caption:= 'Не задан файл вопросов теста.';
             Button1.caption:='Ok';
             Button1.tag:=2;
             Button1.Enabled:=TRUE
          end
     else begin
          fn := ParamStr(1);
          assignfile(f,fn);
          try
            reset(f);
          except
            on EFOpenError do
               begin
                    ShowMessage('Файл теста '+fn+' не найден.');
                    Button1.caption:='Ok';
                    Button1.tag:=2;
                    Button1.Enabled:=TRUE;
                    exit;
               end;
          end;
          Info; // прочитать и вывести информацию о тесте
          GetLevel;    // прочитать информацию об уровнях оценок
     end;
end;

// щелчок на кнопке Button1
procedure TForm8.Button1Click(Sender: TObject);
  begin
     case Button1.tag of
       0: begin
               Button1.caption:='Дальше';
               Button1.tag:=1;
               RadioButton5.Checked:=TRUE;
               // вывод первого вопроса
               Button1.Enabled:=False;
               ResetForm;
               VoprosToScr;
          end;
       1: begin // вывод остальных вопросов
               summa:=summa+score[otv];
               RadioButton5.Checked:=TRUE;
               Button1.Enabled:=False;
               ResetForm;
               if not eof(f)
                  then VoprosToScr
                  else
                     begin
                        summa:=summa+score[otv];
                        closefile(f);
                        Button1.caption:='Ok';
                        Form8.caption:='Результат';
                        Button1.tag:=2;
                        Button1.Enabled:=TRUE;
                        Itog; // вывести результат
                     end;
          end;
       2: begin // завершение работы
            Form8.Close;
          end;
     end;
end;

// Процедура обработки события OnClick
// для компонентов RadioButton1-RadioButton4
procedure TForm8.RadioButtonClick(Sender: TObject);
begin
  if sender = RadioButton1
  then otv:=1
  else if sender = RadioButton1
          then otv:=2
          else if sender = RadioButton3
                  then otv:=3
                  else otv:=4;
  Button1.enabled:=TRUE;
end;

// обеспечивает настройку компонентов
procedure TForm8.FormCreate(Sender: TObject);
begin
    Image1.AutoSize := False;
    Image1.Proportional := True;
    RadioButton1.Visible := False;
end;

end.
ДениC вне форума Ответить с цитированием
Старый 31.03.2011, 14:12   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну, то, что Вы привели исходник - это неплохо.
Плохо другое... то, что Вы не можете сформулировать - что Вас в работе Вашей программы НЕ УСТРАИВАЕТ!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.03.2011, 14:15   #13
ДениC
Пользователь
 
Регистрация: 29.03.2011
Сообщений: 41
По умолчанию

И вот картинка
Изображения
Тип файла: jpg 31.03.jpg (8.3 Кб, 119 просмотров)
ДениC вне форума Ответить с цитированием
Старый 31.03.2011, 14:16   #14
ДениC
Пользователь
 
Регистрация: 29.03.2011
Сообщений: 41
По умолчанию

Вот это не устраивает(((
ДениC вне форума Ответить с цитированием
Старый 31.03.2011, 14:32   #15
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

а теперь неплохо узнать КАК вызываете
Цитата:
Имя файла теста надо указать в командной строке запуска программы.
и где находится этот файл (который передаете) и как он называется.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 31.03.2011, 14:36   #16
ДениC
Пользователь
 
Регистрация: 29.03.2011
Сообщений: 41
По умолчанию

Файл находится в папке с программой, а вот насчет "как вызываю" я ответить не огу, т.к. незнаю.

P.s.: я изучаю всего лишь год, так что не обижайтесь на глупого)
ДениC вне форума Ответить с цитированием
Старый 31.03.2011, 14:37   #17
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Вот это не устраивает(((
вот так бы и давно!
Цитата:
Код:
   if ParamCount = 0
     then begin
             Label5.caption:= 'Не задан файл вопросов теста.';
значит ВЫ НЕ ЗАДАЁТЕ В КОМАНДНОЙ СТРОКЕ имя файла с вопросами.

Это нужно сделать так:

Если запускаете из командной строки (Пуск, "программы" - "Стандартные" - "Командная строка":
Код:
Project1.exe "ТУТ ПОЛНЫЙ ПУТЬ К ФАЙЛУ С ВОПРОСАМИ"
например,
Project1.exe "C:\Documents and Settings\All Users\Документы\Question.dat"
Если запускаете через ярлык.
Тогда в свойствах ярлыка (там, где Объект - и указано имя вашего exeшника, прописать после имени файла путь к файлу с вопросами. например,
Код:
"C:\Delphi\Project\Project1.exe" "C:\Documents and Settings\All Users\Документы\Question.dat"
Если же запускаете прямо из среды Дельфи.
То главное меню Delphi, пункт "Run" - "Parameters" - там задать имя файла с вопросами. Опять таки, желательно полное имя и в двойных кавычках.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.03.2011, 14:43   #18
ДениC
Пользователь
 
Регистрация: 29.03.2011
Сообщений: 41
По умолчанию

а в какой именно вкладке?

если через делфи

____
не пишите несколько коротких сообщений подряд!
Есть что добавить - для этого есть кнопка "Правка"

Модератор.

Последний раз редактировалось Serge_Bliznykov; 31.03.2011 в 15:07.
ДениC вне форума Ответить с цитированием
Старый 31.03.2011, 15:13   #19
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
а в какой именно вкладке?
если через делфи
Э... в Delphi есть главное меню. (там где "File" "Edit" "Search" и т.д.
так вот, там есть пункт "Run" (у меня он 6-й по порядку, ну в вашей версии он может быть и чуть другой).
Открываете его.
Там первым идёт "Run", а чуть ниже "Parameters"
вот туда и заходите. (заполняйте поле "Parameters")
и можете пробовать запускать.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.03.2011, 18:22   #20
ДениC
Пользователь
 
Регистрация: 29.03.2011
Сообщений: 41
По умолчанию

Сделал как вы сказали. Теперь выдает ошибку(
Код:
// âûâîä èíôîðìàöèè î òåñòå
procedure TForm8.Info;
var
   s,buf:string;
begin
   readln(f,s);
   Form8.Caption := s;
   buf:='';
   repeat
         readln(f,s);
         if s[1] <> '.'            
then buf := buf +s + #13;
   until s[1] ='.';
   Label5.caption:=buf;
end;
Что выделяет я выделил жирным. + скрин
Изображения
Тип файла: jpg 31.03.jpg (13.1 Кб, 136 просмотров)

Последний раз редактировалось ДениC; 31.03.2011 в 18:33.
ДениC вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа в командной строке genrix Общие вопросы C/C++ 6 24.02.2011 17:19
Кракозябры в командной строке Syltan Общие вопросы по Java, Java SE, Kotlin 5 22.05.2010 14:08
Как указать в командной строке запуска программы имя файла xmaksimca Общие вопросы Delphi 2 27.12.2009 20:43
программа в командной строке Кристина13 Помощь студентам 0 11.06.2009 17:42
Обращение к командной строке yura_$198802 Общие вопросы Delphi 15 09.04.2009 03:37