ProTool und csv-datei

Hugo-Soft

Level-1
Beiträge
22
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,
habe ein kleines Skipt um meine Werte aus ProTool in eine csv-Datei zuschreiben. Leider werden die Kommaten nicht in die Datei geschrieben.
Habe als Trennzeichen Simikolon verwendet.
Hat einer eine Idee was ich falsch mache oder andern muß.

Gruß Hugo-Soft

Und hier mein Script.

Dim fso, f, ts, DataSet, Header, FName

FName = "C:\daten\PT_Daten\Archiv_" + CStr(DatePart("m",Date)) + ".csv

Header = "Speicherzeit;Var1;Var2;Var3" & Chr(10)

DataSet = CStr(Now) + ";" + CStr(VAR1) + ";" + CStr(VAR2) + ";" + CStr(VAR3)

Set fso = CreateObject("Scripting.FileSystemObject")

If Not fso.FileExists(FName) Then
fso.CreateTextFile FName

Set f = fso.GetFile(FName)
Set ts = f.OpenAsTextStream(8, -2)
ts.WriteLine(Header)
ts.Close
End If
Set f = fso.GetFile(FName)
Set ts = f.OpenAsTextStream(8, -2)
ts.WriteLine(DataSet)
 
wird die datei denn erzeugt?
so wie es aussieht hast du ein win-ce system.

ich mache das so.

Code:
Dim f,fs,mode

Set f= CreateObject("filectl.file")
Set fs = CreateObject("filectl.filesystem")

If fs.dir("storage card2\daten") = "" Then fs.mkdir("storage card2\daten")

mode = 2 //8 for append
f.open "storage card2\daten\datensatz.txt", mode
f.LinePrint dat_artikel_info_1 
f.LinePrint dat_artikel_info_2
f.Close
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Volker,

das erstelle ProTool Programm läuft auf einem Windows Rechner.

Wenn ich die Daten in eine Text-Datei schreibe sieht das soaus:

Speicherzeit;Var1;Var2;Var3

24.03.2005 09:32:35;1213;1214;1215

sollte aber so aussehen:

Speicherzeit;Var1;Var2;Var3

24.03.2005 09:32:35;12,13;12,14;12,15

das Komma kann auch ein Punkt sein.
Das Progamm macht mir keine Dezimalstellen. Es schreibt die Werte ohne Komma oder Punkt in meine Datei.
 
Wie hast du die Variablen in Protool denn deklariert? Wenn du Dezimalzahlen mit zwei Kommastellen deklariert hast (Integer), dann stimmt der Ausdruck, da Protool zwar das Komma darstellt, die Werte aber eine reine Integer ohne Komma sind, bei der die letzten zwei Stellen dann die Dezimalstellen sind. Wenn du diese Zahlen in der SPS verarbeiten willst, ist das genauso. Was kommt den raus, wenn du Gleitpunktzahlen als Variablen verwendest ?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Fange ich mal von vorne an. Ich mochte gern in Protool alle meine Werte mit einem Tastendruck speichern können. Diese Werte sind String und Dezimal. Diese Werte mochte ich gerne in eine txt oder csv datei schreiben um sie dann in eine Exeldatei ein lesen zukönnen. Soll so eine Art Matrix .
 
Hugo-Soft schrieb:
24.03.2005 09:32:35;1213;1214;1215

sollte aber so aussehen:
24.03.2005 09:32:35;12,13;12,14;12,15

Könnte es sein, das deine Variable in der steuerung 1213 ist und am pc mit 2 kommastellen angezeigt wird?

du könntest dies so umgehen.
CStr(VAR1/100)
 
Hallo Volker,

deine Lösung sieht gut aus scheint zugehen. Muß sie nur noch gründlich testen. Danke für die Hilfe.

Wünsche allen ein schönes Osterfest. :D :D

Gruß Hugo-Soft
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also in der Zeile "FName" fehlt noch ein Gänsefüschen :)

Dann nochn Tip:
Sie können den Operator + zum Verketten zweier Zeichenfolgen verwenden, sollten dazu aber vorzugsweise den Operator & verwenden. Dadurch schließen Sie Mehrdeutigkeiten aus und erstellen Code, der sich selbst dokumentiert.
Wenn Sie den Operator + verwenden, können Sie nicht immer bestimmen, ob eine Addition oder eine Zeichenverkettung erfolgt.

Beispiel für den &-Operator:

Code:
If Arch_Monat < 10 Then 
AMonat = "0" & Arch_Monat
Else AMonat = Arch_Monat
End If
datei = "C:\Daten\" & Arch_JAHR & "_" & AMonat & ".csv"
Call PtFct.Systemmeldetext_anzeigen(datei)
If fs.FileExists(datei) Then

Ich glaube die CStr(Var1) usw. kannst du weglassen ... also nur


Code:
bla bla bal ...... & Var1/100 & .......  bla bla bal


der formt das selber in "Str" um

Dein Prob mit den Kommas ist wie oben beschrieben ...
 
Hallo,

habe da noch eine Frage ist es möglich diese Daten in eine SQL-Datenbank einzubinden. Wenn ja, aber wie.
Vielleicht hat auch einer ein fertiges Skipt?

Gruß Hugo-Soft
 
Hy,

du kannst anstatt in CSV-Dateien auch in eine Datenbank schreiben lassen. Das stellst du in ProTool ein.
ODBC war die Schnittstelle.
Oder du gehst über VB-Skript, das müsste eigentlich auch gehen. Ich habe da auch schon mal geschaut ob das funktioniert, bin aber nicht weiter gekommen.
Normalerweise bietet dir eine gute Datenbank auch einen Import von Textdateien an.
Es kann nur sein das du die Trennzeichen und andere Konventionen überarbeiten musst.

Gobo
 
Zurück
Oben