SUB main() DIM ow AS outputwindow CALL GetOP(what$,ow) REQUEST what$,ow.Name END SUB SUB GetOP(ou$,ow AS Window) CALL OUPick(ou$) SELECT CASE ou$ CASE "Window" ' DIM ow AS Window k%% = 0 FOR i%% = 1 TO Superbase.Windows.Count IF Superbase.Windows(i%%).Name = "OUW" THEN k%% = i%%:i%% = 999 END IF NEXT i%% IF k%% THEN Superbase.Windows(k%%).SetActive() Superbase.Windows(k%%).Delete() END IF Superbase.Windows.Add("OUW","OutPutWindow") SET ow = Superbase.Windows("OUW") ow.move(100,100,300,400) ow.Caption = "OutPut Window" CASE "Printer" PRINT ; CASE "DiskFile" ok%% = - 1 REQUEST "Filename","",18,a%%,a$ IF a%% THEN IF EXISTS (a$) THEN REQUEST a$ + " exists","Overwrite it?",1,a%% IF a%% THEN OPEN a$ FOR OUTPUT ELSE ok%% = 0 END IF ELSE OPEN a$ FOR OUTPUT END IF ELSE ok%% = 0 END IF END CASE END SUB SUB OUPick(ou$) DIM dlg AS Dialog DIM control AS DialogControl Superbase.Dialogs.Add("DOU") SET dlg = Superbase.Dialogs.DOU dlg.Move(0,0,84,88) dlg.FontName = "MS Sans Serif" dlg.FontSize = 8 dlg.OnActivate = "OUA" SET control = dlg.Add("OU1","DialogOptionButton") control.Move(14,9,56,11) control.Caption = "Window" SET control = dlg.Add("OU2","DialogOptionButton") control.Move(14,28,56,11) control.Caption = "Printer" SET control = dlg.Add("OU3","DialogOptionButton") control.Move(14,47,56,12) control.Caption = "DiskFile" SET control = dlg.Add("OUC","DialogCommandButton") control.Move(28,67,28,11) control.Caption = "OK" control.ReturnValue = 0 control.Cancel = 1 control.OnClick = "OUC" dlg.SetActive() ou$ = dlg.Tag dlg.Delete() END SUB SUB OUA() me.OU1.Value = - 1 END SUB SUB OUC() FOR i%% = 1 TO me.Parent.Controls.Count - 1 IF me.Parent.Controls(i%%).Value THEN me.Parent.Tag = me.Parent.Controls(i%%).Caption END IF NEXT i%% me.Parent.SetActive(0) END SUB