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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 11.03.2010, 19:51   #1
Xcopy
Форумчанин
 
Аватар для Xcopy
 
Регистрация: 03.02.2009
Сообщений: 126
Восклицание 18 кнопок

Есть 18 кнопок, с разными значениями в caption, нужно перемешать значения caption в кнопках. Как это сделать?
Заранее спс
Xcopy вне форума
Старый 11.03.2010, 19:56   #2
grom333
Форумчанин
 
Аватар для grom333
 
Регистрация: 21.10.2008
Сообщений: 337
По умолчанию

Я не понял что Вы написали, но значение caption в button
изменяется таким образом
Код:
button1.caption:='название'
Как они должны изменяться? При нажатии на какую-то кнопку? Если да то пропишите для всех батонов аналогичные коды.
Лучше быть последним из львов, чем первым среди шакалов.
Мой чат
community on struggle with zoomics
grom333 вне форума
Старый 11.03.2010, 20:02   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
нужно перемешать значения caption в кнопках
Код:
button1.caption:=button2.caption;
И так далее. Можно цикл организовать.

Или имеется в виду "abcd"->"bcda"->"cdab"->"dabc"->"abcd" ?
Членораздельно можно свою мысль выразить ?
"Перемешать" или "перемещать" ?

Последний раз редактировалось mihali4; 11.03.2010 в 20:07.
mihali4 вне форума
Старый 11.03.2010, 20:04   #4
Xcopy
Форумчанин
 
Аватар для Xcopy
 
Регистрация: 03.02.2009
Сообщений: 126
По умолчанию

Да нет же, у меня уже даны 18 кнопок на форме, и у каждой из них в каптионе что-либо написано. Мне нужно что бы значения каптион во всех кнопках перемешались (случайным образом). Тоже самое, что в массиве элементов элементы случайным образом перемешать.
Xcopy вне форума
Старый 11.03.2010, 20:05   #5
Xcopy
Форумчанин
 
Аватар для Xcopy
 
Регистрация: 03.02.2009
Сообщений: 126
По умолчанию

Цитата:
button1.caption:=button2.caption;

И так далее. Можно цикл организовать.
Не подойдет, необходимо, что бы все значения сохранились, только оказались в других кнопках.
Случайно написал в другом сообщении... Сори.
Цитата:
Или имеется в виду "abcd"->"bcda"->"cdab"->"dabc"->"abcd" ?
Не понял.
Xcopy вне форума
Старый 11.03.2010, 20:06   #6
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

А что если создать массив из caption-ов кнопок?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума
Старый 11.03.2010, 20:08   #7
Xcopy
Форумчанин
 
Аватар для Xcopy
 
Регистрация: 03.02.2009
Сообщений: 126
По умолчанию

Способов есть много. Мне главное узнать, алгоритм перемешивания элементов
Xcopy вне форума
Старый 11.03.2010, 20:14   #8
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

В цикле берешь кнопку с номером i, рандомно генерируешь число x с значением от 1 до 18 и меняешь местами кнопку с номером i и кнопку с номером x.
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума
Старый 11.03.2010, 20:17   #9
Xcopy
Форумчанин
 
Аватар для Xcopy
 
Регистрация: 03.02.2009
Сообщений: 126
По умолчанию

Цитата:
В цикле берешь кнопку с номером i, рандомно генерируешь число x с значением от 1 до 18 и меняешь местами кнопку с номером i и кнопку с номером x.
Сейчас попробую.


Все, сделал. Может кому-нибудь будет интересно:
Код:
for i:=1 to 18 do
  begin
  r2:=random(17)+1;
  buf:=Tbutton(FindComponent('button' + IntToStr(i))).Caption;
  Tbutton(FindComponent('button' + IntToStr(i))).Caption:=Tbutton(FindComponent('button' + IntToStr(r2))).Caption;
  Tbutton(FindComponent('button' + IntToStr(r2))).Caption:=buf;
  end;

Последний раз редактировалось Xcopy; 11.03.2010 в 20:24.
Xcopy вне форума
Старый 11.03.2010, 20:56   #10
Alt
Лжец и смутьян
Форумчанин
 
Аватар для Alt
 
Регистрация: 03.04.2009
Сообщений: 194
По умолчанию

Цитата:
в каптионе
В кэпшене))

Цитата:
Все, сделал. Может кому-нибудь будет интересно:
omgwtf, судя по коду ты каждую кнопку на форме размещал)) запихни их в массив чтоли))
Помогли тебе - помоги другому.
Alt вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
блокировка кнопок Анастасия123456789 Помощь студентам 3 17.03.2009 19:08
Нажатие кнопок SeregaIRK Компоненты Delphi 9 18.09.2008 18:13
Дизайн кнопок Fantom Общие вопросы Delphi 34 07.07.2008 06:54
Блокировка кнопок Михаил Юрьевич Общие вопросы Delphi 10 11.02.2008 15:13
Стиль кнопок north Помощь студентам 5 15.11.2007 22:00