Throx_X - Do 11.08.11 15:23
Titel: Barcodes automatisch auslesen und in eine Textdatei speicher
Hallo,
ich habe eine fertige DLL(die funktioniert) wo Barcodes ausgelesen werden. Das ist jedoch ein kleines Prog, wo ich manuell nur eine Dateie (jpg,tif,png) auswählen kann und entsprechend wird die Datei durch ein weiteres "klicken" richtig ausgelsen(der Barcode). Ich möchte jedoch, dass dies automatisch passiert und mit mehreren Dateien. Also in einem Ordner X soll das Programm suchen ob tif,jpg,png Dateien enthalten sind, und wenn ja dann sollen diese Barcodes in den Dateien automatisch ausgelesen werden und die Barcodes sollen einfach in einem Ordner Y gespeichert werden. Das kann ruhig eine Konsolenanwendung sein. Am besten wäre es, wenn der Anwender den Ordner X bei der Ausführung der .exe Datei mit übergibt. Im Ordner X sind also immer Bilddateien wo mindestens ein Barcode vorhanden ist.
Ordner X = c:\temp
Ordner Y = c:\temp2
Habe hier ein bissle Code, jedoch beim StartupPath erscheint der Fehler:
Fehler 1 Der Typ- oder Namespacename "StartupPath" ist im Namespace "BarcodeTestApp" nicht vorhanden. (Fehlt ein Assemblyverweis?)
C#-Quelltext
1: 2: 3: 4: 5:
| string ordnerX = BarcodeTestApp.StartupPath; string ordnerY = Path.Combine(ordnerX, "Barcodes"); Directory.CreateDirectory(ordnerY); var dateien = Directory.GetFiles(ordnerX, "*.*", SearchOption.TopDirectoryOnly).Where(d=>d.EndsWith(".tif") || d.EndsWith(".jpg") || d.EndsWith(".png")); foreach (var dateiPfad in dateien) |
Ich danke im Vorraus für die Hilfe
Moderiert von
Th69: C#-Tags hinzugefügt
Th69 - Do 11.08.11 16:43
Hallo,
möchtest du einfach den Pfad, aus dem deine Anwendung startet, dann einfach
C#-Quelltext
1:
| Application.StartupPath |
benutzen.
Ansonsten bin ich eher ein bißchen verwirrt durch deine Beschreibung...
Throx_X - Do 11.08.11 17:42
Hallo,
ich verstehe Deine Frage nicht. Also ich habe ne Exe incl. DLL die eine Datei umwandeln kann. Wie binde ich jetzt die zwei Dateien in den Code und automatisiere dann noch alles.
Habe den Code noch:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| static void Main(string[] args) { string quellPfad = @"C:\TEMP"; string zielPfad = @"C:\TEMP2"; var erweiterungen = new string[] { ".jpg", ".png", ".tif" };
var quellDateien = from datei in Directory.EnumerateFiles(quellPfad, "*.*", SearchOption.TopDirectoryOnly) from erweiterung in erweiterungen where datei.EndsWith(erweiterung) select datei;
foreach (var quellDatei in quellDateien) { string zielDatei = Path.Combine(zielPfad, Path.GetFileName(quellDatei)); Console.WriteLine("Quelle: {0}, Ziel: {1}", quellDatei, zielDatei);
File.Move(quellDatei, zielDatei);
} } |
Der Code kopiert jedoch nur den Inhalt von Temp nach Temp2 1:1 .
Danke für Deine Hilfe
Grüße
Marius
Moderiert von
Th69: C#-Tags hinzugefügt