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] Dateinamensgenerierung mit bestimmter Syntax - GerdW - 15.09.2010 15:30 Hallo Mecha, die %.0-Angabe ist bei %d eher überflüssig... 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. 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. Wie könnte ich tun um zuerst den String auzszugeben und dann die aufzufüllenden Stellen? Idee? Beispiel: Ausgabe: IC20__ |