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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2014, 12:41   #21
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
А как бы сделать наоборот: извлечь из Caption его номер и присвоить его в Tag.
Зачем?!
Ты меня уже почти год вводишь в ступор подобными вопросами.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 20.09.2014, 12:41   #22
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Код:
Buttons[i].Tag := i;
Код:
Buttons[i].Tag := StrToInt(ReplaceStr(Buttons[i].Caption, 'Button', '', [ReplaceAll]));
Если не то, то учимся задавать вопросы.

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

Оно, но не работает...
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
    procedure Button3Click(Sender: TObject);

    
  private
    { Private declarations }
  public
    { Public declarations }
  end;
  type
   MyButton = array [1..5] of TButton;
var
  Form1: TForm1;
    Buttons: array of TButton;
      Button : MyButton;
       i,t: Integer;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
 i,t: Integer;
begin
 for t := 1 to 5 do
Buttons[i].Tag := StrToInt(ReplaceStr(Buttons[i].Caption, 'Button', '', [ReplaceAll]));
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
 Memo1.Lines.Add(IntToStr(TButton(Sender).Tag));//
 ShowMessage('Нажата кнопка № '+IntToStr(TButton(Sender).Tag)+' '+TButton(Sender).Caption);
end;



end.
Undeclared identifier: 'ReplaceStr'
Undeclared identifier: 'ReplaceAll' .
min@y™! Ну покормите вы наконец Виталика, котов надо кормить хоть раз в год!
Репутация: полный "0"
zvygin1964 вне форума Ответить с цитированием
Старый 20.09.2014, 13:50   #24
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Undeclared identifier: 'ReplaceStr'
Undeclared identifier: 'ReplaceAll' .
Как исправишь эти ошибки, при запуске программы получишь Access violation вот в этой строке:
Код:
Buttons[i].Tag := StrToInt(ReplaceStr(Buttons[i].Caption, 'Button', '', [ReplaceAll]));
Объясни ты мне, нафига тебе оно надо?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 20.09.2014, 14:06   #25
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

Я не знаю что такое "получить Access violation".
Мне это надо: "сфотографировал вращающийся маховик газового крана;
поместил его на Form1 как фон;
набросал по обруч маховика невидимых и очень мелких Button-ов или Shape-ов (штук 100 или сколько надо);
теперь при движении курсора мыши надо определить в какую сторону его крутили (закрывали или открывали), с какой скоростью и равномерностью (если что не так, то звони 03 и соскребай со стен тех кто выжил.)
Вероятно курсор можно отследить по
Код:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,  Y: Integer);
begin
  begin
  if (X>=Button1.Left) and (X<=(Button1.Left+Button1.Width)) and//Left-ширина компонента, Width-координата левого края
     (Y>=Button1.Top) and (Y<=(Button1.Top+Button1.Height))//Top-координата верхнего края,Height-высота компонента
  then
  
  else
  
  end;
  begin
Но следить за тем возрастают номера Tag или убывают (не точно, но общий тренд).

И это я хочу сделать сам... Поэтому и задаю вопросы кусочками...
Репутация: полный "0"

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

Цитата:
Мне это надо: "сфотографировал вращающийся маховик газового крана;
поместил его на Form1 как фон;
набросал по обруч маховика невидимых и очень мелких Button-ов или Shape-ов (штук 100 или сколько надо);
теперь при движении курсора мыши надо определить в какую сторону его крутили (закрывали или открывали), с какой скоростью и равномерностью
О_О !!!1111 Рукалицо!...



Вот это поворот!
Сполз по стене...

Ты серьёзно или троллишь?

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

Последний раз редактировалось min@y™; 20.09.2014 в 14:30.
min@y™ вне форума Ответить с цитированием
Старый 20.09.2014, 14:30   #27
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

Да ладно, не переживайте вы так серьезно... Пока ломаю
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
 i: Integer;
begin
 for i := 1 to 200 do
Buttons[i].Tag :=  i;
end;
Репутация: полный "0"
zvygin1964 вне форума Ответить с цитированием
Старый 20.09.2014, 14:55   #28
zvygin1964
Старожил
 
Аватар для zvygin1964
 
Регистрация: 19.06.2013
Сообщений: 2,463
По умолчанию

Зачем скриншоты? Сам написал инструкцию, сфотографировал, смонтировал фильм, озвучил...
Фото выслал на ваш ящик.
Репутация: полный "0"
zvygin1964 вне форума Ответить с цитированием
Старый 20.09.2014, 14:59   #29
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Фото выслал на ваш ящик.
Я фото не просил. Дай скриншот формы, открытой в delphi в design-режиме.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 20.09.2014, 15:07   #30
indexx
Заблокирован
 
Регистрация: 12.09.2014
Сообщений: 544
По умолчанию

Цитата:
Undeclared identifier: 'ReplaceStr'
Если скопировать сие чудо в строку поиска Google, можно столько всего нового узнать. Ты же пробовал самостоятельно это делать, прежде чем постить на форуме, да? Признавайся.
Цитата:
Мне это надо: "сфотографировал вращающийся маховик газового крана;
поместил его на Form1 как фон;
набросал по обруч маховика невидимых и очень мелких Button-ов или Shape-ов (штук 100 или сколько надо);
теперь при движении курсора мыши надо определить в какую сторону его крутили (закрывали или открывали), с какой скоростью и равномерностью (если что не так, то звони 03 и соскребай со стен тех кто выжил.)
Как однако людей торкает...

Последний раз редактировалось indexx; 20.09.2014 в 15:09.
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