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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.04.2009, 00:15   #1
Artruman
Пользователь
 
Аватар для Artruman
 
Регистрация: 14.10.2008
Сообщений: 28
Сообщение Алгоритм

Идея такова в полях AdoTable coдержаться ответы на вопрос (тест),
мне нужно вывести эти ответы на кнопки (шесть кнопок) в случайном порядке+ответы не должны повторяться.

Допустим если кнопке выпадает пустое поле AdoTable то кнопка не видна.

Код:
repeat
 rnd:=random(6)+1;
  case rnd of
   1:begin
      if AdoTable1.Fields[2].AsString<>'' then
       begin
        RzButton1.Caption:=AdoTable1.Fields[2].AsString;
        RzButton1.Visible:=True;
       end;
     end;
   2:begin
      if AdoTable1.Fields[3].AsString<>'' then
       begin
        RzButton1.Caption:=AdoTable1.Fields[3].AsString;
        RzButton1.Visible:=True;
       end;
     end;
   3:begin
      if AdoTable1.Fields[4].AsString<>'' then
       begin
        RzButton1.Caption:=AdoTable1.Fields[4].AsString;
        RzButton1.Visible:=True;
       end;
     end;
   4:begin
      if AdoTable1.Fields[5].AsString<>'' then
       begin
        RzButton1.Caption:=AdoTable1.Fields[5].AsString;
        RzButton1.Visible:=True;
       end;
     end;
   5:begin
      if AdoTable1.Fields[6].AsString<>'' then
       begin
        RzButton1.Caption:=AdoTable1.Fields[6].AsString;
        RzButton1.Visible:=True;
       end;
     end;
   6:begin
      if AdoTable1.Fields[7].AsString<>'' then
       begin
        RzButton1.Caption:=AdoTable1.Fields[7].AsString;
        RzButton1.Visible:=True;
       end;
     end;
     end;
Но это только одна кнопка,а мне бы все+не повторяются...
Artruman вне форума Ответить с цитированием
Старый 06.04.2009, 00:30   #2
Антон Ю.Б.
Форумчанин
 
Регистрация: 03.01.2009
Сообщений: 116
По умолчанию

Что-то типа такого (не проверял, писал в блокноте):
Цитата:
s:='123456';
for i:=1 to 5 do
begin
rnd:=random(7-i)+1;
TButton(Form1.FindComponent(RzButto n+s[rnd])).Caption:=AdoTable1.Fields[1+rnd].AsString;
TButton(Form1.FindComponent(RzButto n+s[rnd])).Visible:=(AdoTable1.Fields[1+rnd].AsString<>'');
delete(s,rnd,1);
end;
TButton(Form1.FindComponent(RzButto n+s)).Caption:=AdoTable1.Fields[1+StrToInt(s)].AsString;
TButton(Form1.FindComponent(RzButto n+s)).Visible:=(AdoTable1.Fields[1+StrToInt(s)].AsString<>'');
Антон Ю.Б. вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализовать алгоритм на С++ Unknown_dev Фриланс 2 13.10.2008 10:26
алгоритм Брезенхэма MedvedoLex Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 10.05.2008 18:10
Алгоритм SunKnight Работа с сетью в Delphi 5 29.04.2008 15:24
Алгоритм Rifler Паскаль, Turbo Pascal, PascalABC.NET 3 30.03.2008 01:33