У меня есть компоненты на форме и ищите любые, которые есть TMachine
Тип Затем, когда я нахожу его, я хочу получить информацию от компонента. Мой вопрос: я объявляю m
как TMachine
Тогда попробуйте назначить m := Components[i]
Но не позволит мне из-за m
быть типом TMachine и компонентами, являющимися типом Component. Любая помощь в том, как исправить это, поэтому я могу использовать найденный компонент как TMachine?Объявить компонент [x] Тип
procedure TfDeptLayout.bSaveClick(Sender: TObject);
var
i: Integer;
m : TMachine;
Number,Zone,Dept,Name,Asset,IsPanel,BasicName,FinalLocation,Left,Top : String;
begin
bSave.Visible := false;
for i := ComponentCount -1 downto 0 do
begin
if(Components[I] is TMachine) then
begin
M := Components[I];
Number := m.mnNumber;
Name := m.mnName;
Asset := m.mnAsset;
IsPanel := m.mnIsPanel;
BasicName := m.mnBasicName;
if checkbox1.Checked then
FinalLocation := 'shop'
else
FinalLocation := 'w';
Left := inttostr(m.Left);
top := inttostr(m.Top);
Zone := myZone;
Dept := myDept;
Showmessage('Zone: '+Zone+' Dept: '+Dept
+'Name : '+Name+' Number: '+Number+' Asset: '+Asset
+'IsPanel: '+Ispanel+' BasicName: '+BasicName+
' FinalLocation : '+FinalLocation+' Left: '+Left+
+' Top: '+Top);
end;
end;
В методах форме, я бы не использовать имена локальных переменных, таких как '' name', Left' или ' Top'. –
@Wouter: Это не проблема: вы можете использовать 'with Self do', где вам нужен доступ к свойствам формы. –
@UliGerhardt: вы можете назвать форму «self», добавить кнопку «self» и создать единицу, называемую self, с некоторыми глобальными переменными, такими как «name» и «left», и добавить это в предложение uses. Русская рулетка с компилятором :) –