'$FORM frmMain '$FORM frmDialog ' $INCLUDE: 'MM_SETUP.BI' SUB centerForm (who AS FORM) ' Center us on the screen. who.Left = ((SCREEN.Width - who.Width) / 2) who.Top = ((SCREEN.Height - who.Height) / 2) END SUB SUB dialogClose () frmDialog.HIDE UNLOAD frmDialog END SUB SUB dialogOpen (titleBar AS STRING, message AS STRING) frmDialog.Caption = titleBar frmDialog.lblMessage.Caption = message frmDialog.SHOW END SUB SUB getList (f AS INTEGER, who AS CONTROL) DIM line$ WHILE who.ListCount who.REMOVEITEM 0 WEND DO LINE INPUT #f, line$ IF (line$ = "---") THEN EXIT DO who.ADDITEM line$ LOOP WHILE TRUE IF (who.ListCount > 0) THEN who.ListIndex = 0 END SUB FUNCTION getSetting (f AS INTEGER) AS STRING ' Load a single line setting from file. ' If setting is "---" return nothing. ' If setting is not "---", read until we get "---". DIM line$ getSetting = "" LINE INPUT #f, line$ IF (line$ = "---") THEN EXIT FUNCTION getSetting = line$ DO LINE INPUT #f, line$ LOOP UNTIL (line$ = "---") END FUNCTION SUB loadSettings () DIM f DIM line$ ' We load all the settings into frmMain, ' even if it's not going to be displayed. frmMain.HIDE ON LOCAL ERROR RESUME NEXT f = FREEFILE OPEN "GETINFO.OUT" FOR INPUT AS f IF ERR = 0 THEN ON LOCAL ERROR GOTO 0 ' Hostname frmMain.txtHostname.Text = getSetting(f) ' IPs getList f, frmMain.cmbCurrentIPs ' Timezone getList f, frmMain.cmbTimezone setList frmMain.cmbTimezone, getSetting(f) ' WiFi Country getList f, frmMain.cmbWiFiCountry setList frmMain.cmbWiFiCountry, getSetting(f) ' WiFi Network getList f, frmMain.cmbWiFiNetwork setList frmMain.cmbWiFiNetwork, getSetting(f) ' Bluetooth line$ = getSetting(f) ' Volume frmMain.hsbVolume.Value = VAL(getSetting(f)) ' Audio Device getList f, frmMain.cmbAudioDevice setList frmMain.cmbAudioDevice, getSetting(f) CLOSE f END IF ERR = 0 ON LOCAL ERROR GOTO 0 END SUB SUB setList (who AS CONTROL, what AS STRING) DIM x FOR x = 0 TO who.ListCount - 1 IF (LEFT$(who.List(x), LEN(what)) = what) THEN who.ListIndex = x EXIT FOR END IF NEXT x END SUB