'***********************
'* COMPILER DIRECTIVES *
'***********************
$APPTYPE GUI
$TYPECHECK ON
$INCLUDE "RAPIDQ.INC"
$OPTION ICON "micon.ico"
$RESOURCE ImgTop AS "mutop.bmp"
$RESOURCE Icon AS "micon.ico"
'**************************
'* DECLARE SUBS/FUNCTIONS *
'**************************
DECLARE SUB Quit
DECLARE SUB CreateNew
DECLARE SUB Remove
DECLARE SUB About
DECLARE SUB Launch
DECLARE SUB StartMoveForm(Button%,X%,Y%,Shift%)
DECLARE SUB MoveForm(X%, Y%, Shift%)
DECLARE SUB StopMoveForm(Button%, X%, Y%)
DECLARE SUB DrawFormBorder(Sender AS QForm)
'*********************
'* PROGRAM CONSTANTS *
'*********************
'********************
'* GLOBAL VARIABLES *
'********************
DIM FormMoving AS INTEGER
DIM MouseLastX AS INTEGER
DIM MouseLastY AS INTEGER
DIM Moving AS INTEGER
DIM Dummy AS INTEGER
DIM Dummy2 AS INTEGER
'*****************
'* FORM CREATION *
'*****************
CREATE Form AS QFORM
Caption = "Multi User front end"
Width = 345
Height = 245
BorderStyle = bsNone
IcoHandle = Icon
Center
OnPaint = DrawFormBorder
CREATE TopImg AS QImage
Align = alTop
BMPHandle = ImgTop
OnMouseDown = StartMoveForm
OnMouseMove = MoveForm
OnMouseUp = StopMoveForm
Line(0,0,0,25,&H000000)
Line(1,0,1,25,&H000000)
Line(344,0,344,25,&H000000)
Line(343,0,343,25,&H000000)
END CREATE
CREATE IL1 AS QLABEL
Caption = "Profiles:"
Left = 5
Top = 30
Width = 64
END CREATE
CREATE CFWFiles AS QFILELISTBOX
Left = 5
Top = 45
Width = 161
Height = 195
Mask = "*.cfw"
ShowIcons = 1
OnDblClick = Launch
END CREATE
CREATE BTN1 AS QBUTTON
Caption = "&Run profile"
Left = 170
Top = 45
Width = 170
OnClick = Launch
END CREATE
CREATE BTN2 AS QBUTTON
Caption = "&Remove profile"
Left = 170
Top = 75
Width = 170
OnClick = Remove
END CREATE
CREATE GB1 AS QGROUPBOX
Caption = "Create new profile..."
Left = 170
Top = 105
Width = 170
Height = 73
CREATE IL2 AS QLABEL
Caption = "Name:"
Left = 5
Top = 15
END CREATE
CREATE NameBox AS QEDIT
Text = ""
Left = 40
Top = 13
END CREATE
CREATE BTN3 AS QBUTTON
Caption = "&Create"
Left = 5
Top = 40
Width = 160
OnClick = CreateNew
END CREATE
END CREATE
CREATE BTN4 AS QBUTTON
Caption = "&About..."
Left = 170
Top = 185
Width = 170
OnClick = About
END CREATE
CREATE BTN5 AS QBUTTON
Caption = "E&xit"
Left = 170
Top = 215
Width = 170
OnClick = Quit
END CREATE
END CREATE
'*************
'* FUNCTIONS *
'*************
'********
'* SUBS *
'********
SUB Quit
Application.Terminate
END SUB
SUB CreateNew
DIM Creator AS QFileStream
IF NameBox.Text = "" THEN
'Ignore
ShowMessage "You need to type in a name before you can create a profile!"
ELSE
'Create it...
IF FileExists(NameBox.Text) THEN
ShowMessage "The profile you are trying to create already exists. Please try another."
ELSE
Creator.Open(NameBox.Text+".cfw",fmCreate)
NameBox.Text = ""
Creator.Close
END IF
END IF
CFWFiles.Update
END SUB
SUB Remove
'Find selected, prompt, and remove...
IF CFWFiles.ItemIndex = -1 THEN
'You have not selected a file!
ShowMessage "You have not selected a profile to remove!"
ELSE
'You have...
IF MessageDlg("Are you sure you want to delete this profile?",mtWarning,mbYes OR mbNo,0) = mrYes THEN
'Delete it...
KILL CFWFiles.Filename
END IF
END IF
CFWFiles.Update
END SUB
SUB About
DIM AboutStr$ AS STRING
AboutStr$ = "Multiuser front end for Console for Windows"+CHR$(13)
AboutStr$ = AboutStr$ + "Written by Daniel Foote."+CHR$(13)
AboutStr$ = AboutStr$ + "Official web page: http://freefoote.dview.net/cfw"
ShowMessage AboutStr$
END SUB
SUB Launch
'This should be easy...
IF CFWFiles.ItemIndex = -1 THEN
'You need to select a file!
ShowMessage "You have not selected a profile to run!"
ELSE
'You have...
RUN "console2.exe "+CHR$(34)+CFWFiles.Filename+CHR$(34)
Application.Terminate
END IF
END SUB
'Subs to move the form...
SUB StartMoveForm(Button%,X%,Y%,Shift%)
IF Button% = 0 THEN
FormMoving = True
MouseLastX = X%
MouseLastY = Y%
END IF
END SUB
SUB MoveForm(X%, Y%, Shift%)
'Calculate...
IF Moving = True THEN
EXIT SUB
END IF
Moving = True
IF FormMoving = True THEN
Dummy = -(MouseLastX - X%)
Dummy2 = -(MouseLastY - Y%)
'Move...
Form.Left = Form.Left + Dummy
Form.Top = Form.Top + Dummy2
END IF
Moving = False
END SUB
SUB StopMoveForm(Button%, X%, Y%, Shift%)
FormMoving = False
END SUB
SUB DrawFormBorder(Sender AS QForm)
'Draw a black border on the form specified...
Sender.Line(0,0,0,Sender.Height-1,&H000000)
Sender.Line(1,0,1,Sender.Height-1,&H000000)
Sender.Line(0,Sender.Height-1,Sender.Width-1,Sender.Height-1,&H000000)
Sender.Line(0,Sender.Height-2,Sender.Width-1,Sender.Height-2,&H000000)
Sender.Line(Sender.Width-1,Sender.Height-1,Sender.Width-1,0,&H000000)
Sender.Line(Sender.Width-2,Sender.Height-1,Sender.Width-2,0,&H000000)
END SUB
'*********************
'* MAIN PROGRAM CODE *
'*********************
Application.IconHandle = Icon
Application.Title = "Multi user front end"
Form.ShowModal