Cześć.
Mam prawie ze identyczne procedury, tylko każda pod innym zdarzeniem
Różnią się nie znacznie Pod MouseUp
i Down
zmienia się tylko odpowiednio obrazek buttona. Pod OnClick Buttona
wyświetla się cała reszta. Jak powinna wyglądać ogólna metoda w tym wypadku? Wyczytałam też ze jest coś takiego "Refactor > Extract method
" ale nie bardzo wiem jak tego użyć, czytałam dokumentację nie bardzo z niej coś rozumiem i nawet nie wiem czy w tym wypadku to jest jakieś rozwiązanie.
procedure TForm1.btnImgTranslatorMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if assigned(self.idictionary) then
begin
if ClientDataSet1.RecNo = 1 then
Begin
ClientDataSet1.Next;
LoadImage(self.exePath + '\' + self.ClientDataSet1.FieldByName
('ButtonClick').AsString, self.btnImgTranslator);
ClientDataSet1.Prior;
end;
if ClientDataSet1.RecNo = 2 then
begin
ClientDataSet1.Prior;
LoadImage(self.exePath + '\' + self.ClientDataSet1.FieldByName
('ButtonClick').AsString, self.btnImgTranslator);
ClientDataSet1.Next;
end;
end;
end;
procedure TForm1.btnImgTranslatorMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if assigned(self.idictionary) then
begin
if ClientDataSet1.RecNo = 1 then
begin
ClientDataSet1.Next;
LoadImage(self.exePath + '\' + self.ClientDataSet1.FieldByName
('ButtonNormal').AsString, self.btnImgTranslator);
ClientDataSet1.Prior;
end;
if ClientDataSet1.RecNo = 2 then
begin
ClientDataSet1.Prior;
LoadImage(self.exePath + '\' + self.ClientDataSet1.FieldByName
('ButtonNormal').AsString, self.btnImgTranslator);
ClientDataSet1.Next;
end;
end;
end;
procedure TForm1.btnImgTranslatorClick(Sender: TObject);
begin
if assigned(self.idictionary) then
begin
if ClientDataSet1.RecNo = 1 then
begin
ClientDataSet1.Next;
Display();
ClientDataSet1.Prior;
end;
if ClientDataSet1.RecNo = 2 then
begin
ClientDataSet1.Prior;
Display();
ClientDataSet1.Next;
end;
end;
end;