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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 15.05.2009, 11:36   #11
doodlezD
Пользователь
 
Регистрация: 27.04.2009
Сообщений: 11
По умолчанию

Помогите пожалуйста доработать прогу эту же!
Мне нужно чтоб вопросы выводились при каждом открытие проги в случайном порядке!
Посмотрите что можно зделать!
Код ниже!

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    AnswerGroup: TRadioGroup;
    Button1: TButton;
    TestBox: TComboBox;
    GroupBox1: TGroupBox;
    Question: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure LoadTest(Index: integer);
    procedure LoadQuestion(Index: integer);
    procedure Button1Click(Sender: TObject);
    procedure TestBoxCloseUp(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
const
  TestName='Test_'; 
  max=1000; 
var
  Form1: TForm1;
  QuestionText: array [0..max] of string; 
  AnswerQuestion: array [0..max] of byte; 
  QuestionText1: array [0..max] of string;
  QuestionText2: array [0..max] of string;
  QuestionText3: array [0..max] of string;
  Ball: integer=0;                        
  now: integer=0;                         
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
  if AnswerQuestion[now]=AnswerGroup.ItemIndex+1 then  
  inc(ball);
  AnswerGroup.ItemIndex:=-1;  
  inc(now);                  
  LoadQuestion(now);          
end;
procedure TForm1.FormCreate(Sender: TObject);
var	
  s: Tstrings;
  i: Integer;
begin
  i:=0;
  while FileExists(ExtractFilePath(application.ExeName)+TestName+inttostr(i)+'.txt') do  
  begin
  application.ProcessMessages;  
  s:=tstringlist.Create;        
  s.LoadFromFile(ExtractFilePath(application.ExeName)+TestName+inttostr(i)+'.txt'); 
    if s.Text<>'' then  
    TestBox.Items.Add(s.Strings[0]); 
  s.Free;    
inc(i);   
 end;
end;
procedure TForm1.LoadTest(Index: integer);   
var
  s: Tstrings;
  j, h: Integer;
begin
  h:=0;
s:=tstringlist.Create;  
  s.LoadFromFile(ExtractFilePath(application.ExeName)+TestName+inttostr(Index)+'.txt'); 
    if s.Text<>'' then  
    begin
    form1.Caption:=s.Strings[0];   
   for j := 1 to s.Count - 1 do
      begin
        if s.Strings[j]='__________' then  
        begin
        QuestionText[h]:=s.Strings[j+1];      
  QuestionText1[h]:=s.Strings[j+2];
        QuestionText2[h]:=s.Strings[j+3];
        QuestionText3[h]:=s.Strings[j+4];
        AnswerQuestion[h]:=strtoint(s.Strings[j+5]); 
        inc(h);
        end;
      end;
    end;
s.Free; 
  LoadQuestion(now);
end;

procedure TForm1.TestBoxCloseUp(Sender: TObject);
begin
    ball:=0;
  now:=0;
  button1.Enabled:=true;
  LoadTest(TestBox.ItemIndex);
end;

procedure TForm1.LoadQuestion(Index: integer);
begin
  if QuestionText[Index]<>'' then
  begin
  AnswerGroup.Items.Clear;
  Question.Caption:=QuestionText[Index];
  AnswerGroup.Items.Add(QuestionText1[index]);
  AnswerGroup.Items.Add(QuestionText2[index]);
  AnswerGroup.Items.Add(QuestionText3[index]);
  end
else 
  begin
  showmessage('Тест завершен'+#13+'Правильных ответов: '+inttostr(ball)); 
  button1.Enabled:=false; 
  end;
end;

end.

Последний раз редактировалось Stilet; 15.05.2009 в 11:51.
doodlezD вне форума
Старый 15.05.2009, 11:54   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну вообще то что ты тут наваял как бы... не самая лучшая прога, но раз уж так решил поступить то можно случайно выбирать вопросы примерно так:
Код:
  s.LoadFromFile(ExtractFilePath(application.ExeName)+TestName+inttostr(random(А тут количество этих файлов))+'.txt');
Вообще заранее составил бы список файлов с вопросами...
I'm learning to live...
Stilet вне форума
Старый 15.05.2009, 12:04   #13
doodlezD
Пользователь
 
Регистрация: 27.04.2009
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну вообще то что ты тут наваял как бы... не самая лучшая прога, но раз уж так решил поступить то можно случайно выбирать вопросы примерно так:
Код:
  s.LoadFromFile(ExtractFilePath(application.ExeName)+TestName+inttostr(random(А тут количество этих файлов))+'.txt');
Вообще заранее составил бы список файлов с вопросами...
у меня уже составлен список вопросов.
"А тут количество этих файлов" у меня 1 файл...значит "1" написать?
doodlezD вне форума
Старый 15.05.2009, 12:45   #14
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
"А тут количество этих файлов" у меня 1 файл...значит "1" написать?
Теперь я еще больще не пойму зачем ты сделал открытие в бесконечном WHILE...

Мой совет - переписывать все заново, задачу себе поставить четко и однозначно, иначе готовься к багам.
I'm learning to live...
Stilet вне форума
Старый 15.05.2009, 12:51   #15
doodlezD
Пользователь
 
Регистрация: 27.04.2009
Сообщений: 11
По умолчанию

ну на будущее! может понадобятся несколько файлов...
а если оставить как есть, негодится?
doodlezD вне форума
Старый 15.05.2009, 13:30   #16
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а если оставить как есть, негодится?
Извини конечно что я тут такой оффтоп разплодил, но нет, не годится, хотя бы потому что твой цикл бесконечный.

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

В общем мое мнение - прогу нужно начать с нуля...
I'm learning to live...
Stilet вне форума
Старый 15.05.2009, 13:45   #17
doodlezD
Пользователь
 
Регистрация: 27.04.2009
Сообщений: 11
По умолчанию

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

Последний раз редактировалось doodlezD; 15.05.2009 в 13:52.
doodlezD вне форума
Старый 09.06.2009, 11:21   #18
doodlezD
Пользователь
 
Регистрация: 27.04.2009
Сообщений: 11
По умолчанию

Можете всётаки помочь с этой прогой! Мне срочно нужно..очень прошу вас!!
doodlezD вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Курсовая!!! Dezolyator Помощь студентам 4 20.01.2009 19:51
Курсовая!!! kykysya Помощь студентам 3 16.11.2008 18:53
курсовая lacost Фриланс 2 03.06.2008 21:26
help! курсовая Nurik Фриланс 2 02.04.2007 11:57