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

Вниз

Тест, проблема с RENDOMIZE   Найти похожие ветки 

 
REvAN   (2006-01-04 16:40) [0]

Помогите!!! Все вроди получилось, считывает, сравнивает,считает... Но хотелось бы что бы вопросы появлялись в хаотичном порядке, т.е. каждый раз по разному, незнаю как это сделать, наверное что-то связанное с RENDOMIZE :(
Вот код:

var Form1: TForm1; a: string; i,j,s :byte; k: integer;implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);begink:=0;Memo1.Lines.LoadFromFile("1.txt");   // Загружаем вопросы, отв,, прав. отв.Memo2.Lines.LoadFromFile("2.txt");Memo3.Lines.LoadFromFile("3.txt");end;
procedure TForm1.Button1Click(Sender: TObject);  /// выбрать и ответить
begin//проверяем какой вариант был выбран
if RadioButton1.Checked=true then a:=radiobutton1.caption;
if RadioButton2.Checked=true then a:=radiobutton2.caption;
if RadioButton3.Checked=true then a:=radiobutton3.caption;
if RadioButton4.Checked=true then a:=radiobutton4.caption;
for s:=1 to 10 do beginif a=memo3.Lines[s] then begin
inc(k);
end;
end;
Label1.Caption:=Memo1.Lines[j+1];
RadioButton1.Caption:=Memo2.Lines[1+(4*i)];
RadioButton2.Caption:=Memo2.Lines[2+(4*i)];
RadioButton3.Caption:=Memo2.Lines[3+(4*i)];
RadioButton4.Caption:=Memo2.Lines[4+(4*i)];
edit1.Text:=IntToStr(k);inc(j);inc(i);end;
procedure TForm1.Button2Click(Sender: TObject);  //// кнопка начать тест
beginLabel1.Caption:=Memo1.Lines[j+1];
RadioButton1.Caption:=Memo2.Lines[1+(4*i)];
RadioButton2.Caption:=Memo2.Lines[2+(4*i)];
RadioButton3.Caption:=Memo2.Lines[3+(4*i)];
RadioButton4.Caption:=Memo2.Lines[4+(4*i)];
edit1.Text:=IntToStr(k);
inc(j);
inc(i);
end;
end.


 
Virgo_Style ©   (2006-01-04 18:53) [1]

Если мне скажут, что можно форматировать код еще хуже, я едва ли поверю


 
Gero ©   (2006-01-04 19:23) [2]

Этот код не скомпилируется.

> считывает, сравнивает,считает

Что она считывает, сравнивает, считает?

> Тест, проблема с RENDOMIZE

Я только не понял в каком месте «проблема с RENDOMIZE».


 
Кефир87 ©   (2006-01-04 19:24) [3]


> Virgo_Style ©   (04.01.06 18:53) [1]
>
> Если мне скажут, что можно форматировать код еще хуже, я
> едва ли

Где сдесь форматирование?! 8))
А про Randomize тут ваще нет 8)


 
begin...end ©   (2006-01-04 19:28) [4]

> REvAN   (04.01.06 16:40)

"У меня от Вас появляются седые волосы" (с) моя школьная учительница физики


 
Virgo_Style ©   (2006-01-04 21:27) [5]

Кефир87 ©   (04.01.06 19:24) [3]

Думаешь, можно так с самого начала писать? Я б не смог. Хотя кто знает...


 
Кефир87 ©   (2006-01-04 21:40) [6]

Надеюсь с этим человеком не буду работать в команде или над одним прэктом 8)


 
Revan   (2006-01-05 00:37) [7]

Просто скопировал код с форума, он нормально отформатирован, после копирования так получилось :(, я его уже выбрасывал раньше на форум. Да и дело не в форматировании, мне нужно сделать появление вопросов с помощью Rendomize, вот я и спрашиваю как это осуществить.


 
Zeqfreed ©   (2006-01-05 00:47) [8]

Revan   (05.01.06 0:37) [7]

> нужно сделать появление вопросов с помощью Rendomize


procedure DisplayQuestion();
begin
// <-- Здесь Ваш код.
end;

procedure Rendomize();
begin
DisplayQuestion();
end;


Использовать так:

Rendomize();

или так:

Rendomize;

в некоторых случаях допустим такой вариант:

Rendomize

P.S. O:-)


 
Алхимик ©   (2006-01-05 00:50) [9]


> мне нужно сделать появление вопросов с помощью Rendomize,

As you wish, так сказать...
procedure Rendomize;
begin
  Randomize;
end;


 
Кефир87 ©   (2006-01-05 01:19) [10]

В отличии от остальных, хочу выяснить что такое Rendomize 8))


 
КиТаЯц ©   (2006-01-05 10:14) [11]

Не уверен, что правильно понял вопрос, но, все таки, попытаюсь...


var SkolkoVoprosov: array of boolean;
...
procedure TForm1.LoadTest(Sender: TObject);
 var i, j, Vse: integer;
begin
 Randomize;
 I:= количество вопросов всего;
 Vse:= 0;
 SetLength(SkolkoVoprosov, i);
   for i:= 0 to Length(SkolkoVoprosov) // на всякий случай (повторная загрузка)
     do SkolkoVoprosov[i]:= False;
   repeat // крутимся в цикле пока не загрузим все вопросы
     j:= Random(Length(SkolkoVoprosov)); // ВОТ ТА САМАЯ RENDOMIZE ))
     if not (SkolkoVoprosov[j] = True) // если вопрос еще НЕ грузили
       then begin
         SkolkoVoprosov[j]:= True; // отмечаем, что вопрос загружен
         inc(Vse); // счетчик количества загруженных
         Zagruzit; //и здесь загружаем вопрос;
       end;
   until Vse = Length(SkolkoVoprosov); // загрузили столько сколько было надо выходим из цикла
end;

procedure Zagruzit;
begin
...
end;


Код не проверял, но надеюсь поможет...
Очень надеюсь... ;)



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

Форум: "Начинающим";
Текущий архив: 2006.01.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.05 c
14-1135577682
Ega23
2005-12-26 09:14
2006.01.22
Всем привет!


2-1136395174
ArtemESC
2006-01-04 20:19
2006.01.22
Прописать в реестре прогу.


3-1132313758
td
2005-11-18 14:35
2006.01.22
создание таблицы запросом


2-1135430288
аматор
2005-12-24 16:18
2006.01.22
работа с FileStream


14-1135489651
begin...end
2005-12-25 08:47
2006.01.22
С Днём рождения! 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
Английский Французский Немецкий Итальянский Португальский Русский Испанский