type
MainToolBarButton = (mtbOpen, mtbDelete, mtbPrint, mtbChart, mtbExel, mtbInsert, mtbSave, mtbTemp1, mtbTemp2, mtbTemp3 );
MainToolBarButtons = Set of MainToolBarButton ;
위처럼 사용합니다.
열거형 각각은 툴바의 버튼들을 나타내지요
MainToolBarButtonSet( [mtbPrint,mtbDelete,mtbOpen] )
위 처럼 MainToolBarButtonSet 함수에 보냈습니다.
그럼 MainToolBarButtonSet 함수에서는
[mtbPrint,mtbDelete,mtbOpen]와 같은 집합형을 받아서..
각각의 인티저값인..
'2,1,0' 라는 숫자와 콤마를 가지는 스트링변수를 만들어야 합니다.
물론 순서와도 관련있습니다. 그래서 '2,1,0' 입니다.
어떻게해 할지 모르겠습니다.
알려주세요! 미리 감사드립니다.
그냥 for문으로 하나씩 검색해보시면 될겁니다....
[mtbPrint,mtbDelete,mtbOpen]
[mtbDelete,mtbPrint,mtbOpen]
[mtbOpen,mtbPrint,mtbDelete]
참고로 위와 같은것들은 똑같은 것이구요. 코딩으로 구별할수 있는 방법은 없습니다. 집합이란거 자체가 순서가 없으니까요...
function TForm1.MainToolBarButtonSet(Buttons: MainToolBarButtons): string;
var
Index: Integer;
begin
Result := '';
for Index := Ord(mtbOpen) to Ord(mtbTemp3) do
begin
if MainToolBarButton(Index) in Buttons then
Result := Result + IntToStr(Index);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage( MainToolBarButtonSet( [mtbPrint,mtbDelete,mtbOpen] ));
end;
^^ 항상 즐코하세요...