Automatikprogramm

  • VB.NET

Es gibt 25 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Automatikprogramm

    Ich muss sagen ich bin ziemlich neu hier und habe mich hier viel belesen,Doch jetzt komme ich an meine Grenzen. Das Projekt was ich erstellen möchte ist ein Programm zu schreiben was mir automatisch aus einer Bestellnummer und Auftragsnummer einen Ordnernamen erstellt. So weit habe ich dies hinbekommen. Das Programm soll ausschließlich zur Verwaltung von Teileparteien bzw. Rohlaserdateien Verantwortlich sein.

    Ich habe irgendwo ein Paar Fehler drin....
    Zu meinem Problem:
    Ich habe 3 Ordner Einmal einen mit dem Namen: Neuen Ordner ...... Einen mit dem Namen: Temp Ordner ...... Und einen Ordner auf einem Server (Laser) die Daten die im (Neuen Ordner) sind werden in einem Externen Programm umgewandelt und in Temp geschrieben ; , jetzt wollte ich das das Programm Wenn die Daten Bearbeitet wurden und in Temp Geschrieben wurden , von Temp in den Ordner: Laser auf den Server verschiebt das Problem ist welchen Pfad Gebe ich an weil der Name setzt sich jedesmal neu Wie im Code Beschrieben durch Auftrags text und Bestell text zusammen Also immer anders. Bsp: Bestnr:1234 Auftragsnr: 456789 = Ordnername: 1234456789.

    Mit einer Checkbox will ich ereichen das der neue Ordner automatich mit gelöscht wird wenn ich den Button Bestellung schreiben Drücke. Ich Hoffe mir kann hier jemand Helfen

    Gruss Andre :)

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Imports System.IO
    2. Public Class Laserautomatik
    3. Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs)
    4. End Sub
    5. ' Bestellnummer und Auftragsnummer zusammenführen
    6. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    7. Dim tb_Tb_1Bestell As String = (Tb_1Bestell.Text)
    8. Dim tb_Tb_2Auftrag As String = (Tb_2Auftrag.Text)
    9. Tb_3Ordner.Text = Tb_1Bestell.Text & Tb_2Auftrag.Text
    10. End Sub
    11. Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs)
    12. End Sub
    13. Private Sub Tb_1Bestell_TextChanged(sender As Object, e As EventArgs)
    14. End Sub
    15. Private Sub Tb_3Ordner_TextChanged(sender As Object, e As EventArgs) Handles Tb_3Ordner.TextChanged
    16. Tb_3Ordner.Text = Tb_1Bestell.Text & Tb_2Auftrag.Text
    17. End Sub
    18. ' Prüfung, ob Ordner existiert und ggf. anlegen (Rohrlaser-Ordner)
    19. Private Sub Ordnerneu_Click(sender As Object, e As EventArgs) Handles Ordnerneu.Click
    20. MsgBox("Ordner Erstellt")
    21. If IO.Directory.Exists("C:\Users\Home\Desktop\Rohrlaser\" & Tb_1Bestell.Text & " " & Tb_2Auftrag.Text) Then
    22. MsgBox("Bestellung-Ordner schon vorhanden !!!")
    23. End If
    24. IO.Directory.CreateDirectory("C:\Users\Home\Desktop\Rohrlaser\" & Tb_1Bestell.Text & " " & Tb_2Auftrag.Text)
    25. End Sub
    26. Private Sub Label2_Click(sender As Object, e As EventArgs) Handles Label2.Click
    27. End Sub
    28. Private Sub Tb_1Bestell_MaskInputRejected(sender As Object, e As MaskInputRejectedEventArgs) Handles Tb_1Bestell.MaskInputRejected
    29. End Sub
    30. Private Sub MenuStrip1_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs)
    31. End Sub
    32. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
    33. End Sub
    34. Private Sub Button2_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Button2.KeyPress
    35. End Sub
    36. Private Sub RadioButton1_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton1.CheckedChanged
    37. End Sub
    38. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
    39. End Sub
    40. Private Sub TreeView1_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeView1.AfterSelect
    41. End Sub
    42. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) _
    43. Handles Laufwerk.Click
    44. Dim di As System.IO.DirectoryInfo = New System.IO.DirectoryInfo("C:\Users\Home\Desktop\Temp\")
    45. Dim node As TreeNode = TreeView1.Nodes.Add(di.Name)
    46. Dim subnode As TreeNode = Nothing
    47. For Each subdir As System.IO.DirectoryInfo In di.GetDirectories
    48. subnode = node.Nodes.Add(subdir.Name)
    49. FillNode(subnode, subdir)
    50. Next
    51. MessageBox.Show("Ich bin fertig!")
    52. End Sub
    53. Private Sub FillNode(ByVal node As TreeNode, ByVal DirectoryName As _
    54. System.IO.DirectoryInfo)
    55. Dim subnode As TreeNode = Nothing
    56. Try
    57. For Each subdir As System.IO.DirectoryInfo In
    58. DirectoryName.GetDirectories
    59. subnode = node.Nodes.Add(subdir.Name)
    60. FillNode(subnode, subdir)
    61. Next
    62. Application.DoEvents()
    63. Catch ex As Exception
    64. End Try
    65. End Sub
    66. Private Sub ListView1_SelectedIndexChanged(sender As Object, e As EventArgs)
    67. End Sub
    68. Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button5.Click
    69. MsgBox("Alle Dateien verschoben")
    70. Dim SourcePath As String = "C:\Users\Home\Desktop\Temp Laser" 'Ausgangsordner
    71. Dim DestPath As String = "C:\Users\Home\Desktop\Rohrlaser\" 'Zielordner
    72. If IO.Directory.Exists(SourcePath) Then
    73. For Each Dir As IO.DirectoryInfo In New IO.DirectoryInfo(SourcePath).GetDirectories("*", IO.SearchOption.AllDirectories)
    74. If Not IO.Directory.Exists(Dir.FullName.Replace(SourcePath, DestPath)) Then
    75. IO.Directory.CreateDirectory(Dir.FullName.Replace(SourcePath, DestPath))
    76. End If
    77. For Each File As IO.FileInfo In Dir.GetFiles
    78. File.MoveTo(IO.Path.Combine(DestPath & "\", File.Name))
    79. Next
    80. Next
    81. Else
    82. MsgBox("Pfad nicht gefunden")
    83. End If
    84. End Sub
    85. Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
    86. End Sub
    87. End Class

    Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „andrenaether“ ()

    @andrenaether Willkommen im Forum. :thumbup:
    Falls Du Deinen 1. Post auch unleserlich findest, editiere ihn bitte, selektiere den Quellcode und drück den entsprechenden Code-Button über dem edit-Feld.
    ---
    Mit welchen Textbox-Inhalten sollen welche Pfade generiert werden?
    Poste mal bitte 2 oder 3 signifikente Beispiele.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Guck dir mal die Environment-Klasse an diese Klasse stellt dir Umgebungsvariablen zur Verfügung. Den Pfad zu dem Verzeichniss in dem die Ordner erstellt werden sollen würde ich global als DirectoryInfo deklarieren. Dann kannst du mit der Klasse Path bzw. dessen Methode Combine relativ einfach einen neuen Pfad erstellen.
    Guck dir mal die Environment-Klasse an diese Klasse stellt dir Umgebungsvariablen zur Verfügung. Den Pfad zu dem Verzeichniss in dem die Ordner erstellt werden sollen würde ich global als DirectoryInfodeklarieren. Dann kannst du mit der Klasse Path bzw. dessen Methode Combine relativ einfach einen neuen Pfad erstellen....



    Sorry Leute ich stecke echt noch in den Kinderschuhen ..... Hätte mal jemand ein Beispiel ....

    VB.NET-Quellcode

    1. Private diTempLaser As System.IO.DirectoryInfo, diRohrLaser As System.IO.DirectoryInfo
    2. Private Sub Form1_Load(sender As Object, e As EventArgs)
    3. Dim strDesktop As String = Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
    4. diRohrLaser = New System.IO.DirectoryInfo(System.IO.Path.Combine(strDesktop, "Rohrlaser"))
    5. diTempLaser = New System.IO.DirectoryInfo(System.IO.Path.Combine(strDesktop, "Temp Laser"))
    6. End Sub

    andrenaether schrieb:

    Hätte mal jemand ein Beispiel

    RodFromGermany schrieb:

    Poste mal bitte 2 oder 3 signifikente Beispiele.
    Poste doch zunächst mal das, was Du haben willst, damit wir uns hier nicht in purer Annamologie und Glaskugelweitwurf ergehen müssen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    VB.NET-Quellcode

    1. IO.Path.Combine(DestPath & "\", File.Name) 'Das ergibt "DestPath\\File.Name"

    Guck dir mal an wie ich das gemacht habe.

    Spoiler anzeigen

    VB.NET-Quellcode

    1. IO.Path.Combine(diTempLaser.FullName, "BestellNr" & "AuftragsNr" & ".txt") 'Pfad zu einer Datei




    VB.NET-Quellcode

    1. IO.Directory.CreateDirectory(diTempLaser.FullName)

    Erstellt das Verzeichniss

    PS:

    VB.NET-Quellcode

    1. If Not IO.Directory.Exists(Dir.FullName.Replace(SourcePath, DestPath)) Then
    2. IO.Directory.CreateDirectory(Dir.FullName.Replace(SourcePath, DestPath))
    3. End If

    Hier mit Replace zu arbeiten ist Unfug. Erstell dir wie ich es in meinem obigen Beispiel gezeigt habe 2 DirectoryInfo -Objekte dann kannst du

    VB.NET-Quellcode

    1. If Not diTempLaser.Exists() Then
    2. diTempLaser.Create()
    3. End If


    Ich fände es gut, wen du erst mal deinen Startpost ordentlich formatierst, so ist das echt einen Zumutung !
    Was sollen die ganzen leeren Methoden und überflüssigen Leerzeilen, daß die eher stören, müßte einem doch eigentlich auffallen ? :S

    @ All
    Ich frage mich auch, warum so was einfach hingenommen wird, bevor es hier weiter geht, sollte das erst erledigt werden !
    Ich Denke mal so sieht es besser aus ;)

    Spoiler anzeigen

    VB.NET-Quellcode

    1. ​Imports System.IO
    2. Public Class Laserautomatik
    3. Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs)
    4. End Sub
    5. ' Bestellnummer und Auftragsnummer zusammenführen
    6. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    7. Dim tb_Tb_1Bestell As String = (Tb_1Bestell.Text)
    8. Dim tb_Tb_2Auftrag As String = (Tb_2Auftrag.Text)
    9. Tb_3Ordner.Text = Tb_1Bestell.Text & Tb_2Auftrag.Text
    10. End Sub
    11. Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs)
    12. End Sub
    13. Private Sub Tb_1Bestell_TextChanged(sender As Object, e As EventArgs)
    14. End Sub
    15. Private Sub Tb_3Ordner_TextChanged(sender As Object, e As EventArgs) Handles Tb_3Ordner.TextChanged
    16. Tb_3Ordner.Text = Tb_1Bestell.Text & Tb_2Auftrag.Text
    17. End Sub
    18. ' Prüfung, ob Ordner existiert und ggf. anlegen (Rohrlaser-Ordner)
    19. Private Sub Ordnerneu_Click(sender As Object, e As EventArgs) Handles Ordnerneu.Click
    20. MsgBox("Ordner Erstellt")
    21. If IO.Directory.Exists("C:\Users\Home\Desktop\Rohrlaser\" & Tb_1Bestell.Text & " " & Tb_2Auftrag.Text) Then
    22. MsgBox("Bestellung-Ordner schon vorhanden !!!")
    23. End If
    24. IO.Directory.CreateDirectory("C:\Users\Home\Desktop\Rohrlaser\" & Tb_1Bestell.Text & " " & Tb_2Auftrag.Text)
    25. End Sub
    26. Private Sub Label2_Click(sender As Object, e As EventArgs) Handles Label2.Click
    27. End Sub
    28. Private Sub Tb_1Bestell_MaskInputRejected(sender As Object, e As MaskInputRejectedEventArgs) Handles Tb_1Bestell.MaskInputRejected
    29. End Sub
    30. Private Sub MenuStrip1_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs)
    31. End Sub
    32. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
    33. End Sub
    34. Private Sub Button2_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Button2.KeyPress
    35. End Sub
    36. Private Sub RadioButton1_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton1.CheckedChanged
    37. End Sub
    38. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
    39. End Sub
    40. Private Sub TreeView1_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeView1.AfterSelect
    41. End Sub
    42. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) _
    43. Handles Laufwerk.Click
    44. Dim di As System.IO.DirectoryInfo = New System.IO.DirectoryInfo("C:\Users\Home\Desktop\Temp\")
    45. Dim node As TreeNode = TreeView1.Nodes.Add(di.Name)
    46. Dim subnode As TreeNode = Nothing
    47. For Each subdir As System.IO.DirectoryInfo In di.GetDirectories
    48. subnode = node.Nodes.Add(subdir.Name)
    49. FillNode(subnode, subdir)
    50. Next
    51. MessageBox.Show("Ich bin fertig!")
    52. End Sub
    53. Private Sub FillNode(ByVal node As TreeNode, ByVal DirectoryName As _
    54. System.IO.DirectoryInfo)
    55. Dim subnode As TreeNode = Nothing
    56. Try
    57. For Each subdir As System.IO.DirectoryInfo In
    58. DirectoryName.GetDirectories
    59. subnode = node.Nodes.Add(subdir.Name)
    60. FillNode(subnode, subdir)
    61. Next
    62. Application.DoEvents()
    63. Catch ex As Exception
    64. End Try
    65. End Sub
    66. Private Sub ListView1_SelectedIndexChanged(sender As Object, e As EventArgs)
    67. End Sub
    68. Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button5.Click
    69. MsgBox("Alle Dateien verschoben")
    70. Dim SourcePath As String = "C:\Users\Home\Desktop\Temp Laser" 'Ausgangsordner
    71. Dim DestPath As String = "C:\Users\Home\Desktop\Rohrlaser\" 'Zielordner
    72. If IO.Directory.Exists(SourcePath) Then
    73. For Each Dir As IO.DirectoryInfo In New IO.DirectoryInfo(SourcePath).GetDirectories("*", IO.SearchOption.AllDirectories)
    74. If Not IO.Directory.Exists(Dir.FullName.Replace(SourcePath, DestPath)) Then
    75. IO.Directory.CreateDirectory(Dir.FullName.Replace(SourcePath, DestPath))
    76. End If
    77. For Each File As IO.FileInfo In Dir.GetFiles
    78. File.MoveTo(IO.Path.Combine(DestPath & "\", File.Name))
    79. Next
    80. Next
    81. Else
    82. MsgBox("Pfad nicht gefunden")
    83. End If
    84. End Sub
    85. Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
    86. End Sub
    87. End Class

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „andrenaether“ ()

    @andrenaether Leere Prozeduren sehen niemals besser aus, sie erschweren die Lesbarkeit.
    Die Beispiele hast Du immer noch nicht gepostet. X(
    So was:
    "Aaa" und "Bbb" ==> "BbblAaa"
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Meine Güte, manchmal glaube ich doch, daß die Illuminati was ins Trinkwasser tun. :D

    Längeren Code bitte auch in einen Spoiler packen:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Imports System.IO
    2. Public Class Laserautomatik
    3. ' Bestellnummer und Auftragsnummer zusammenführen
    4. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    5. Dim tb_Tb_1Bestell As String = (Tb_1Bestell.Text)
    6. Dim tb_Tb_2Auftrag As String = (Tb_2Auftrag.Text)
    7. Tb_3Ordner.Text = Tb_1Bestell.Text & Tb_2Auftrag.Text
    8. End Sub
    9. Private Sub Tb_3Ordner_TextChanged(sender As Object, e As EventArgs) Handles Tb_3Ordner.TextChanged
    10. Tb_3Ordner.Text = Tb_1Bestell.Text & Tb_2Auftrag.Text
    11. End Sub
    12. ' Prüfung, ob Ordner existiert und ggf. anlegen (Rohrlaser-Ordner)
    13. Private Sub Ordnerneu_Click(sender As Object, e As EventArgs) Handles Ordnerneu.Click
    14. MsgBox("Ordner Erstellt")
    15. If IO.Directory.Exists("C:\Users\Home\Desktop\Rohrlaser\" & Tb_1Bestell.Text & " " & Tb_2Auftrag.Text) Then
    16. MsgBox("Bestellung-Ordner schon vorhanden !!!")
    17. End If
    18. IO.Directory.CreateDirectory("C:\Users\Home\Desktop\Rohrlaser\" & Tb_1Bestell.Text & " " & Tb_2Auftrag.Text)
    19. End Sub
    20. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) _
    21. Handles Laufwerk.Click
    22. Dim di As System.IO.DirectoryInfo = New System.IO.DirectoryInfo("C:\Users\Home\Desktop\Temp\")
    23. Dim node As TreeNode = TreeView1.Nodes.Add(di.Name)
    24. Dim subnode As TreeNode = Nothing
    25. For Each subdir As System.IO.DirectoryInfo In di.GetDirectories
    26. subnode = node.Nodes.Add(subdir.Name)
    27. FillNode(subnode, subdir)
    28. Next
    29. MessageBox.Show("Ich bin fertig!")
    30. End Sub
    31. Private Sub FillNode(ByVal node As TreeNode, ByVal DirectoryName As _
    32. System.IO.DirectoryInfo)
    33. Dim subnode As TreeNode = Nothing
    34. Try
    35. For Each subdir As System.IO.DirectoryInfo In
    36. DirectoryName.GetDirectories
    37. subnode = node.Nodes.Add(subdir.Name)
    38. FillNode(subnode, subdir)
    39. Next
    40. Application.DoEvents()
    41. Catch ex As Exception
    42. End Try
    43. End Sub
    44. Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button5.Click
    45. MsgBox("Alle Dateien verschoben")
    46. Dim SourcePath As String = "C:\Users\Home\Desktop\Temp Laser" 'Ausgangsordner
    47. Dim DestPath As String = "C:\Users\Home\Desktop\Rohrlaser\" 'Zielordner
    48. If IO.Directory.Exists(SourcePath) Then
    49. For Each Dir As IO.DirectoryInfo In New IO.DirectoryInfo(SourcePath).GetDirectories("*", IO.SearchOption.AllDirectories)
    50. If Not IO.Directory.Exists(Dir.FullName.Replace(SourcePath, DestPath)) Then
    51. IO.Directory.CreateDirectory(Dir.FullName.Replace(SourcePath, DestPath))
    52. End If
    53. For Each File As IO.FileInfo In Dir.GetFiles
    54. File.MoveTo(IO.Path.Combine(DestPath & "\", File.Name))
    55. Next
    56. Next
    57. Else
    58. MsgBox("Pfad nicht gefunden")
    59. End If
    60. End Sub
    61. End Class

    andrenaether schrieb:

    und euch komische Fragen stellen
    Antworte auf unsere Fragen und Dir wird geholfen. 8o
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!