home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 72 / IOPROG_72.ISO / soft / c++ / NCTDiscWriter2.exe / {app} / MS VB.Net Samples / TestVBNETDataCDWriter / frmTestVBDataCDWriter.vb < prev    next >
Encoding:
Text File  |  2003-04-08  |  24.6 KB  |  654 lines

  1. Imports NCTDISCWRITERLib.DataCDWriterClass
  2.  
  3. Public Class Form1
  4.     Inherits System.Windows.Forms.Form
  5.     Public driveNum As Integer
  6.     Public err As Boolean
  7.  
  8.     Public OperationProgress As Boolean
  9.     Public eraseProgress As Integer
  10.     Public writeProgress As Integer
  11.  
  12.     Dim fName As String
  13.     Dim fNumber As Integer
  14.     Dim itmX As ListViewItem
  15.  
  16.     Dim pattern As String
  17.  
  18.     Dim FileAsTrack(99) As String
  19.     Dim FilePath(99) As String
  20.  
  21.     Dim driveMaxR As String
  22.     Dim driveMaxWSpeed As String
  23.     Dim BurnProof As String
  24.     Dim driveBufferSize As String
  25.  
  26.     Public frmWrite1 As frmWrite
  27.  
  28.     Public WithEvents DataCDWriter1 As NCTDISCWRITERLib.DataCDWriterClass
  29.  
  30.  
  31. #Region " Windows Form Designer generated code "
  32.  
  33.     Public Sub New()
  34.         MyBase.New()
  35.  
  36.         'This call is required by the Windows Form Designer.
  37.         InitializeComponent()
  38.  
  39.         'Add any initialization after the InitializeComponent() call
  40.  
  41.     End Sub
  42.  
  43.     'Form overrides dispose to clean up the component list.
  44.     Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
  45.         If disposing Then
  46.             If Not (components Is Nothing) Then
  47.                 components.Dispose()
  48.             End If
  49.         End If
  50.         MyBase.Dispose(disposing)
  51.     End Sub
  52.  
  53.     'Required by the Windows Form Designer
  54.     Private components As System.ComponentModel.IContainer
  55.  
  56.     'NOTE: The following procedure is required by the Windows Form Designer
  57.     'It can be modified using the Windows Form Designer.  
  58.     'Do not modify it using the code editor.
  59.     Friend WithEvents MainMenu1 As System.Windows.Forms.MainMenu
  60.     Friend WithEvents MenuItem1 As System.Windows.Forms.MenuItem
  61.     Friend WithEvents MenuItem2 As System.Windows.Forms.MenuItem
  62.     Friend WithEvents MenuItem3 As System.Windows.Forms.MenuItem
  63.     Friend WithEvents MenuItem4 As System.Windows.Forms.MenuItem
  64.     Friend WithEvents MenuItem5 As System.Windows.Forms.MenuItem
  65.     Friend WithEvents MenuItem6 As System.Windows.Forms.MenuItem
  66.     Friend WithEvents MainMenu2 As System.Windows.Forms.MainMenu
  67.     Friend WithEvents MenuItem7 As System.Windows.Forms.MenuItem
  68.     Friend WithEvents MenuItem8 As System.Windows.Forms.MenuItem
  69.     Friend WithEvents MenuItem9 As System.Windows.Forms.MenuItem
  70.     Friend WithEvents MenuItem10 As System.Windows.Forms.MenuItem
  71.     Friend WithEvents MenuItem11 As System.Windows.Forms.MenuItem
  72.     Friend WithEvents MenuItem12 As System.Windows.Forms.MenuItem
  73.     Friend WithEvents MenuItem13 As System.Windows.Forms.MenuItem
  74.     Friend WithEvents MainMenu3 As System.Windows.Forms.MainMenu
  75.     Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
  76.     Friend WithEvents drvSelect As Microsoft.VisualBasic.Compatibility.VB6.DriveListBox
  77.     Friend WithEvents dirSelect As Microsoft.VisualBasic.Compatibility.VB6.DirListBox
  78.     Friend WithEvents fileSelect As Microsoft.VisualBasic.Compatibility.VB6.FileListBox
  79.     Friend WithEvents AddDirBtn As System.Windows.Forms.Button
  80.     Friend WithEvents AddFileBtn As System.Windows.Forms.Button
  81.     Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox
  82.     Friend WithEvents ListView1 As System.Windows.Forms.ListView
  83.     Friend WithEvents ColumnHeader1 As System.Windows.Forms.ColumnHeader
  84.     Friend WithEvents ColumnHeader2 As System.Windows.Forms.ColumnHeader
  85.     Friend WithEvents DeleteAllBtn As System.Windows.Forms.Button
  86.     Friend WithEvents WriteNowBtn As System.Windows.Forms.Button
  87.     Friend WithEvents stBarAudioWriter As System.Windows.Forms.StatusBar
  88.     Friend WithEvents StatusBarPanel1 As System.Windows.Forms.StatusBarPanel
  89.     Friend WithEvents StatusBarPanel2 As System.Windows.Forms.StatusBarPanel
  90.     Friend WithEvents StatusBarPanel3 As System.Windows.Forms.StatusBarPanel
  91.     Friend WithEvents StatusBarPanel4 As System.Windows.Forms.StatusBarPanel
  92.     Friend WithEvents CurDirLbl As System.Windows.Forms.Label
  93.     Friend WithEvents MenuItem14 As System.Windows.Forms.MenuItem
  94.     <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
  95.         Me.MainMenu1 = New System.Windows.Forms.MainMenu()
  96.         Me.MenuItem1 = New System.Windows.Forms.MenuItem()
  97.         Me.MenuItem2 = New System.Windows.Forms.MenuItem()
  98.         Me.MenuItem3 = New System.Windows.Forms.MenuItem()
  99.         Me.MenuItem4 = New System.Windows.Forms.MenuItem()
  100.         Me.MenuItem5 = New System.Windows.Forms.MenuItem()
  101.         Me.MenuItem6 = New System.Windows.Forms.MenuItem()
  102.         Me.MenuItem7 = New System.Windows.Forms.MenuItem()
  103.         Me.MenuItem8 = New System.Windows.Forms.MenuItem()
  104.         Me.MenuItem9 = New System.Windows.Forms.MenuItem()
  105.         Me.MenuItem10 = New System.Windows.Forms.MenuItem()
  106.         Me.MenuItem11 = New System.Windows.Forms.MenuItem()
  107.         Me.MenuItem12 = New System.Windows.Forms.MenuItem()
  108.         Me.MenuItem13 = New System.Windows.Forms.MenuItem()
  109.         Me.MenuItem14 = New System.Windows.Forms.MenuItem()
  110.         Me.MainMenu2 = New System.Windows.Forms.MainMenu()
  111.         Me.MainMenu3 = New System.Windows.Forms.MainMenu()
  112.         Me.GroupBox1 = New System.Windows.Forms.GroupBox()
  113.         Me.AddFileBtn = New System.Windows.Forms.Button()
  114.         Me.AddDirBtn = New System.Windows.Forms.Button()
  115.         Me.fileSelect = New Microsoft.VisualBasic.Compatibility.VB6.FileListBox()
  116.         Me.dirSelect = New Microsoft.VisualBasic.Compatibility.VB6.DirListBox()
  117.         Me.drvSelect = New Microsoft.VisualBasic.Compatibility.VB6.DriveListBox()
  118.         Me.GroupBox2 = New System.Windows.Forms.GroupBox()
  119.         Me.WriteNowBtn = New System.Windows.Forms.Button()
  120.         Me.DeleteAllBtn = New System.Windows.Forms.Button()
  121.         Me.ListView1 = New System.Windows.Forms.ListView()
  122.         Me.ColumnHeader1 = New System.Windows.Forms.ColumnHeader()
  123.         Me.ColumnHeader2 = New System.Windows.Forms.ColumnHeader()
  124.         Me.stBarAudioWriter = New System.Windows.Forms.StatusBar()
  125.         Me.StatusBarPanel1 = New System.Windows.Forms.StatusBarPanel()
  126.         Me.StatusBarPanel2 = New System.Windows.Forms.StatusBarPanel()
  127.         Me.StatusBarPanel3 = New System.Windows.Forms.StatusBarPanel()
  128.         Me.StatusBarPanel4 = New System.Windows.Forms.StatusBarPanel()
  129.         Me.CurDirLbl = New System.Windows.Forms.Label()
  130.         Me.GroupBox1.SuspendLayout()
  131.         Me.GroupBox2.SuspendLayout()
  132.         CType(Me.StatusBarPanel1, System.ComponentModel.ISupportInitialize).BeginInit()
  133.         CType(Me.StatusBarPanel2, System.ComponentModel.ISupportInitialize).BeginInit()
  134.         CType(Me.StatusBarPanel3, System.ComponentModel.ISupportInitialize).BeginInit()
  135.         CType(Me.StatusBarPanel4, System.ComponentModel.ISupportInitialize).BeginInit()
  136.         Me.SuspendLayout()
  137.         '
  138.         'MainMenu1
  139.         '
  140.         Me.MainMenu1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MenuItem1, Me.MenuItem4, Me.MenuItem7, Me.MenuItem12, Me.MenuItem14})
  141.         '
  142.         'MenuItem1
  143.         '
  144.         Me.MenuItem1.Index = 0
  145.         Me.MenuItem1.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MenuItem2, Me.MenuItem3})
  146.         Me.MenuItem1.Text = "File"
  147.         '
  148.         'MenuItem2
  149.         '
  150.         Me.MenuItem2.Index = 0
  151.         Me.MenuItem2.Text = "Add File"
  152.         '
  153.         'MenuItem3
  154.         '
  155.         Me.MenuItem3.Index = 1
  156.         Me.MenuItem3.Text = "Exit"
  157.         '
  158.         'MenuItem4
  159.         '
  160.         Me.MenuItem4.Index = 1
  161.         Me.MenuItem4.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MenuItem5, Me.MenuItem6})
  162.         Me.MenuItem4.Text = " Recorder"
  163.         '
  164.         'MenuItem5
  165.         '
  166.         Me.MenuItem5.Index = 0
  167.         Me.MenuItem5.Text = "Choose Recorder"
  168.         '
  169.         'MenuItem6
  170.         '
  171.         Me.MenuItem6.Enabled = False
  172.         Me.MenuItem6.Index = 1
  173.         Me.MenuItem6.Text = "Set Burn Method"
  174.         '
  175.         'MenuItem7
  176.         '
  177.         Me.MenuItem7.Index = 2
  178.         Me.MenuItem7.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MenuItem8, Me.MenuItem9, Me.MenuItem10, Me.MenuItem11})
  179.         Me.MenuItem7.Text = "CD"
  180.         '
  181.         'MenuItem8
  182.         '
  183.         Me.MenuItem8.Index = 0
  184.         Me.MenuItem8.Text = "Disk Info"
  185.         '
  186.         'MenuItem9
  187.         '
  188.         Me.MenuItem9.Index = 1
  189.         Me.MenuItem9.Text = "Refresh"
  190.         '
  191.         'MenuItem10
  192.         '
  193.         Me.MenuItem10.Index = 2
  194.         Me.MenuItem10.Text = "Erase CD-RW"
  195.         '
  196.         'MenuItem11
  197.         '
  198.         Me.MenuItem11.Index = 3
  199.         Me.MenuItem11.Text = "Eject"
  200.         '
  201.         'MenuItem12
  202.         '
  203.         Me.MenuItem12.Index = 3
  204.         Me.MenuItem12.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MenuItem13})
  205.         Me.MenuItem12.Text = "Write"
  206.         '
  207.         'MenuItem13
  208.         '
  209.         Me.MenuItem13.Index = 0
  210.         Me.MenuItem13.Text = "Start Write"
  211.         '
  212.         'MenuItem14
  213.         '
  214.         Me.MenuItem14.Index = 4
  215.         Me.MenuItem14.Text = ""
  216.         '
  217.         'GroupBox1
  218.         '
  219.         Me.GroupBox1.Controls.AddRange(New System.Windows.Forms.Control() {Me.AddFileBtn, Me.AddDirBtn, Me.fileSelect, Me.dirSelect, Me.drvSelect})
  220.         Me.GroupBox1.Location = New System.Drawing.Point(0, 8)
  221.         Me.GroupBox1.Name = "GroupBox1"
  222.         Me.GroupBox1.Size = New System.Drawing.Size(608, 160)
  223.         Me.GroupBox1.TabIndex = 0
  224.         Me.GroupBox1.TabStop = False
  225.         Me.GroupBox1.Text = "File View"
  226.         '
  227.         'AddFileBtn
  228.         '
  229.         Me.AddFileBtn.Location = New System.Drawing.Point(536, 40)
  230.         Me.AddFileBtn.Name = "AddFileBtn"
  231.         Me.AddFileBtn.Size = New System.Drawing.Size(64, 24)
  232.         Me.AddFileBtn.TabIndex = 4
  233.         Me.AddFileBtn.Text = "Add File"
  234.         '
  235.         'AddDirBtn
  236.         '
  237.         Me.AddDirBtn.Location = New System.Drawing.Point(536, 16)
  238.         Me.AddDirBtn.Name = "AddDirBtn"
  239.         Me.AddDirBtn.Size = New System.Drawing.Size(64, 24)
  240.         Me.AddDirBtn.TabIndex = 3
  241.         Me.AddDirBtn.Text = "Add Dir"
  242.         '
  243.         'fileSelect
  244.         '
  245.         Me.fileSelect.Location = New System.Drawing.Point(304, 16)
  246.         Me.fileSelect.Name = "fileSelect"
  247.         Me.fileSelect.Pattern = "*.*"
  248.         Me.fileSelect.SelectionMode = System.Windows.Forms.SelectionMode.MultiSimple
  249.         Me.fileSelect.Size = New System.Drawing.Size(224, 134)
  250.         Me.fileSelect.TabIndex = 2
  251.         '
  252.         'dirSelect
  253.         '
  254.         Me.dirSelect.IntegralHeight = False
  255.         Me.dirSelect.Location = New System.Drawing.Point(8, 40)
  256.         Me.dirSelect.Name = "dirSelect"
  257.         Me.dirSelect.Size = New System.Drawing.Size(296, 112)
  258.         Me.dirSelect.TabIndex = 1
  259.         '
  260.         'drvSelect
  261.         '
  262.         Me.drvSelect.Location = New System.Drawing.Point(8, 16)
  263.         Me.drvSelect.Name = "drvSelect"
  264.         Me.drvSelect.Size = New System.Drawing.Size(296, 21)
  265.         Me.drvSelect.TabIndex = 0
  266.         '
  267.         'GroupBox2
  268.         '
  269.         Me.GroupBox2.Controls.AddRange(New System.Windows.Forms.Control() {Me.WriteNowBtn, Me.DeleteAllBtn, Me.ListView1})
  270.         Me.GroupBox2.Location = New System.Drawing.Point(0, 176)
  271.         Me.GroupBox2.Name = "GroupBox2"
  272.         Me.GroupBox2.Size = New System.Drawing.Size(608, 208)
  273.         Me.GroupBox2.TabIndex = 1
  274.         Me.GroupBox2.TabStop = False
  275.         Me.GroupBox2.Text = "Burn Image View"
  276.         '
  277.         'WriteNowBtn
  278.         '
  279.         Me.WriteNowBtn.Location = New System.Drawing.Point(528, 176)
  280.         Me.WriteNowBtn.Name = "WriteNowBtn"
  281.         Me.WriteNowBtn.Size = New System.Drawing.Size(72, 24)
  282.         Me.WriteNowBtn.TabIndex = 7
  283.         Me.WriteNowBtn.Text = "Start Write"
  284.         '
  285.         'DeleteAllBtn
  286.         '
  287.         Me.DeleteAllBtn.Location = New System.Drawing.Point(8, 176)
  288.         Me.DeleteAllBtn.Name = "DeleteAllBtn"
  289.         Me.DeleteAllBtn.Size = New System.Drawing.Size(64, 24)
  290.         Me.DeleteAllBtn.TabIndex = 6
  291.         Me.DeleteAllBtn.Text = "Delete All"
  292.         '
  293.         'ListView1
  294.         '
  295.         Me.ListView1.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1, Me.ColumnHeader2})
  296.         Me.ListView1.Location = New System.Drawing.Point(8, 16)
  297.         Me.ListView1.MultiSelect = False
  298.         Me.ListView1.Name = "ListView1"
  299.         Me.ListView1.Size = New System.Drawing.Size(592, 152)
  300.         Me.ListView1.TabIndex = 4
  301.         Me.ListView1.View = System.Windows.Forms.View.Details
  302.         '
  303.         'ColumnHeader1
  304.         '
  305.         Me.ColumnHeader1.Text = "No"
  306.         Me.ColumnHeader1.Width = 40
  307.         '
  308.         'ColumnHeader2
  309.         '
  310.         Me.ColumnHeader2.Text = "Path"
  311.         Me.ColumnHeader2.Width = 548
  312.         '
  313.         'stBarAudioWriter
  314.         '
  315.         Me.stBarAudioWriter.Location = New System.Drawing.Point(0, 409)
  316.         Me.stBarAudioWriter.Name = "stBarAudioWriter"
  317.         Me.stBarAudioWriter.Panels.AddRange(New System.Windows.Forms.StatusBarPanel() {Me.StatusBarPanel1, Me.StatusBarPanel2, Me.StatusBarPanel3, Me.StatusBarPanel4})
  318.         Me.stBarAudioWriter.ShowPanels = True
  319.         Me.stBarAudioWriter.Size = New System.Drawing.Size(616, 16)
  320.         Me.stBarAudioWriter.TabIndex = 2
  321.         Me.stBarAudioWriter.Text = "CD-RW"
  322.         '
  323.         'StatusBarPanel1
  324.         '
  325.         Me.StatusBarPanel1.Text = "CD-RW"
  326.         Me.StatusBarPanel1.ToolTipText = "Disc Type"
  327.         Me.StatusBarPanel1.Width = 150
  328.         '
  329.         'StatusBarPanel2
  330.         '
  331.         Me.StatusBarPanel2.Text = "Open"
  332.         Me.StatusBarPanel2.ToolTipText = "Disk Status"
  333.         Me.StatusBarPanel2.Width = 150
  334.         '
  335.         'StatusBarPanel3
  336.         '
  337.         Me.StatusBarPanel3.Text = "50.000Mb"
  338.         Me.StatusBarPanel3.ToolTipText = "Used Space"
  339.         Me.StatusBarPanel3.Width = 150
  340.         '
  341.         'StatusBarPanel4
  342.         '
  343.         Me.StatusBarPanel4.Text = "650.000Mb"
  344.         Me.StatusBarPanel4.ToolTipText = "Estimated Used Space"
  345.         Me.StatusBarPanel4.Width = 150
  346.         '
  347.         'CurDirLbl
  348.         '
  349.         Me.CurDirLbl.Location = New System.Drawing.Point(0, 384)
  350.         Me.CurDirLbl.Name = "CurDirLbl"
  351.         Me.CurDirLbl.Size = New System.Drawing.Size(608, 24)
  352.         Me.CurDirLbl.TabIndex = 3
  353.         '
  354.         'Form1
  355.         '
  356.         Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
  357.         Me.ClientSize = New System.Drawing.Size(616, 425)
  358.         Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.CurDirLbl, Me.stBarAudioWriter, Me.GroupBox2, Me.GroupBox1})
  359.         Me.MaximizeBox = False
  360.         Me.Menu = Me.MainMenu1
  361.         Me.MinimizeBox = False
  362.         Me.Name = "Form1"
  363.         Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
  364.         Me.Text = "TestVBNetDataCDWriter"
  365.         Me.GroupBox1.ResumeLayout(False)
  366.         Me.GroupBox2.ResumeLayout(False)
  367.         CType(Me.StatusBarPanel1, System.ComponentModel.ISupportInitialize).EndInit()
  368.         CType(Me.StatusBarPanel2, System.ComponentModel.ISupportInitialize).EndInit()
  369.         CType(Me.StatusBarPanel3, System.ComponentModel.ISupportInitialize).EndInit()
  370.         CType(Me.StatusBarPanel4, System.ComponentModel.ISupportInitialize).EndInit()
  371.         Me.ResumeLayout(False)
  372.  
  373.     End Sub
  374.  
  375. #End Region
  376.  
  377.     Private Sub MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem2.Click
  378.         Dim fileSelNum As Integer
  379.         fileSelNum = 0
  380.         Do While fileSelNum < fileSelect.Items.Count
  381.  
  382.             If fileSelect.GetSelected(fileSelNum) = True Then
  383.                 fName = fileSelect.Items.Item(fileSelNum)
  384.                 FileAsTrack(fNumber) = fName
  385.                 FilePath(fNumber) = fileSelect.Path & "\\" & fName
  386.                 DataCDWriter1.DataAddItem(FilePath(fNumber))
  387.                 CurDirLbl.Text = ""
  388.  
  389.                 itmX = ListView1.Items.Add((fNumber + 1).ToString)
  390.                 itmX.SubItems.Add(FileAsTrack(fNumber))
  391.                 fNumber = fNumber + 1
  392.             End If
  393.             fileSelNum = fileSelNum + 1
  394.         Loop
  395.  
  396.         Me.Refresh()
  397.  
  398.         stBarAudioWriter.Panels(3).Text = Format((DataCDWriter1.GetDataVolumeBurnSize / 1024) / 1024, "#0.000") & " MB"
  399.  
  400.     End Sub
  401.  
  402.     Private Sub MenuItem5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem5.Click
  403.         Dim frm As New frmChooseRec()
  404.         frm.ShowDialog(Me)
  405.         frm.Dispose()
  406.     End Sub
  407.  
  408.     Private Sub WriteNowBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles WriteNowBtn.Click
  409.         WriteDisc()
  410.  
  411.     End Sub
  412.     Public Sub WriteDisc()
  413.         Dim frm As New frmWrite()
  414.         frm.ShowDialog(Me)
  415.         frm.Dispose()
  416.  
  417.     End Sub
  418.  
  419.     Private Sub Form1_UnLoad(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  420.         'DataCDWriter1.DriverClose()
  421.     End Sub
  422.  
  423.  
  424.     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  425.  
  426.         DataCDWriter1 = New NCTDISCWRITERLib.DataCDWriterClass()
  427.         DataCDWriter1.DriverOpen()
  428.  
  429.         dirSelect.Path = drvSelect.Drive
  430.         fileSelect.Path = dirSelect.Path
  431.  
  432.         DataCDWriter1.driveNum = 1
  433.         Dim MaxSpeed As Integer
  434.  
  435.         MaxSpeed = DataCDWriter1.driveMaxRSpeed
  436.         If MaxSpeed > 0 Then
  437.             driveMaxR = MaxSpeed & "x"
  438.         Else
  439.             driveMaxR = "N/A"
  440.         End If
  441.  
  442.         MaxSpeed = DataCDWriter1.driveMaxWSpeed
  443.         If MaxSpeed > 0 Then
  444.             driveMaxWSpeed = MaxSpeed & "x"
  445.         Else
  446.             driveMaxWSpeed = "N/A"
  447.         End If
  448.  
  449.         If DataCDWriter1.driveBurnProofEnabled Then
  450.             BurnProof = 1
  451.         Else
  452.             BurnProof = 0
  453.         End If
  454.  
  455.         driveBufferSize = Format(DataCDWriter1.driveBufferSize / 1024 / 1024, "#0.0") & " MB"
  456.  
  457.         RefreshDiskInfo()
  458.         fNumber = 0
  459.  
  460.         err = False
  461.     End Sub
  462.  
  463.     Private Sub DataCDWriter1_ErrorEx(ByVal e As NCTDISCWRITERLib.ERRCODE, ByVal errDescr As String) Handles DataCDWriter1.ErrorEx
  464.         Dim i As Integer
  465.         err = True
  466.  
  467.         If e <> NCTDISCWRITERLib.ERRCODE.DRIVENOTSUPPORTED And e <> NCTDISCWRITERLib.ERRCODE.INITFAILED Then
  468.             MsgBox("Error: " & e & ". " & errDescr)
  469.         End If
  470.  
  471.     End Sub
  472.  
  473.     Private Sub DataCDWriter1_OperationProgress(ByVal Percent As Short) Handles DataCDWriter1.OperationProgress
  474.  
  475.         OperationProgress = True
  476.         If DataCDWriter1.driveOperation = NCTDISCWRITERLib.OPERATION.ADD_ITEM Then
  477.             CurDirLbl.Text = DataCDWriter1.GetAddItemCurPath
  478.             Application.DoEvents()
  479.             Me.Refresh()
  480.         End If
  481.         If DataCDWriter1.driveOperation = NCTDISCWRITERLib.OPERATION.ERASE_DISC Then
  482.             eraseProgress = Percent
  483.         Else
  484.             writeProgress = Percent
  485.             frmWrite1.OperationProgress(Percent)
  486.         End If
  487.  
  488.     End Sub
  489.  
  490.     Private Sub drvSelect_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles drvSelect.SelectedIndexChanged
  491.         If drvSelect.Drive <> "a:" And drvSelect.Drive <> "b:" Then
  492.             dirSelect.Path = drvSelect.Drive
  493.             fileSelect.Path = dirSelect.Path
  494.             fileSelect.Refresh()
  495.         End If
  496.     End Sub
  497.  
  498.     Private Sub dirSelect_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dirSelect.SelectedIndexChanged
  499.         fileSelect.Path = dirSelect.Path
  500.         Me.Refresh()
  501.     End Sub
  502.  
  503.     Private Sub AddDirBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddDirBtn.Click
  504.         fName = dirSelect.Path
  505.  
  506.         err = False
  507.         DataCDWriter1.DataAddItem(fName)
  508.  
  509.         If err = False Then
  510.             FileAsTrack(fNumber) = dirSelect.Path
  511.             FilePath(fNumber) = dirSelect.Path
  512.             CurDirLbl.Text = ""
  513.             itmX = ListView1.Items.Add((fNumber + 1).ToString)
  514.             itmX.SubItems.Add(FileAsTrack(fNumber))
  515.             fNumber = fNumber + 1
  516.         Else
  517.             fName = ""
  518.             CurDirLbl.Text = ""
  519.         End If
  520.  
  521.         Me.Refresh()
  522.  
  523.         stBarAudioWriter.Panels(3).Text = Format((DataCDWriter1.GetDataVolumeBurnSize / 1024) / 1024, "#0.000") & " MB"
  524.  
  525.  
  526.     End Sub
  527.  
  528.     Private Sub AddFileBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddFileBtn.Click
  529.         Dim fileSelNum As Integer
  530.  
  531.         fileSelNum = 0
  532.         Do While fileSelNum < fileSelect.Items.Count
  533.  
  534.             If fileSelect.GetSelected(fileSelNum) = True Then
  535.                 fName = fileSelect.Items.Item(fileSelNum)
  536.                 FileAsTrack(fNumber) = fName
  537.                 FilePath(fNumber) = fileSelect.Path & "\\" & fName
  538.                 DataCDWriter1.DataAddItem(FilePath(fNumber))
  539.                 CurDirLbl.Text = ""
  540.  
  541.                 itmX = ListView1.Items.Add((fNumber + 1).ToString)
  542.                 itmX.SubItems.Add(FileAsTrack(fNumber))
  543.                 fNumber = fNumber + 1
  544.             End If
  545.             fileSelNum = fileSelNum + 1
  546.         Loop
  547.  
  548.         Me.Refresh()
  549.  
  550.         stBarAudioWriter.Panels(3).Text = Format((DataCDWriter1.GetDataVolumeBurnSize / 1024) / 1024, "#0.000") & " MB"
  551.  
  552.     End Sub
  553.  
  554.     Private Sub DeleteAllBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DeleteAllBtn.Click
  555.         ListView1.Items.Clear()
  556.  
  557.         DataCDWriter1.DataDeleteAllItems()
  558.  
  559.         fNumber = 0
  560.  
  561.  
  562.         stBarAudioWriter.Panels(3).Text = Format((DataCDWriter1.GetDataVolumeBurnSize / 1024) / 1024, "#0.000") & " MB"
  563.  
  564.     End Sub
  565.     Private Sub LoadTracks()
  566.         Dim i As Integer
  567.  
  568.         ListView1.Items.Clear()
  569.         DataCDWriter1.DataDeleteAllItems()
  570.  
  571.         i = 0
  572.         Do While i < fNumber
  573.             itmX = ListView1.Items.Add((i + 1).ToString)
  574.             itmX.Text = i + 1
  575.             itmX.SubItems.Add(FileAsTrack(i))
  576.             DataCDWriter1.DataAddItem(FilePath(i))
  577.             CurDirLbl.Text = ""
  578.             i = i + 1
  579.         Loop
  580.  
  581.  
  582.         Me.Refresh()
  583.  
  584.         stBarAudioWriter.Panels(3).Text = Format((DataCDWriter1.GetDataVolumeBurnSize / 1024) / 1024, "#0.000") & " MB"
  585.     End Sub
  586.  
  587.     Public Sub RefreshDiskInfo()
  588.         DataCDWriter1.Refresh()
  589.  
  590.         stBarAudioWriter.Panels(2).Text = Format((DataCDWriter1.cdUsedSpace / 1024) / 1024, "#0.000") & " MB"
  591.         stBarAudioWriter.Panels(3).Text = Format((DataCDWriter1.GetDataVolumeBurnSize / 1024) / 1024, "#0.000") & " MB"
  592.  
  593.         Select Case DataCDWriter1.cdType
  594.             Case NCTDISCWRITERLib.CD_TYPE.WRITEONCE
  595.                 stBarAudioWriter.Panels(0).Text = "CD-R, CD-ROM"
  596.             Case NCTDISCWRITERLib.CD_TYPE.ERASABLE
  597.                 stBarAudioWriter.Panels(0).Text = "CD-RW"
  598.             Case NCTDISCWRITERLib.CD_TYPE.RANDOMACCESS
  599.                 stBarAudioWriter.Panels(0).Text = "DVD-RAM"
  600.             Case NCTDISCWRITERLib.CD_TYPE.NODISC
  601.                 stBarAudioWriter.Panels(0).Text = "No Disc"
  602.                 stBarAudioWriter.Panels(2).Text = "0"
  603.                 stBarAudioWriter.Panels(3).Text = "0"
  604.         End Select
  605.  
  606.         Select Case DataCDWriter1.cdStatus
  607.             Case NCTDISCWRITERLib.CD_STATUS.BLANK
  608.                 stBarAudioWriter.Panels(1).Text = "Blank"
  609.             Case NCTDISCWRITERLib.CD_STATUS.WRITEBLE
  610.                 stBarAudioWriter.Panels(1).Text = "Open"
  611.             Case NCTDISCWRITERLib.CD_STATUS.NOTWRITEBLE
  612.                 stBarAudioWriter.Panels(1).Text = "Closed"
  613.             Case NCTDISCWRITERLib.CD_STATUS.UNRECOGNIZED
  614.                 stBarAudioWriter.Panels(1).Text = "Unknown"
  615.                 stBarAudioWriter.Panels(2).Text = "0"
  616.                 stBarAudioWriter.Panels(3).Text = "0"
  617.         End Select
  618.  
  619.         Me.Refresh()
  620.  
  621.     End Sub
  622.  
  623.     Private Sub MenuItem8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem8.Click
  624.         Dim frm As New frmDiscInfo()
  625.         frm.ShowDialog(Me)
  626.         frm.Dispose()
  627.     End Sub
  628.  
  629.     Private Sub MenuItem9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem9.Click
  630.         RefreshDiskInfo()
  631.     End Sub
  632.  
  633.     Private Sub MenuItem10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem10.Click
  634.         Dim frm As New frmErase()
  635.         frm.ShowDialog(Me)
  636.         frm.Dispose()
  637.  
  638.     End Sub
  639.  
  640.     Private Sub MenuItem11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem11.Click
  641.         DataCDWriter1.Eject()
  642.         RefreshDiskInfo()
  643.     End Sub
  644.  
  645.  
  646.     Private Sub MenuItem13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem13.Click
  647.         WriteDisc()
  648.     End Sub
  649.  
  650.     Public Sub DataCDWriter1_MediaChange() Handles DataCDWriter1.MediaChange
  651.         RefreshDiskInfo()
  652.     End Sub
  653. End Class
  654.