| |
Visual-Basic EinsteigerLaserdatenverwaltung + Lieferschein. | | | Autor: Andre-N | Datum: 07.06.16 20:06 |
| Hallo liebe Programmierer Gemeinde
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.
Um euch zu erläutern was sich eigentlich abspielt: wir bekommen von unseren Zeichnern Teiledatei die in ein externes Programm eingelesen werden das externe Programm schreibt die umgewandelten Dateien in einen temporären Ordner. Jetzt muss ich von Hand einen Ordner erstellen mit dem Ordnernamen der sich aus Bestellnummer und Auftragsnummer (12334-123456-0-00) zusammensetzt und alle Dateien die das externe Programm geschrieben hat dort hinein verschieben. Am Ende wird von Hand ein Lieferschein erstellt mit den jeweiligen Positionen (Dateinamen).
Jetzt ist meine Frage kann man dies wirklich so einfach umsetzen wie ich mir das denke.
Public Class Form1
Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs)
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
' Bestellnummer und Auftragsnummer zusammenführen
Dim tb_Tb_1Bestell As String = (Tb_1Bestell.Text)
Dim tb_Tb_2Auftrag As String = (Tb_2Auftrag.Text)
Tb_3Ordner.Text = Tb_1Bestell.Text & Tb_2Auftrag.Text
End Sub
Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs)
End Sub
Private Sub Tb_1Bestell_TextChanged(sender As Object, e As EventArgs)
End Sub
Private Sub Tb_3Ordner_TextChanged(sender As Object, e As EventArgs) Handles Tb_3Ordner.TextChanged
Tb_3Ordner.Text = Tb_1Bestell.Text & Tb_2Auftrag.Text
End Sub
Private Sub Ordnerneu_Click(sender As Object, e As EventArgs) Handles Ordnerneu.Click
MsgBox("Ordner Erstellt")
' Prüfung, ob Ordner existiert und ggf. anlegen (Rohrlaser-Ordner)
If IO.Directory.Exists("C:\Users\Home\Desktop\test1\" & Tb_1Bestell.Text & " " & Tb_2Auftrag.Text) Then
MsgBox("Bestellung-Ordner
schon vorhanden !!!")
End If
IO.Directory.CreateDirectory("C:\Users\Home\Desktop\test1\" & Tb_1Bestell.Text & " " & Tb_2Auftrag.Text)
End Sub
Private Sub Label2_Click(sender As Object, e As EventArgs) Handles Label2.Click
End Sub
Private Sub Tb_1Bestell_MaskInputRejected(sender As Object, e As MaskInputRejectedEventArgs) Handles Tb_1Bestell.MaskInputRejected
End Sub
Private Sub MenuStrip1_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs)
End Sub
Private Sub ProgressBar1_Click(sender As Object, e As EventArgs)
End Sub
Private Sub ListBox1_SelectedIndexChanged_1(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
End Sub
Private Sub ListView1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListView1.SelectedIndexChanged
' Alle Dateien im Stammverzeichnis C: anzeigen
Dim Files As String() = IO.Directory.GetFiles("C:\Users\Home\Desktop\test1")
Dim File As String
For Each File In Files
ListView1.Items.Add(File)
Next
End Sub
Private Sub Label5_Click(sender As Object, e As EventArgs) Handles Label5.Click
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
End Sub
End Class
Vielleicht kann mir jemand von euch weiterhelfen | |
Re: Laserdatenverwaltung + Lieferschein. | | | Autor: Blackbox | Datum: 07.06.16 20:10 |
| Hallo
obwohl das eigentlich easy ist. Aber bitte poste im richtigen Forum. Du programmierst in .NET, nicht in Classic VB.
Tip: Wandle die Daten einfach in eine GUID um. GUIDS kann auch das Betriebssystem. | |
Re: Laserdatenverwaltung + Lieferschein. | | | Autor: Andre-N | Datum: 07.06.16 20:15 |
| Sorry wegen dem falschen Forum.....
das hört sich alles so einfach an ..... das ist es bestimmt für euch auch für mich sind es aber noch böhmische DörferBlackbox schrieb:
Hallo | |
Re: Laserdatenverwaltung + Lieferschein. | | | Autor: Franki | Datum: 08.06.16 00:53 |
| Hallo,
ob jetzt VB Classic oder VB.NET ist ja mal egal, die gedankliche Vorgehensweise wie man diese Aufgabe löst ist identisch, nur die Syntax etwas anders.
Aber anders gefragt, wenn das für dich böhmische Dörfer sind, warum wirst du dann von deinem Chef mit der Lösung dieser Aufgabe beauftragt? Der muss doch wissen, dass du dafür eigentlich nicht qualifiziert bist.
Und selbst wenn du diese Aufgabe mit Hilfe des Forums lösen kannst indem du Code bekommst wirst du bei der nächsten Aufgabe wieder scheitern und hier fragen müssen.
Sinn der Sache ist ja Hilfe zur Selbsthilfe zu geben und nicht mal eben ein Problem zu lösen wovon du am wenigsten hast wenn es gelöst wird weil du nicht wirklich etwas daraus lernen kannst.
Gruß
Frank | |
Hinweise zur Datei-Sicherung | | | Autor: Manfred X | Datum: 08.06.16 06:06 |
| Hallo!
Einige allgemeine Hinweise:
1. Meinst Du mit "per Hand", daß der Benutzer die zugehörigen Auftrags- und
Bestellnummern jeweils im Dialog eingeben muß? Extrem fehleranfällig!
Sorge dafür, daß auch diese Informationen beim Erstellen der temporären Dateien
in ein File eingetragen werden.
2. Zunächst mußt Du einen geeigneten Stamm-Ordner festlegen.
Der Desktop ist dafür kaum geeignet. Schau Dir dafür "Environment.Specialfolder" an.
Die aus Bestell- und Auftragsnummer bestehenden Verzeichnisse sind zu erstellen als
Unterordner dieses Stammordners. Die IO.Path-Klasse ist beim Zusammenfügen der
Namens-Bestandteile hilfreich.
3. Du könntest ein Trennzeichen (Kombination von Auftrag/Bestellung) definieren,
das in den Auftrags- und Bestellnummern nicht vorkommen kann.
Dadurch wäre die zuverlässige Rückgewinnung der Nummern-Zeichenfolgen aus dem
Ordnernamen zu gewährleisten (vgl. String.Split-Methode).
4. Was soll geschehen, falls ein Unterordner bereits vorhanden ist?
- nichts (= temporäre Dateien werden verworfen)
- neuen Unterordner erstellen (z.B. mit angehängter Kennziffer im Namen)
- Dateien im bereits vorhandenen Ordner überschreiben oder
die Namen der zusätzlich in den Ordner zu kopierenden Dateien ändern
- oder ?????
5. Soll das temporäre Verzeichnis vom Programm (Dienst) überwacht werden
und ggf. ein automatisierte Datensicherung erfolgen (siehe: FilesystemWatcher)?
6. In welcher Form soll der Lieferschein (vom Programm) erstellt werden?
- Ausdruck (z.B. Warenbegleitschein)
- Speichern der relevanten Daten in einer Datenbank
(z.B. Master-/Detail = Auftragsnummer -> Dateiliste)
- Versenden der Liste als E-Mail in einem geeigneten Format | |
Re: Hinweise zur Datei-Sicherung | | | Autor: Andre-N | Datum: 08.06.16 08:40 |
| Manfred X schrieb:
Zitat: | | Hallo!
Einige allgemeine Hinweise:
1. Meinst Du mit "per Hand", daß der Benutzer die
zugehörigen Auftrags- und
Bestellnummern jeweils im Dialog eingeben muß? Extrem
fehleranfällig!
Sorge dafür, daß auch diese Informationen beim Erstellen der
temporären Dateien
in ein File eingetragen werden.
2. Zunächst mußt Du einen geeigneten Stamm-Ordner festlegen.
Der Desktop ist dafür kaum geeignet. Schau Dir dafür
"Environment.Specialfolder" an.
Die aus Bestell- und Auftragsnummer bestehenden Verzeichnisse
sind zu erstellen als
Unterordner dieses Stammordners. Die IO.Path-Klasse ist beim
Zusammenfügen der
Namens-Bestandteile hilfreich.
3. Du könntest ein Trennzeichen (Kombination von
Auftrag/Bestellung) definieren,
das in den Auftrags- und Bestellnummern nicht vorkommen kann.
Dadurch wäre die zuverlässige Rückgewinnung der
Nummern-Zeichenfolgen aus dem
Ordnernamen zu gewährleisten (vgl. String.Split-Methode).
4. Was soll geschehen, falls ein Unterordner bereits
vorhanden ist?
- nichts (= temporäre Dateien werden verworfen)
- neuen Unterordner erstellen (z.B. mit angehängter
Kennziffer im Namen)
- Dateien im bereits vorhandenen Ordner überschreiben oder
die Namen der zusätzlich in den Ordner zu kopierenden Dateien
ändern
- oder ?????
5. Soll das temporäre Verzeichnis vom Programm (Dienst)
überwacht werden
und ggf. ein automatisierte Datensicherung erfolgen (siehe:
FilesystemWatcher)?
6. In welcher Form soll der Lieferschein (vom Programm)
erstellt werden?
- Ausdruck (z.B. Warenbegleitschein)
- Speichern der relevanten Daten in einer Datenbank
(z.B. Master-/Detail = Auftragsnummer -> Dateiliste)
- Versenden der Liste als E-Mail in einem geeigneten
Format | |
- Der Hauptordner ist Definiert ist ein Laufwerk auf dem Server
- Wenn eine Datei schon vorhanden ist sollte ein Unterordner mit namen Angehängt werden
- Der Lieferschein Kann mittels word erstellt werden und als pdf ausgegeben werden
Meine Wichtigste Frage ist jedoch immer noch wie kann ich mehrere Dateien Gleichzeitig verschieben | |
Re: Hinweise zur Datei-Sicherung | | | Autor: Manfred X | Datum: 08.06.16 13:51 |
| Vorgehensweise:
1. Prüfen, ob temporäre Dateien zu sichern sind.
2. Name des Zielordners zusammenbauen.
3. Prüfen, ob der Zielordner bereits existiert.
Falls ja, ansteigende Kenn-Nummer ermitteln und anhängen.
4. Liste der zu kopierenden Dateien im temporären Ordner erstellen.
5. Dateien in einer Schleife in den Zielordner kopieren.
6. Falls das Kopieren erfolgreich verlaufen ist:
die gesicherten Dateien im temporären Ordner löschen.
7. Word-Zugriffsobjekte erstellen (Automatisierung o.ä.)
8. Eine Word-Vorlagen-Datei laden und die vorgesehenen Datenfelder
aus der Liste der Dateinamen füllen. | |
Re: Hinweise zur Datei-Sicherung | | | Autor: Andre-N | Datum: 06.09.16 10:04 |
| ....Wie kann ich mehrere Dateien die im c:Temp Ordner liegen auf d:verschieben und im "neuen ordner" Die Dateien automatisch löschen ich dachte so an eine checkbox zum aktivieren des löschvorgangs von neuer Ordner durch Bestätigung eines buttons.
Die Verschiebung der Dateien soll in den oben im Code erzeugten Ordner geschrieben werden sprich der Ordnername auf d:ändert sich immer .. | |
Re: Hinweise zur Datei-Sicherung | | | Autor: Franki | Datum: 07.09.16 04:03 |
| Hallo Andre-N
Zitat: | | ....Wie kann ich mehrere Dateien die im c:Temp Ordner liegen
auf d:verschieben | |
Dafür hast du Syntax ja schon bekommen, aber:
Zitat: | |
und im neuen ordner Die Dateien automatisch löschen
| |
Also erst verschieben, dann wieder löschen? Das ist ja ein völlig unsinniges Vorhaben. Verschieben bedeutet ja, dass die Dateien im Ursprungsordner automatisch gelöscht werden. Und aus dem neuen Ordner löschen würde bedeuten,dass du sie verschoben hast, sie dort sind und dann dort gelöscht werden.
Zitat: | |
ich dachte so an eine checkbox
zum aktivieren des löschvorgangs von neuer Ordner durch
Bestätigung eines buttons.
Die Verschiebung der Dateien soll in den oben im Code
erzeugten Ordner geschrieben werden sprich der Ordnername auf
d:ändert sich immer ..
| |
Wie gesagt, Verschieben von A nach B bedeutet, dass die Dateien in A nicht mehr vorhanden sind. Kopieren von A nach B hingegen bedeutet, dass die Dateien zunächst doppelt in A und B vorhanden sind. Dann könntest du diese in A löschen, aber das würde nur unnötig Performance gegenüber Verschieben bedeuten.
Also was genau möchtest du machen und warum?
Und berücksichtige bitte, dass auch Verschieben Schreibrechte im Ursprungsordner erfordert. Denn dadurch wird ein Schreibzugriff gemacht der die Dateien löscht.
Gruß
Frank | |
Re: Hinweise zur Datei-Sicherung | | | Autor: Andre-N | Datum: 07.09.16 12:13 |
| Hallo Frank es ist mir schon klar was kopieren und verschieben ist nur das Problem ist dass ich insgesamt drei Ordner habe der eine ist neuer Ordner der zweite ist Temp Ordner und der dritte ist einen Ordner auf dem Server die Dateien kommen als allererstes in den neuen Ordner auf den ein Programm zugreift und alle Daten Darrin bearbeitet danach befinden sich alle Daten in einem anderen Format im Temp Ordner mein kleines Programm soll nur die Daten aus dem Temp Ordner auf den Ordner im Server verschieben die anderen Dateien im neuen Ordner die ja bearbeitet worden sind ja trotzdem noch da | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
Neu! sevCommand 4.0
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|