diff --git a/ISEN-Repair Inventory Manager/AddMachine_ID.Designer.vb b/ISEN-Repair Inventory Manager/AddMachine_ID.Designer.vb
index f42ab53..69612f4 100644
--- a/ISEN-Repair Inventory Manager/AddMachine_ID.Designer.vb
+++ b/ISEN-Repair Inventory Manager/AddMachine_ID.Designer.vb
@@ -27,6 +27,7 @@ Partial Class AddMachine_ID
Me.AddMachine_ID_CancelButton = New System.Windows.Forms.Button()
Me.NextButton = New System.Windows.Forms.Button()
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
+ Me.RandomIDButton = New System.Windows.Forms.Button()
Me.GroupBox1.SuspendLayout()
Me.SuspendLayout()
'
@@ -82,6 +83,16 @@ Partial Class AddMachine_ID
Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "Nouvel ID"
'
+ 'RandomIDButton
+ '
+ Me.RandomIDButton.Enabled = False
+ Me.RandomIDButton.Location = New System.Drawing.Point(247, 88)
+ Me.RandomIDButton.Name = "RandomIDButton"
+ Me.RandomIDButton.Size = New System.Drawing.Size(59, 23)
+ Me.RandomIDButton.TabIndex = 102
+ Me.RandomIDButton.Text = "Aléatoire"
+ Me.RandomIDButton.UseVisualStyleBackColor = True
+ '
'AddMachine_ID
'
Me.AcceptButton = Me.NextButton
@@ -89,6 +100,7 @@ Partial Class AddMachine_ID
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.CausesValidation = False
Me.ClientSize = New System.Drawing.Size(360, 167)
+ Me.Controls.Add(Me.RandomIDButton)
Me.Controls.Add(Me.GroupBox1)
Me.Controls.Add(Me.NextButton)
Me.Controls.Add(Me.AddMachine_ID_CancelButton)
@@ -112,4 +124,5 @@ Partial Class AddMachine_ID
Friend WithEvents AddMachine_ID_CancelButton As Button
Friend WithEvents NextButton As Button
Friend WithEvents GroupBox1 As GroupBox
+ Friend WithEvents RandomIDButton As Button
End Class
diff --git a/ISEN-Repair Inventory Manager/AddMachine_ID.vb b/ISEN-Repair Inventory Manager/AddMachine_ID.vb
index cb0c80c..bb26955 100644
--- a/ISEN-Repair Inventory Manager/AddMachine_ID.vb
+++ b/ISEN-Repair Inventory Manager/AddMachine_ID.vb
@@ -24,4 +24,12 @@
NextButton.Enabled = False
End If
End Sub
+
+ Private Sub RandomIDButton_Click(sender As Object, e As EventArgs) Handles RandomIDButton.Click
+ newIDBox.Text = Main.GenerateRandomID()
+ End Sub
+
+ Private Sub newIDBox_KeyDown(sender As Object, e As KeyEventArgs) Handles newIDBox.KeyDown
+ newIDBox.Text = newIDBox.Text & Main.ScannerInterpreterFRLayout(e)
+ End Sub
End Class
\ No newline at end of file
diff --git a/ISEN-Repair Inventory Manager/IDGenerator.Designer.vb b/ISEN-Repair Inventory Manager/IDGenerator.Designer.vb
index b9c7f8a..fdd54db 100644
--- a/ISEN-Repair Inventory Manager/IDGenerator.Designer.vb
+++ b/ISEN-Repair Inventory Manager/IDGenerator.Designer.vb
@@ -27,6 +27,7 @@ Partial Class IDGenerator
Me.GenerateNewIDButton = New System.Windows.Forms.Button()
Me.CloseButtonNewID = New System.Windows.Forms.Button()
Me.PictureBox1 = New System.Windows.Forms.PictureBox()
+ Me.newRandomIDBox = New System.Windows.Forms.MaskedTextBox()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
@@ -69,7 +70,7 @@ Partial Class IDGenerator
Me.Barcode1.RotationAngle = IDAutomation.Windows.Forms.LinearBarCode.RotationAngles.Zero_Degrees
Me.Barcode1.ShowText = True
Me.Barcode1.ShowTextLocation = IDAutomation.Windows.Forms.LinearBarCode.HRTextPositions.Bottom
- Me.Barcode1.Size = New System.Drawing.Size(171, 75)
+ Me.Barcode1.Size = New System.Drawing.Size(171, 74)
Me.Barcode1.SuppSeparationCM = 0.5!
Me.Barcode1.SymbologyID = IDAutomation.Windows.Forms.LinearBarCode.Symbologies.Code39
Me.Barcode1.TabIndex = 0
@@ -79,11 +80,11 @@ Partial Class IDGenerator
Me.Barcode1.UPCESystem = "0"
Me.Barcode1.WhiteBarIncrease = 0!
Me.Barcode1.XDimensionCM = 0.0298!
- Me.Barcode1.XDimensionMILS = 11.7715!
+ Me.Barcode1.XDimensionMILS = 11.7714!
'
'GenerateNewIDButton
'
- Me.GenerateNewIDButton.Location = New System.Drawing.Point(12, 145)
+ Me.GenerateNewIDButton.Location = New System.Drawing.Point(12, 171)
Me.GenerateNewIDButton.Name = "GenerateNewIDButton"
Me.GenerateNewIDButton.Size = New System.Drawing.Size(198, 23)
Me.GenerateNewIDButton.TabIndex = 1
@@ -93,7 +94,7 @@ Partial Class IDGenerator
'CloseButtonNewID
'
Me.CloseButtonNewID.DialogResult = System.Windows.Forms.DialogResult.Cancel
- Me.CloseButtonNewID.Location = New System.Drawing.Point(51, 170)
+ Me.CloseButtonNewID.Location = New System.Drawing.Point(51, 196)
Me.CloseButtonNewID.Name = "CloseButtonNewID"
Me.CloseButtonNewID.Size = New System.Drawing.Size(126, 23)
Me.CloseButtonNewID.TabIndex = 2
@@ -110,25 +111,39 @@ Partial Class IDGenerator
Me.PictureBox1.TabIndex = 3
Me.PictureBox1.TabStop = False
'
+ 'newRandomIDBox
+ '
+ Me.newRandomIDBox.AllowDrop = True
+ Me.newRandomIDBox.AsciiOnly = True
+ Me.newRandomIDBox.BeepOnError = True
+ Me.newRandomIDBox.Location = New System.Drawing.Point(64, 145)
+ Me.newRandomIDBox.Mask = "9999999999"
+ Me.newRandomIDBox.Name = "newRandomIDBox"
+ Me.newRandomIDBox.Size = New System.Drawing.Size(100, 20)
+ Me.newRandomIDBox.TabIndex = 4
+ Me.newRandomIDBox.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
+ '
'IDGenerator
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.CancelButton = Me.CloseButtonNewID
- Me.ClientSize = New System.Drawing.Size(224, 203)
+ Me.ClientSize = New System.Drawing.Size(224, 226)
+ Me.Controls.Add(Me.newRandomIDBox)
Me.Controls.Add(Me.CloseButtonNewID)
Me.Controls.Add(Me.GenerateNewIDButton)
Me.Controls.Add(Me.Barcode1)
Me.Controls.Add(Me.PictureBox1)
Me.MaximizeBox = False
- Me.MaximumSize = New System.Drawing.Size(240, 242)
+ Me.MaximumSize = New System.Drawing.Size(240, 265)
Me.MinimizeBox = False
- Me.MinimumSize = New System.Drawing.Size(240, 242)
+ Me.MinimumSize = New System.Drawing.Size(240, 265)
Me.Name = "IDGenerator"
Me.ShowIcon = False
Me.Text = "Générer de nouveaux IDs"
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
+ Me.PerformLayout()
End Sub
@@ -136,4 +151,5 @@ Partial Class IDGenerator
Friend WithEvents GenerateNewIDButton As Button
Friend WithEvents CloseButtonNewID As Button
Friend WithEvents PictureBox1 As PictureBox
+ Friend WithEvents newRandomIDBox As MaskedTextBox
End Class
diff --git a/ISEN-Repair Inventory Manager/IDGenerator.vb b/ISEN-Repair Inventory Manager/IDGenerator.vb
index 03e19d7..f178195 100644
--- a/ISEN-Repair Inventory Manager/IDGenerator.vb
+++ b/ISEN-Repair Inventory Manager/IDGenerator.vb
@@ -1,25 +1,28 @@
-Imports System.Text
-
-Public Class IDGenerator
+Public Class IDGenerator
Private Sub IDGenerator_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Randomize()
GenerateNewIDBarcode()
End Sub
Private Sub GenerateNewIDBarcode()
- 'Génération d'un nouvel ID
- Dim s As String = "0123456789"
- Dim r As New Random
- Dim sb As New StringBuilder
generate:
- sb.Clear()
- For i As Integer = 1 To 10
- Dim idx As Integer = r.Next(0, 9)
- sb.Append(s.Substring(idx, 1))
- Next
-
+ 'Génération d'un nouvel ID
+ Dim newIDRandom As String = Main.GenerateRandomID()
'Vérification si pas déjà existant
- If Not Main.CheckIDAlreadyUsed(sb.ToString()) Then Barcode1.DataToEncode = sb.ToString() Else GoTo generate
+ If Not Main.CheckIDAlreadyUsed(newIDRandom) Then
+ newRandomIDBox.Text = newIDRandom
+ Barcode1.DataToEncode = newIDRandom
+ Else
+ GoTo generate
+ End If
+ End Sub
+
+ Private Sub newRandomIDBox_TextChanged(sender As Object, e As EventArgs) Handles newRandomIDBox.TextChanged
+ If newRandomIDBox.Text.Length() = 10 Then Barcode1.DataToEncode = newRandomIDBox.Text
+ End Sub
+
+ Private Sub newRandomIDBox_KeyDown(sender As Object, e As KeyEventArgs) Handles newRandomIDBox.KeyDown
+ newRandomIDBox.Text = newRandomIDBox.Text & Main.ScannerInterpreterFRLayout(e)
End Sub
Private Sub GenerateNewIDButton_Click(sender As Object, e As EventArgs) Handles GenerateNewIDButton.Click
diff --git a/ISEN-Repair Inventory Manager/Main.vb b/ISEN-Repair Inventory Manager/Main.vb
index 215561d..90e122b 100644
--- a/ISEN-Repair Inventory Manager/Main.vb
+++ b/ISEN-Repair Inventory Manager/Main.vb
@@ -1,4 +1,5 @@
Imports System.Data.SQLite
+Imports System.Text
Public Class Main
Dim manualID_selected As Boolean = False
@@ -9,6 +10,9 @@ Public Class Main
ListAllInv()
End Sub
+ '''
+ ''' Function to check if app is running for the first time
+ '''
Private Sub CheckIfFirstRun()
If Not My.Computer.FileSystem.FileExists("db.sqlite") Then
If MsgBox("La base de données SQLite est introuvable ou inaccesible, souhaitez-vous la régénérer ?", 4161, "Base SQLite absente ou inacessible") = 1 Then
@@ -19,6 +23,11 @@ Public Class Main
End If
End Sub
+ '''
+ ''' Check if an ID is already used in the SQLite DB
+ '''
+ ''' ID to check
+ ''' True = ID already used
Public Function CheckIDAlreadyUsed(idToCheck As String) As Boolean
Dim dtr As SQLiteDataReader
@@ -44,6 +53,58 @@ Public Class Main
Return True
End Function
+ '''
+ ''' ID Generator with 10 digits from 0 to 9 returned with String
+ '''
+ ''' String correspond to ID generate
+ Public Function GenerateRandomID() As String
+ Dim s As String = "0123456789"
+ Dim r As New Random
+ Dim sb As New StringBuilder
+
+ sb.Clear()
+ For i As Integer = 1 To 10
+ Dim idx As Integer = r.Next(0, 9)
+ sb.Append(s.Substring(idx, 1))
+ Next
+
+ Return sb.ToString()
+ End Function
+
+ '''
+ ''' Convert US key from barcode scanner to FR key
+ '''
+ ''' Event of keyDown
+ ''' Converted string key
+ Public Function ScannerInterpreterFRLayout(scanKey As KeyEventArgs) As String
+ Select Case scanKey.KeyCode.ToString()
+ Case "D0"
+ Return "0"
+ Case "D1"
+ Return "1"
+ Case "D2"
+ Return "2"
+ Case "D3"
+ Return "3"
+ Case "D4"
+ Return "4"
+ Case "D5"
+ Return "5"
+ Case "D6"
+ Return "6"
+ Case "D7"
+ Return "7"
+ Case "D8"
+ Return "8"
+ Case "D9"
+ Return "9"
+ End Select
+ Return Nothing
+ End Function
+
+ '''
+ ''' Construct the basic structure of SQLite DB
+ '''
Private Sub RegenerateDB()
Dim genesis_seq As String = "
CREATE TABLE `computers_desc` (
@@ -88,6 +149,9 @@ Public Class Main
End Try
End Sub
+ '''
+ ''' Liste all object from DB into list dialog
+ '''
Public Sub ListAllInv()
idList.Clear()
Dim dtr As SQLiteDataReader
@@ -319,28 +383,7 @@ Public Class Main
End Sub
Private Sub IDBox_KeyDown(sender As Object, e As KeyEventArgs) Handles IDBox.KeyDown
- Select Case e.KeyCode.ToString()
- Case "D0"
- IDBox.Text = IDBox.Text & "0"
- Case "D1"
- IDBox.Text = IDBox.Text & "1"
- Case "D2"
- IDBox.Text = IDBox.Text & "2"
- Case "D3"
- IDBox.Text = IDBox.Text & "3"
- Case "D4"
- IDBox.Text = IDBox.Text & "4"
- Case "D5"
- IDBox.Text = IDBox.Text & "5"
- Case "D6"
- IDBox.Text = IDBox.Text & "6"
- Case "D7"
- IDBox.Text = IDBox.Text & "7"
- Case "D8"
- IDBox.Text = IDBox.Text & "8"
- Case "D9"
- IDBox.Text = IDBox.Text & "9"
- End Select
+ IDBox.Text = IDBox.Text & ScannerInterpreterFRLayout(e)
End Sub
Private Sub GénérerDesIDsToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles GénérerDesIDsToolStripMenuItem.Click