diff --git a/frmNewMac.vb b/frmNewMac.vb deleted file mode 100644 index 3eda413..0000000 --- a/frmNewMac.vb +++ /dev/null @@ -1,580 +0,0 @@ -Option Strict Off -Option Explicit On -Friend Class frmNewMac - Inherits System.Windows.Forms.Form - 'Honestly, the most complicated assistant (Here is where my hard work is :D) - - Private Structure MEMORYSTATUS 'Api for checking how much RAM is avaible in the machine - Dim dwLength As Integer - Dim dwMemoryLoad As Integer - Dim dwTotalPhys As Integer - Dim dwAvailPhys As Integer - Dim dwTotalPageFile As Integer - Dim dwAvailPageFile As Integer - Dim dwTotalVirtual As Integer - Dim dwAvailVirtual As Integer - End Structure - Private Declare Sub GlobalMemoryStatus Lib "kernel32" (ByRef lpBuffer As MEMORYSTATUS) - - Private Sub BrowseA_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles BrowseA.Click - - 'A for Add, that means 'Add an existing machine'. - 'Opens a 'Open dialog' to search VirtualMac config file - - BrowseOpen.Filter = "Virtual Mac Configuration File (*.mcc)|*.mcc|All files (*.*)|*.*" - BrowseOpen.ShowDialog() - FileNameA.Text = BrowseOpen.FileName - End Sub - - Private Sub BrowseC_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles BrowseC.Click - 'C for Create, that means 'Create a new machine' - 'Opens the save dialog that let's you choose where - 'will the config file be saved - - BrowseOpen.Filter = "Virtual Mac Configuration File (*.mcc)|*.mcc|All files (*.*)|*.*" - BrowseSave.Filter = "Virtual Mac Configuration File (*.mcc)|*.mcc|All files (*.*)|*.*" - BrowseSave.ShowDialog() - BrowseOpen.FileName = BrowseSave.FileName - FileNameC.Text = BrowseOpen.FileName - - End Sub - - Private Sub cmdBack_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdBack.Click - - 'This is the first part of the hard code, this makes - 'that the right Frame will be shown, this is in base - 'to which is the currently visible frame. This makes - 'visible the earlier Frame. The instruction - ' makes that you won't automatically jump - 'until the Start screen - - If NewMac2.Visible = True Then 'Go back to Start screen - cmdBack.Enabled = False - NewMac2.Visible = False - NewMacWizard.Visible = False - NewMac1.Visible = True - GoTo EndNext - End If - - 'Both fo these go back to Page 2. But every one is different - 'since one creates a new Mac, the other adds a new one - - If NewMac3.Visible = True Then 'Back from the page 'Create a new one' - NewMac3.Visible = False - Action.Text = "Options" - ActionDescription.Text = "You can create a new Virtual Mac or add an existing one to the Virtual Mac Console" - NewMac2.Visible = True - GoTo EndNext - End If - - If NewMacFromExist.Visible = True Then 'Back from page 'Add a new one' - NewMacFromExist.Visible = False - Action.Text = "Options" - ActionDescription.Text = "You can create a new Virtual Mac or add an existing one to the Virtual Mac Console" - NewMac2.Visible = True - GoTo EndNext - End If - - If NewMac4.Visible = True Then 'Back from the page 'Name and Location' - NewMac4.Visible = False - Action.Text = "Virtual Macintosh Name and Location" - ActionDescription.Text = "The name you specify will appear in the list of Virtual Macintoshes in the Virtual Mac Console" - NewMac3.Visible = True - GoTo EndNext - End If - - If NewMac5.Visible = True Then 'Back from the page 'Select OS' - NewMac5.Visible = False - Action.Text = "Operating System" - ActionDescription.Text = "Select the operating system you plan to install on this machine" - NewMac4.Visible = True - GoTo EndNext - End If - - If NewMac6.Visible = True Then 'Back from the page 'RAM for this Mac' - NewMac6.Visible = False - Action.Text = "Memory" - ActionDescription.Text = "You can configure the RAM on this Mac" - NewMac5.Visible = True - GoTo EndNext - End If - - - 'Back from the page 'Finishing the New Mac Wizard'. Note: This changes as which option was choosen - If NewMacEnd.Visible = True Then - - 'If choosen the option 'Create a new Mac', this will return - 'to the 'RAM' page - If CreateNew.Checked = True Then - NewMacEnd.Visible = False - cmdNext.Text = "Next >" - NewMacWizard.Visible = True - NewMac6.Visible = True - GoTo EndNext - End If - - 'If choosen the option 'Use default settings to create a Virtual Mac' - 'this will return to the page 2 - If UseDefaults.Checked = True Then - NewMacEnd.Visible = False - AdviceNoHD.Visible = False - cmdNext.Text = "Next >" - NewMacWizard.Visible = True - NewMac3.Visible = True - GoTo EndNext - End If - End If - -EndNext: - End Sub - - Private Sub cmdCancel_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdCancel.Click - 'If you cahnge of opinion and you think you don't need - 'a New Mac, this will Unload the current Window - Me.Close() - End Sub - - Private Sub cmdNext_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdNext.Click - 'Here is the REALLY HARD work. This code will make you advance - 'throught the assistant. This will check which page (Frame) is - 'shown and in base to your choices, it will show diferrent things - - 'Let's install a error handler! - On Error GoTo ErrorHandler - - 'Declarations - Dim MemStat As MEMORYSTATUS - Dim RAM As Integer - Dim MacName As String - Dim VMemory As Integer - Dim VDisk As Integer - Dim VArch As String - - 'Assigning values to the declarations - MacName = Replace(FileNameC.Text, ".mcc", "") - - GlobalMemoryStatus(MemStat) - RAM = CInt(Str(MemStat.dwTotalPhys / 1024 / 1024)) - - If NewMac1.Visible = True Then 'Shows the assistant - NewMacWizard.Visible = True - NewMac1.Visible = False - NewMac2.Visible = True - cmdBack.Enabled = True - CreateNew.Focus() - GoTo EndNext - End If - - If NewMac2.Visible = True Then 'This will differ as the option you choose - - If AddExist.Checked = True Then 'If you want to add from EXISTING file - NewMac2.Visible = False - Action.Text = "Existing Virtual Macintosh Name and Location" - ActionDescription.Text = "You can add a .mcc file from this computer or another computer to the Virtual Mac Console" - NewMacFromExist.Visible = True - FileNameA.Focus() - GoTo EndNext - End If - - NewMac2.Visible = False 'If you want to create a NEW Mac - Action.Text = "Virtual Macintosh Name and Location" - ActionDescription.Text = "The name you specify will appear in the list of Virtual Macintoshes in the Virtual Mac Console" - NewMac3.Visible = True - CheckIfNameExist() - FileNameC.Focus() - GoTo EndNext - End If - - If NewMac3.Visible = True Then 'This will differ too with the choice that you've made before - - If Not BrowseOpen.FileName = "" Then - MacName = Replace(BrowseOpen.FileName, ".mcc", "") - End If - - If BrowseOpen.FileName = "" Then - MacName = FileNameC.Text - End If - - If CreateNew.Checked = True Then 'If you choosed to Create a new thing and follow instruction step by step - HardwareEngineer(True) - Action.Text = "Operating System" - ActionDescription.Text = "Select the operating system you plan to install on this machine" - NewMac3.Visible = False - VB6.SetDefault(cmdBack, False) - VB6.SetDefault(cmdNext, True) - cmdNext.Focus() - NewMac4.Visible = True - GoTo EndNext - End If - - If UseDefaults.Checked = True Then 'If you don't wanna waste time and just want a new machine NOW - HardwareEngineer(True) - 'AutoConfigure 'This will be uncommented when implemmented - VMName.Text = MacName - NewMacWizard.Visible = False - cmdNext.Text = "Finish" - VB6.SetDefault(cmdNext, True) - AdviceNoHD.Visible = True - NewMacEnd.Visible = True - GoTo EndNext - End If - End If - - - 'Move away from the OS page and choose the RAM for you new Mac! - '(Only avaible when creating new one, not when you choosed use defaults) - If NewMac4.Visible = True Then - NewMac4.Visible = False - Action.Text = "Memory" - ActionDescription.Text = "You can configure the RAM on this Mac" - RAMAdjust.Maximum = 2048 - RAMAdjust.Value = VMemory - RAMAdjust.TickFrequency = 2048 / 20 - RAMMegabyteNumber.Text = CStr(VMemory) - RecRAM.Text = "Recommended RAM: [" & MemoryMB.Text & "]" - NewMac5.Visible = True - Recommend.Focus() - GoTo EndNext - End If - - If NewMac5.Visible = True Then 'Configure you new hard disk! - NewMac5.Visible = False - Action.Text = "Virtual Hard Disk Location" - ActionDescription.Text = "This wizard creates a fixed size virtual disk with the specified size" - DiskSizeMB.Text = VDisk - - If Not BrowseOpen.FileName = "" Then - NewMac7VDName.Text = Replace(BrowseOpen.FileName, ".mcc", ".dsk") - End If - - If BrowseOpen.FileName = "" Then - NewMac7VDName.Text = frmOptions.DefaultMacFolder.Text & "\" & MacName & ".dsk" - End If - - NewMac6.Visible = True - GoTo EndNext - End If - - If NewMac6.Visible = True Then 'You'll see the Finish page - NewMac6.Visible = False - OpenSettingsAfterFinish.Visible = False - NewMacWizard.Visible = False - cmdNext.Text = "Finish" - NewMacEnd.Visible = True - GoTo EndNext - End If - - - If NewMacEnd.Visible = True Then - - frmMain.VMList.Items.Add(MacName) 'Adds the just created machine to the VM List - frmMain.RedrawList() 'Redraw the list so you'll see the new elements - - Me.Close() - If OpenSettingsAfterFinish.Visible = True Then - If OpenSettingsAfterFinish.CheckState = 1 Then - - frmVMSettings.Show(MacName) - End If - End If - End If - - GoTo EndNext - -ErrorHandler: - If Not Err.Number = 0 Then - MsgBox(Err.Number & ". " & Err.Description, MsgBoxStyle.Critical) - End If - -EndNext: - End Sub - - Public Function HardwareEngineer(ByVal AutoDetect As Boolean) As String - - Dim VMemory As Integer - Dim VDisk As Integer - Dim VArch As String = "" - Dim FoundPosition As Long - Dim OSType As String = "Other" - - If AutoDetect = False Then GoTo Catalog - - FoundPosition = InStr(FileNameC.Text, " 6") - If FoundPosition <> 0 Then - OSType = "Mac6" - GoTo Catalog - End If - - FoundPosition = InStr(FileNameC.Text, " 7") - If FoundPosition <> 0 Then - OSType = "Mac7" - GoTo Catalog - End If - - FoundPosition = InStr(FileNameC.Text, " 7.") - If FoundPosition <> 0 Then - OSType = "Mac75" - GoTo Catalog - End If - - FoundPosition = InStr(FileNameC.Text, " 8") - If FoundPosition <> 0 Then - OSType = "Mac8" - GoTo Catalog - End If - - FoundPosition = InStr(FileNameC.Text, " 9") - If FoundPosition <> 0 Then - OSType = "Mac9" - GoTo Catalog - End If - - FoundPosition = InStr(FileNameC.Text, " 9.") - If FoundPosition <> 0 Then - OSType = "Mac9" - GoTo Catalog - End If - - FoundPosition = InStr(FileNameC.Text, " Classic") - If FoundPosition <> 0 Then - OSType = "Mac9" - GoTo Catalog - End If - - FoundPosition = InStr(FileNameC.Text, " X") - If FoundPosition <> 0 Then - OSType = "Mac10" - GoTo Catalog - End If - - FoundPosition = InStr(FileNameC.Text, " 10") - If FoundPosition <> 0 Then - OSType = "Mac10" - GoTo Catalog - End If - - FoundPosition = InStr(FileNameC.Text, " 10.") - If FoundPosition <> 0 Then - OSType = "Mac10" - GoTo Catalog - End If - - -Catalog: - If AutoDetect = False Then - 'XDR - End If - - Select Case OSType - Case "Mac6" - VMemory = 8 - VDisk = 100 - VArch = "m680" - Case "Mac7" - VMemory = 16 - VDisk = 200 - VArch = "m684" - Case "Mac8" - VMemory = 32 - VDisk = 500 - VArch = "PPC" - Case "Mac9" - - Case "Mac10" - - Case "Other" - - End Select - - - MsgBox(VMemory & "," & VDisk & "," & VArch) - - Return VMemory & "," & VDisk & "," & VArch - - End Function - - Public Sub Labeler(ByVal Memory As Long, ByVal Disk As Long, ByVal Arch As String) - MemoryMB.Text = Memory & " MB" - DiskMB.Text = Disk & " MB" - CPUArch.Text = Arch - End Sub - - Private Sub DiskSizeMB_TextChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles DiskSizeMB.TextChanged - 'This is the tiny code that makes the slider and the textbox to synchronize - - On Error Resume Next - - If DiskSizeMB.Text = "" Then - cmdNext.Enabled = False - WarningLowerSize.Visible = True - DiskSizeMB.Focus() - Else - cmdNext.Enabled = True - WarningLowerSize.Visible = False - DiskSizeMB.Focus() - End If - - If CDbl(DiskSizeMB.Text) > 130557 Then - cmdNext.Enabled = False - WarningLowerSize.Visible = True - DiskSizeMB.Focus() - Else - cmdNext.Enabled = True - WarningLowerSize.Visible = False - DiskSizeMB.Focus() - End If - - End Sub - - Private Sub DiskSizeMB_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles DiskSizeMB.Click - DiskSizeMB.Focus() - End Sub - - Private Sub DiskSizeMB_KeyPress(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.KeyPressEventArgs) Handles DiskSizeMB.KeyPress - Dim KeyAscii As Short = Asc(eventArgs.KeyChar) - 'Goes to a function that makes that you can only press numbers, - 'no letters, no dots, no special characters - KeyAscii = VerifyKey(KeyAscii) - - eventArgs.KeyChar = Chr(KeyAscii) - If KeyAscii = 0 Then - eventArgs.Handled = True - End If - End Sub - - Private Sub NewVDBrowse_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles NewVDBrowse.Click - 'Opens the dialog to let you choice the location of the new hard disk - - BrowseOpen.Filter = "Virtual Mac Disk (*.dsk)|*.dsk|All files (*.*)|*.*" - BrowseSave.Filter = "Virtual Mac Disk (*.dsk)|*.dsk|All files (*.*)|*.*" - BrowseSave.ShowDialog() - BrowseOpen.FileName = BrowseSave.FileName - NewMac7VDName.Text = BrowseOpen.FileName - End Sub - - Private Sub FileNameC_Enter(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles FileNameC.Enter - 'Selects all the text when you click in the machine FileName TextBox - - FileNameC.SelectionStart = 0 - FileNameC.SelectionLength = Len(FileNameC.Text) - End Sub - - Private Sub OSList_SelectedIndexChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles OSList.SelectedIndexChanged - - - End Sub - - Function VerifyKey(ByRef PressedKey As Object) As Object - 'Lets only to send the keys assigned to numbers in the keyboard - - 'Declarations - Dim AllowedKeys As String - - 'Here are listed the 'allowed' keys - AllowedKeys = "1234567890" & Chr(System.Windows.Forms.Keys.Back) - - 'Here is made the check with a 'If' instruction - If InStr(1, AllowedKeys, Chr(PressedKey)) Then - - VerifyKey = PressedKey 'If the pressed key is one of the allowed - Else - VerifyKey = 0 - End If - - - End Function - - Public Sub AddVM() - 'This procedure will, make place where at the end - 'of the assistant the machine is made and the config file - 'is written to disk. But for now it's incomplete - - frmMain.RedrawList() 'Verifies for new items and redraws the list - - End Sub - - Public Sub CheckIfNameExist() - '===Check that we haven't a machine with the same name=== - 'Declarations - Dim i As Integer - Dim x As Integer - - 'Procedure - For x = 1 To frmMain.VM.Count - 1 - i = InStr(frmMain.VMName(x).Text, FileNameC.Text) - If i <> 0 Then - FileNameC.Text = "New Mac (" & x & ")" - End If - Next - - End Sub - - Private Sub RAMAdjust_Scroll(ByVal sender As Object, ByVal e As System.EventArgs) Handles RAMAdjust.Scroll - - RAMMegabyteNumber.Text = CStr(RAMAdjust.Value) - - End Sub - - Private Sub RAMMegabyteNumber_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles RAMMegabyteNumber.GotFocus - RAMMegabyteNumber.SelectionStart = 0 - RAMMegabyteNumber.SelectionLength = Len(RAMMegabyteNumber.Text) - End Sub - - Private Sub RAMMegabyteNumber_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles RAMMegabyteNumber.KeyPress - Dim KeyAscii As Short = Asc(e.KeyChar) - - KeyAscii = VerifyKey(KeyAscii) - - e.KeyChar = Chr(KeyAscii) - If KeyAscii = 0 Then - e.Handled = True - End If - End Sub - - Private Sub RAMMegabyteNumber_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles RAMMegabyteNumber.TextChanged - 'Makes that the value of the TextBox will be represented in the slider - - On Error GoTo ErrorHandler - - RAMAdjust.Value = CInt(RAMMegabyteNumber.Text) - - - -ErrorHandler: - If Not Err.Number = 0 Then - If Err.Number = 13 Then - RAMAdjust.Value = 0 - End If - - If Err.Number <> 13 Then - MsgBox(Err.Description, MsgBoxStyle.Critical) - End If - End If - End Sub - - Private Sub Adjust_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Adjust.CheckedChanged - If sender.Checked Then - - 'This makes visible the Frame that shows the RAM slider to adjust the RAM - - If Adjust.Checked = True Then - RAMAdjuster.Visible = True - RAMAdjust.TabStop = True - RAMMegabyteNumber.TabStop = True - End If - - End If - End Sub - - Private Sub Recommend_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Recommend.CheckedChanged - If sender.Checked Then - 'Makes Invisible the Frame with the RAM Slider so you will use the default RAM for the machine - - If Recommend.Checked = True Then - RAMAdjuster.Visible = False - RAMAdjust.TabStop = False - RAMMegabyteNumber.TabStop = False - End If - End If - End Sub -End Class \ No newline at end of file