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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2014, 15:07   #31
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

Не делал. Какой смысл тратить время на картинки, если номера Tag программист должен присваивать вручную через инспектор объектов?
Да. Функцию 'ReplaceStr' нашел, но она не слушается.
Не программист я. И языков не знаю...
Репутация: полный "0"

Последний раз редактировалось zvygin1964; 20.09.2014 в 15:10.
zvygin1964 вне форума Ответить с цитированием
Старый 20.09.2014, 15:11   #32
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Цитата:
Функцию 'ReplaceStr' нашел, но она не слушается
Какая сволочь. Всех слушается а тебя не хочет. КОШМАР! Ткни ей пальцем в глаз.
Цитата:
если номера Tag программист должен присваивать вручную через инспектор объектов?
RunTime? Не не слышали.

Последний раз редактировалось indexx; 20.09.2014 в 15:13.
indexx вне форума Ответить с цитированием
Старый 20.09.2014, 15:18   #33
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

Термин "RunTime" попадался, но не знаю, что это такое. "Не слышали",- не где мне такое слышать, я общаюсь с другими людьми...
Репутация: полный "0"
zvygin1964 вне форума Ответить с цитированием
Старый 20.09.2014, 15:22   #34
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Рассказываю. Есть два времени. Design Time, и Run Time. Первое время относится к изменению свойств программы до её запуска. Или как ты говоришь
>> Tag программист должен присваивать вручную через инспектор объектов
Второе время Run Time, это время, в которое твоя программа выполняется. В это время ТАК ЖЕ МОЖНО МЕНЯТЬ СВОЙСТВА ОБЪЕКТОВ. Неожиданно, не правда ли?
indexx вне форума Ответить с цитированием
Старый 20.09.2014, 15:28   #35
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

Если без вашей функции 'ReplaceStr', то это тоже вручную:
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
 i: Integer;
begin
 for i := 1 to 200 do
Buttons[i].Tag :=  i;
end;
Ведь количество Button надо вводить в данные цикла в каждом случае отдельно.

Жаль эту тему закрыли:
Код:
procedure TForm1.Button1Click(Sender: TObject);
 var //создать массив  номеров установленных в состояние Checked=1 компонентов TCheckBox
 i:Integer;
begin //от "maLoy*508" http://www.programmersforum.ru/showthread.php?p=1415338#post1415338
 for i := 0 to Form1.ComponentCount - 1 do // перебираем на форме все компоненты
 begin
  if (Form1.Components[i] is TCheckBox) and TCheckBox(Form1.Components[i]).Checked then // и если выбранный компонент является чекбоксом, и он выбра(стоит галочка)
  begin
   SetLength(cbet, (length(cbet)+1));  // то мы увеличиваем размер массива на 1
   cbet[High(cbet)] := TCheckBox(Form1.Components[i]).Tag;  // добавляем значение в массив
  end;  
 end;  
 end;
Изменяемый размер массива для данного примера был бы очень удобен.
Репутация: полный "0"

Последний раз редактировалось Stilet; 20.09.2014 в 16:59.
zvygin1964 вне форума Ответить с цитированием
Старый 20.09.2014, 15:38   #36
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Народ, ну напишите Дяде Мише уже компонент TButtonList, пусть кинет его на форму себе и успокоится!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 20.09.2014, 15:39   #37
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

>> то это тоже вручную
Да ладно? А если так?

Код:
procedure TForm1.Button1Click(Sender: TObject);
var //создать массив  номеров установленных в состояние Checked=1 компонентов TCheckBox
  i, n:Integer;
begin //от "maLoy*508" http://www.programmersforum.ru/showt...38#post1415338
  n := 0;
  for i := 0 to Form1.ComponentCount - 1 do // перебираем на форме все компоненты
    begin
      if (Form1.Components[i] is TCheckBox) and TCheckBox(Form1.Components[i]).Checked then // и если выбранный компонент является чекбоксом, и он выбра(стоит галочка)
        begin
          inc(n);
          TCheckBox(Form1.Components[i]).Tag := n;  
        end;  
    end;  
end;
Массивов нет, все чекбоксы пронумерованы то свойству Tag в порядке возрастания. АЛИЛУЯ!
indexx вне форума Ответить с цитированием
Старый 30.09.2014, 15:12   #38
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

Верю, что
Цитата:
пронумерованы то свойству Tag
. Но не вижу.
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
  i, n, s:Integer;
begin
  begin
  Button[1]:= Button1;
  Button[2]:= Button2;
  Button[3]:= Button3;
  Button[4]:= Button4;
  Button[5]:= Button5;
  Button[6]:= Button6;
  end;

  n := 0; //от "indexx" http://www.programmersforum.ru/showthread.php?t=118353&page=4
  for i := 0 to Form1.ComponentCount - 1 do  // перебираем на форме все компоненты
  begin
    if (Form1.Components[i] is TButton) {если компонент TButton, то } then
    begin
      inc(n);
      TButton(Form1.Components[i]).Tag := n; //присваиваем   Tag всем  TButton по порядку
    end;

       for s:= 1 to 6    do
    begin
      button[s].visible:=false;
    end

  end;
end;

  procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 for  i:=  1 to 6 do
 begin
   if (X>=Button[i].Left) and  (X<=(Button[i].Left+Button[i].Width)) and  //Left-ширина компонента, Width-координата левого края
      (Y>=Button[i].Top) and  (Y<=(Button[i].Top+Button[i].Height))//Top-координата верхнего края,Height-высота компонента
    then
    begin
     button[i].visible:=True;//Показать именно ту button, на которую наведен курсор.
     j := i     ; //Номер последней использованной button.
     t:= TButton(Sender).Tag ;//Я надеюсь, что  t стала равна Tag той же  button.
    end
    else
    Button[i].Hide;     //скрыть
 end;
 end;

procedure TForm1.Button7Click(Sender: TObject);
begin
 Memo1.lines.add('курсор был над Button'+IntToStr(j)); //работает
 Memo2.lines.add('Tag кнопки = ' + IntToStr(t));// выводится ноль. Не работает!!
end;
Репутация: полный "0"
zvygin1964 вне форума Ответить с цитированием
Старый 30.09.2014, 15:26   #39
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

А чо такое j и t? Где прописаны?
И если TForm1.FormMouseMove - это обработчик события OnMouseMove формы, то как ты думаешь, что содержит переменная Sender вот тут?
Код:
t:= TButton(Sender).Tag ;//Я надеюсь, что  t стала равна Tag той же  button.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 30.09.2014 в 15:44.
min@y™ вне форума Ответить с цитированием
Старый 30.09.2014, 16:13   #40
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Но не вижу Я в этом бреде воспалённого ума тоже ничего не вижу. Тут либо код за тебя самому писать либо проходить мимо. И наверное выберу второе.
indexx вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод элементов массива.Изменение элементов массива. Vesnushka18 Помощь студентам 6 09.06.2011 13:05
Перегрузка операций для созданных шаблонов(C#) Mixim Общие вопросы .NET 4 28.09.2010 11:03
найти среднее арифметическое элементов массива состоящее из 5 элементов viatlon Общие вопросы C/C++ 9 12.12.2009 00:45
Для массива определить сумму всех элементов, стоящих после максимального HECTOR.A. Паскаль, Turbo Pascal, PascalABC.NET 4 17.06.2009 22:04
В одномерном массиве, состоящем из n вещественных элементов, вычислить сумму элементов массива HazelHen Общие вопросы C/C++ 2 29.03.2009 15:16