Hallo,
wie kann ich denn einen Ordner nach Dateien durchsuchen, die in ihrem Namen bestimmte Strings haben?
Genauer: Der Ordner besteht aus Dateien, deren Name nach folgendem Schema aufgebaut ist:
Name_Datum_Uhrzeit.log und zwar nach dem Muster:
Name_jj.mm.dd_hh.mm.log
Jetzt habe ich in einer Tabelle in Spalte eins Daten aufgelistet, allerdings nach dem Muster dd.mm.jj und in Spalte zwei Uhrzeiten.
Ich lese jetzt bei einem Klick auf die Tabellenzeile die Werte aus, die darin stehen und möchte nun in einem Ordner nach einer Datei suchen, in der beide Ausdrücke aus der Tabelle im Name enthalten sind.
Ich bin auch soweit, dass ich über Ordner anzeigen eine Liste bzw. ein Array mit Dateinamen bekomme, aber irgendwie nur manchmal und nie die richtigen...
Kann mir da jemand helfen? Wäre super!
Datei suchen
Правила форума
In unserem Forum ist es möglich Foren zu verbergen. Für jede Sprache gibt es eine Gruppe:
hide XXX forums
Wenn du also ein Forum in einer Sprache nicht sehen möchtest, dann musst du einfach in die richtige Gruppe(n) eintreten. Das kannst du in den Profileinstellungen machen.
In unserem Forum ist es möglich Foren zu verbergen. Für jede Sprache gibt es eine Gruppe:
hide XXX forums
Wenn du also ein Forum in einer Sprache nicht sehen möchtest, dann musst du einfach in die richtige Gruppe(n) eintreten. Das kannst du in den Profileinstellungen machen.
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: datei suchen
Du kannst also schon Dateinamen eines Ordners auflisten. Somit hast du ein 1D Array mit allen Dateinamen. Jetzt mach eine For-Schleife und schliesse dieses Array an die For-Schleife an. Autoindexing muss eingeschaltet bleiben. Somit kannst du auf einzelne Dateinamen zugreifen. Dann kannst du den jeweiligen Dateinamen so umformen, dass es dem Format deines Suchstrings entspricht. Falls die Umformung gelingt (also eine Case-Struktur) kannst du diesen umgeformten String mit deinem Suchstring vergleichen. Und falls der Vergleich erfolgreich ist, kannst diesen Dateinamen dann ausgeben.
-
- junior
- Сообщения: 61
- Зарегистрирован: 14 янв 2009, 11:52
- Версия LabVIEW: 8.5
- Контактная информация:
Re: datei suchen
ah, natürlich, so rum habe ich noch gar nicht gedacht, also dass ich die dateinamen umforme, und dann erst vergleiche...ist ne gute idee, danke
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: datei suchen
Du kannst auch umgekehrt den Suchstring umformen, dass es dem Format des Dateinamen entspricht. Dann muss du nur Search 1D Array anwenden. Klar, so ist es sogar viel besser und schneller.
-
- junior
- Сообщения: 61
- Зарегистрирован: 14 янв 2009, 11:52
- Версия LabVIEW: 8.5
- Контактная информация:
Re: datei suchen
Hallo nochmal,
ich bin jetzt mittlerweile soweit gekommen, dass die richtige Datei aus dem Ordner gefunden wird.
Nun wollte ich probehalber diese Datei mal auslesen (mit "aus Tabellenkalkulationsdatei auslesen"), wundere mich aber gerade dass ich bei "array indizieren" ein 1-D-Array vom Typ Dateipfad erhalte und nicht einen einzelnen Pfad.
Habe mal ein Screenshot von meinem Programm gemacht, vielleicht sieht hier irgendjemand meinen Fehler...würde mich freuen...
ich bin jetzt mittlerweile soweit gekommen, dass die richtige Datei aus dem Ordner gefunden wird.
Nun wollte ich probehalber diese Datei mal auslesen (mit "aus Tabellenkalkulationsdatei auslesen"), wundere mich aber gerade dass ich bei "array indizieren" ein 1-D-Array vom Typ Dateipfad erhalte und nicht einen einzelnen Pfad.
Habe mal ein Screenshot von meinem Programm gemacht, vielleicht sieht hier irgendjemand meinen Fehler...würde mich freuen...
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: datei suchen
Ich denke du kannst die For-Schleife komplett entfernen, dann wirst du nur einen Pfad rausbekommen. Und ja, das VI Search 1D Array liefert dir einen Index zurück. Wenn der Suchstring nicht gefunden wurde, dann liefert dieses VI "-1" zurück. Das musst du dann in einer Case-Struktur abfangen.