LabVIEWForum.de - Dateinamensgenerierung mit bestimmter Syntax

LabVIEWForum.de

Normale Version: Dateinamensgenerierung mit bestimmter Syntax
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2

Index

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]
Hallo,

so geht's:

[attachment=29425]

[attachment=29426]Lv85_img
Hallo Mecha,

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

Index

@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.
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*

Index

@ 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?
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.

Index

[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.
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.

Index

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__
Seiten: 1 2
Referenz-URLs