LabVIEWForum.de
Dateinamensgenerierung mit bestimmter Syntax - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Dateinamensgenerierung mit bestimmter Syntax (/Thread-Dateinamensgenerierung-mit-bestimmter-Syntax)

Seiten: 1 2


Dateinamensgenerierung mit bestimmter Syntax - Index - 15.09.2010 14:33

Hallo,

ich habe gerade eine Frage zu einem SubVI das ich gerade programmiere.
Ich möchte das dieses SubVI eine Excel-Datei mit vordefiniertem Namen erstellt.
Hierbei kommt es mir auf die nötigen Stellen im Namen an. Die erste Zahl im Namen
muss z.B. sechs Stellen haben. Denn Index mit den drei letzten Zahlen habe ich schon
hinbekommen.


So sollen die Daten aussehen wenn sie gespeichert wurden:
...
000012_000.xls
000012_001.xls
000012_002.xls
000013_001.xls
000013_002.xls
...

Wie kann ich meine Eingabe der ID-Nummer am einfachsten realisieren, sodass jedes
mal eine sechs stellige Zahl mit evtl. führenden Nullen ausgegeben wird?

[attachment=29423]


Dateinamensgenerierung mit bestimmter Syntax - Matze - 15.09.2010 15:07

Hallo,

so geht's:

[attachment=29425]

[attachment=29426]Lv85_img


Dateinamensgenerierung mit bestimmter Syntax - GerdW - 15.09.2010 15:30

Hallo Mecha,

die %.0-Angabe ist bei %d eher überflüssig...Smile


Dateinamensgenerierung mit bestimmter Syntax - Index - 15.09.2010 15:46

@Mechatronik-Ingenieur
Danke. So hätte ich den Namen tatsächlich sehr viel einfacher hinbekommen können.
In dem Fall müsste ich nur noch verhindern das der Benutzer keine zu große Zahl eingibt (max. 6 Stellig, beim Index max. 3 Stellig).

Ich versuche es mal in meinem Programm umzusetzen, sodass auch der Index hochzählt wenn eine Datei bereits existiert.


Dateinamensgenerierung mit bestimmter Syntax - Matze - 15.09.2010 15:57

So etwas habe ich damals auch gebaut.
Dies ist allerdings ungetestet, jedoch ein möglicher Weg, so etwas umzusetzen.

Edit @Gerd: Da hast du natürlich Recht. Ich habe hier mal eine kleine Übersicht erstellt, auch für mich als Gedankenstütze, falls ich mal was vergesse. *g*


Dateinamensgenerierung mit bestimmter Syntax - Index - 21.09.2010 18:21

@ Mechatronik-Ingeneur
Danke für die bisherige Hilfe. Nun habe ich aber doch noch eine Frage zu deiner Art so ein Problem zu lösen.
Ich habe jetzt auch noch einen String an die Funktion "In String formatieren angehängt". Mit dem Befehlt %06s
entstehen aber in dem Dateinamen nur sechs Leerzeichen, nicht aber wie gewünscht Nullen.
Ist eine Auffüllen der Stellen bei Strings nicht möglich?


Dateinamensgenerierung mit bestimmter Syntax - Matze - 21.09.2010 20:01

Bei Strings wüsste ich nicht wie das geht. Kannst du nicht %d statt %s nehmen?

Sonst mache einen Screenshot von deinem VI ("In String formatieren" + Anschlüsse), dann schaue ich's mir an.


Dateinamensgenerierung mit bestimmter Syntax - Index - 21.09.2010 21:06

[attachment=29530]

Das meine ich. Anstelle von Nullen gibt mir das Programm nur Leerzeichen aus.
Ich verwende an der Stelle einen String weil die Bezeichnung des Bauteils auch Buchstaben enthält.

Hatte die Idee Stellen mit zB. einem Unterstrich aufzufüllen falls der String nur 5 Stellen haben sollte.
Ist jetzt natürlich auch etwas pingelig. Lol

Falls das mit dem Formatstring nicht geht, würde ich die Funktion nach Leerzeichen durchsuchen und
diese dann zB. durch einen Unterstrich ersetzten.


Dateinamensgenerierung mit bestimmter Syntax - Matze - 21.09.2010 21:18

Also wie man einen String mit Nullen auffüllt, kann ich dir leider nicht sagen. Wenn der String eine Zahl wäre, könntest du diese davor im einen Integer umwandeln, aber wie du mit dem genannten VI "abc" zu "000abc" machst, weiß ich nicht.
Vielleicht ist das damit auch nicht möglich.


Dateinamensgenerierung mit bestimmter Syntax - Index - 21.09.2010 21:27

Ich habe nun mal den Ausgabestring nach Leerzeichen durchsucht und durch Unterstriche ersetzt.
Dabei ist mir aufgefallen das die Unterstriche zuerst kommen, dann erst der String.

Beispiel:
Eingebe: IC20
Ausgabe: __IC20

Beispiel mit Nullen:
Eingabe: IC20
Ausgabe: 00IC20

Das macht die Ordnung ja noch mehr kaputt. Mellow
Wie könnte ich tun um zuerst den String auzszugeben und dann die aufzufüllenden Stellen? Idee?

Beispiel:
Ausgabe: IC20__