|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#16
|
|||
|
|||
спасибо.половина работает)
а именно,одна ошибка гдето, Sh1.left:=TShape(MySender).left-2 здесь left берётся не из объекта на который кликаю,а из пложение формы на экране. может я MySender:=Sender; не туда вписал? я его сюда : Код:
procedure TForm1.FormCreate(Sender: TObject); begin Sh:=TShape.Create(Self) ; <...> MySender:=Sender; Апд: всё,разобрался как сендер работает!) его в процедуру NewSh надо вписывать.спасибо! Последний раз редактировалось Snake22, 14.03.2011 в 18:22. |
#17
|
|||
|
|||
подскажите еще такую штуку.
вот у меня массив из двух кнопок. и при нажатии на другую кнопку(кнопка не из массива) надо чтобы эти две кнопки в массиве поменялись местами.Подскажите как если это вообще реально сделать? |
#18
|
|||
|
|||
Поменять местами кнопки в массиве...
Код:
... var Buttons: array[1..2] of TButton; Buff:Tbutton; begin Buff:=Buttons[1]; Buttons[1]:=Buttons[2]; Buttons[2]:=Buff; end; Код:
... var Buttons: array[1..2] of TButton; Buff:Integer; begin Buff:=TButton(Buttons[1]).left; TButton(Buttons[1]).left:=TButton(Buttons[2]).left; TButton(Buttons[1]).left:=Buff; end; |
#19
|
|||
|
|||
ага спасибоюсейчас возможности проверить нету попозже проверю.а свойства все обменяются? имя теги кепшн..?
|
#20
|
|||
|
|||
Цитата:
Последний раз редактировалось Janom, 16.03.2011 в 23:37. |
#21
|
|||
|
|||
хм действительно какаято фигня получилась..
и у меня опять вопрос, вот допустим я создал массив кнопок , кажой кнопке при созданиии добалвяеться имя , допустим Btns[1].name:='abc'; как мне потом обратиться к имени этой кнопки,а не к номеру массива? ну написать например abc.caption:=...ошибка получаеться |
#22
|
|||
|
|||
Цитата:
Код:
function FindBTN(BtnName:ShortString):TComponent; var i:integer; begin for i:=0 to form1.ComponentCount-1 do begin if form1.components[i].name=(BtnName) then FindBTN:=form1.findcomponent(form1.components[i].name); end; end; использовать так: Код:
TButton(FindBTN('abc')).caption:='asdasdasd'; |
#23
|
||||
|
||||
Цитата:
Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
#24
|
|||
|
|||
За-то схема то работает!)
|
#25
|
||||
|
||||
Посмотри реализацию Findcomponent. Пошустрее работать будет Да и привязки к Form1 нету
А так, зачем лишний раз велосипед изобретать? Хотя, в самообразовательных целях, наверно, каждый городит свой огород. Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
#26
|
|||
|
|||
а еще подскажите пожалуйста.
создаю массив memo, и у каждого есть тег, как мне обратиться к мему из массива,зная только его тег? ну то есть короче как мне найти компонент определенного типа по тегу? |
#27
|
|||
|
|||
бежать по массиву циклом от начала до конца и проверять в цикле ar[i].Tag = чему_нужно, где ar - массив из TMemo, i - переменная цикла, как только нашли то что нужно, делать break циклу.
типо вот так: Код:
for i := Low(ar) to High(ar) do begin if ar[i].Tag = 2 {или что вам нужно} then begin ar[i].Lines.Add('1'); // добавляем в найденный Memo текст break; // прерываем цикл (не тот о котором подумали некоторые, нет) end; end; взялся из неоткуда, ничего не прошу, помогаю просто так ICQ: 593977748 - стучать в случае КРАЙНЕЙ необходимости, ну, или если вы со Ставрополя Последний раз редактировалось Assistant, 26.03.2011 в 00:43. |