LabVIEWForum.de
*.txt datei erstellen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: *.txt datei erstellen (/Thread-txt-datei-erstellen)



*.txt datei erstellen - Jendrik - 27.03.2013 16:43

Guten Tag,

ich hoffe ich bin hier im richtigen Unterforum wenn nicht bitte ich dies zu EntschuldigenAngel_not

Ich habe ein simples Problem ,zumindest hoffe ich es ist simpel, nur ich denke wahrscheinlich zu kompliziert also gleich mal zu meinem Problem:

Ich versuche es mit einem einfaches Beispiel um mein Problem zu schildern

Ich will eine "Einkaufliste" erstellen als .txt Datei die verschiedene Arten Wurst,Käse,Pizzen fein säuberlich geordnet auflisten soll zum Ablauf 3 Button für die 3 Obergruppen 3 String Eingabeelemente. Nun soll das VI jedesmal wenn ich einen der 3 Button drücke den im dazu gehörigen String Eingabeelement zwischenspeichern (String-Array) bevor das Array um diese Sorte erweitert wird soll geprüft werden ob dieser String schon vorhanden ist und wenn ja soll ein kurzes Dialogfenster mit "schon vorhanden" aufploppen.Es soll egal sein welchen Button ich wann drücke. Am Ende nachdem ich auf einen 4. Button drücke "Liste erstellen" soll eine textdatei erstellt werden wo erst alle Wurstsorten aufgelistet werden danach alle Käse , etc..

Anbei das bild von meinem momentanen Fortschritt

wenn es ein zu einfaches Problem ist, bitte ich dies zu entschuldigen Wink

[attachment=44134]

EDIT jg: Externer Link gelöscht, Anhang im LVF hochgeladen.


RE: *.txt datei erstellen - A.Berndsen - 27.03.2013 17:47

Hallo Jendrik,

das ist zwar mal ein Anfang, aber von Deiner Beschreibung was Du programmieren möchtest ist da noch nicht sehr viel zu sehen.
Weißt Du wie man eine Datei anlegt, zum schreiben öffnet und diese beschreibt?
[attachment=44136]
Weißt Du wie man mit Arrays umgeht und Daten in diese schreibt?
Kennst Du Schieberegister? Die brauchst Du sicher auch noch.

Warum brauchst Du eigentlich drei Stringeingabeelemente? Das geht sicher auch mit einem!

Grüße
Andreas


RE: *.txt datei erstellen - NWOmason - 28.03.2013 07:05

(27.03.2013 16:43 )Jendrik schrieb:  Ich will eine "Einkaufliste" erstellen als .txt Datei

Zum Speichern und Lesen einer *.txt am besten das Bsp. von Andreas verwenden.


(27.03.2013 16:43 )Jendrik schrieb:  zum Ablauf 3 Button für die 3 Obergruppen 3 String Eingabeelemente.

Passt der Screenshot dazu Hmm?


(27.03.2013 16:43 )Jendrik schrieb:  Nun soll das VI jedesmal wenn ich einen der 3 Button drücke...

Dazu passt die Eventstruktur optimal. Dort kannst direkt auf den Klick eines Buttons reagieren.


(27.03.2013 16:43 )Jendrik schrieb:  ... den im dazu gehörigen String Eingabeelement zwischenspeichern (String-Array)

String-Array in einem Schieberegister zwischenspeichern.


(27.03.2013 16:43 )Jendrik schrieb:  ...bevor das Array um diese Sorte erweitert wird soll geprüft werden ob dieser String schon vorhanden ist...

Dazu einfach die 'Search1DArray' Funktion verwenden, die funktioniert natürlich auch mit String-Arrays.


(27.03.2013 16:43 )Jendrik schrieb:  wenn ja soll ein kurzes Dialogfenster mit "schon vorhanden" aufploppen. Es soll egal sein welchen Button ich wann drücke.

Dafür gibts den One Button Dialog Function


(27.03.2013 16:43 )Jendrik schrieb:  Es soll egal sein welchen Button ich wann drücke.

Den Code dazu musst du nur einmal erstellen, da du
  1. Entweder alles in ein Sub-VI packen kannst. Dieses kannst du dann sooft aufrufen, wie du willst
  2. Ebenso mehrere Events auf einen Event-Case legen kannst. Somit wird bei allen Buttons der gleiche Programmcode ausgeführt.


Beste Grüße,
NWO


RE: *.txt datei erstellen - Jendrik - 28.03.2013 09:55

Also erstmal Vielen Dank für die Antworten!

Das mit der Einkaufsliste war als Sinnbild gedacht Wink

Es geht im eine cfg Datei für eine Middleware in dem speziellen Fall für Beckhoff Klemmen , ich gebe in den jeweiligen Strings den Namen der Klemme ein , weise den klemmen verschieden IN/OUT Handle zu und füge einen ethernet adapter ein. Natürlich sollen die Handlezuweisungen unter den dazu gehörigen Klemmenbezeichnungen stehen Wink

Das mit dem Speichern und Lesen wäre jetzt nicht das Problem gewesen aber deine Lösung gefällt mir Andreas, ist auf jedenfall eleganter als es meine gewesen wäre Big Grin

Ich hatte aus frust mein VI soweit zurück gebaut weil ich mit den Arrays nicht so zurecht kam.

Ich habe das jetzt so wieder aufgebaut wie ich es zum Schluss hatte. Das Problem ist halt immernoch wie erzeuge ich in der While-Schleife ein Array welches ich auf Treffer überprüfen kann und mit jedem Klick erweitert wird. ( Mein Wissen um Arrays und Schieberegister ist wohl doch nicht so Grundlegend wie ich dachte)

grüße Jendrik

[Bild: fgsrfgt6.png]


RE: *.txt datei erstellen - GerdW - 28.03.2013 10:26

Hallo Jendrik,

Zitat:wie erzeuge ich in der While-Schleife ein Array
- Du brauchst noch ein BuildArray, mit dem du den aktuellen String zu einem Array hinzufügst, welches du dann in dem schon vorhandenen Schieberegister speicherst.
- Case-Strukturen mit "Default if unwired"-Ausgängen sind in diesem Zusammenhang eher unhandlich, es würde ein leerer String zum Array hinzugefügt werden. Willst du das?

THINK DATAFLOW! Smile


RE: *.txt datei erstellen - Jendrik - 28.03.2013 10:48

nein natürlich will ich das nicht Wink


*edit*
oh man wie einfach das sein kann wie ich am Anfang auch schon geschrieben habe, ich habe viel zu kompliziert gedacht -.-
*/edit*