# Mit Protool / WinCC flexible in eine datei schreiben



## Markus (12 April 2005)

hallo,

hat schonmal wer ein skript gebastelt das eine datei öffnet, variablen einträgt und die datei wieder schliest?

geht das?

bitte mal ein paar ansätze mit welchen vbscript befehlen sowas geht.

danke!


----------



## volker (12 April 2005)

na klar. bin nicht sicher ob ich sowas nicht schon mal gepostet habe.

was für ein bs?  wince und normales windows ist ein unterschied.


----------



## Markus (12 April 2005)

es geht um normales windows, aber wince wäre ebenfalls interessant.


----------



## volker (12 April 2005)

ok.

wince daten schreiben

```
Dim f,fs,datei,datum,laenge

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

'abfrage ob ein verzeichnis existiert
'If fs.dir("storage card2\daten") = "" Then fs.mkdir("storage card2\daten")

datei="storage card2\Log_Hydrowatt.csv"
datum="20"&Right(Date,2)&"."&Mid(Date,4,2)&"."&Left(Date,2)

If fs.dir(datei) = "" Then 
	f.open datei, 2
	f.LinePrint "Statistik Hydrowatt HD-Pumpe"
	f.LinePrint "Datum (JJJJ.MM.TT);"&"Uhrzeit;"&"Schaltspiele;"&"Betriebsstunden [h];"&"Pumpe auf Druck [h];"&"Bollfilter"
	f.LinePrint "Datum;"&"Zeit;"&"Schaltsp.;"&"Betr.Std[h];"&"P.auf Druck[h];"&"Bollfilter"
	f.Close
End If

f.open datei, 8
f.LinePrint Datum&";"&Time&";"&Schaltspiele_Hydrowatt_täglich&";"& Betriebsstunden_hydrowatt_heute&";"& Betriebsstunden_hydrowatt_druck_heute&";"&Schaltspiele_Bollfilter_täglich 

f.Close
```

wince daten lesen

```
Dim f,mode

Set f= CreateObject("filectl.file")
mode = 1
f.open "storage card2\daten\datensatz.txt", mode
dat_artikel_info_1 = f.LineInputString
dat_artikel_info_2 = f.LineInputString
f.Close
```

win daten schreiben

```
Dim myfiles,myshell,datum,zeit,datei,textfile1,schmierstoff

Set MyFiles = CreateObject("Scripting.FileSystemObject")
Set MyShell = CreateObject("WScript.Shell")

datei="D:\PROJEKT\WKZ_DATEN\Schmiermittel.csv"

If SMA_FIFO_Anwahl01 = 0 Then schmierstoff = "ohne Schmieren"

If myfiles.FileExists (datei) Then 
	Set TextFile1 = MyFiles.OpenTextFile(datei, 8)
	textfile1.WriteLine Datum&";"&Time&";"&SMA_FIFO_WKZ_Name01&";"&SMA_FIFO_Stückzahl_Charge01&";"&schmierstoff&";"&SMA_FIFO_205_Verbrauch_01&";"&SMA_FIFO_1196_Verbrauch_01
End If

If Not myfiles.FileExists (datei) Then 
	Set TextFile1 = MyFiles.CreateTextFile(datei, true)
	textfile1.WriteLine "Datum;"&"Uhrzeit;"&"Werkzeugname;"&"Stückzahl;"&"Schmiermittel;"&"Verbrauch Sumidera 204;"&"Verbrauch Sumidera 1196"
	textfile1.WriteLine Datum&";"&Time&";"&SMA_FIFO_WKZ_Name01&";"&SMA_FIFO_Stückzahl_Charge01&";"&schmierstoff&";"&SMA_FIFO_205_Verbrauch_01&";"&SMA_FIFO_1196_Verbrauch_01
End If

PtVar."SMA_WKZ_wechsel beendet"=0

textfile1.Close

If Not myfiles.FolderExists("d:\sicher") Then MyFiles.CreateFolder("d:\sicher")
myfiles.CopyFile "D:\PROJEKT\WKZ_DATEN\Schmiermittel.csv", "d:\sicher\"
```

win daten lesen

```
Set MyFiles = CreateObject("Scripting.FileSystemObject")
Set MyShell = CreateObject("WScript.Shell")

	Set TextFile2 = MyFiles.openTextFile(AktuellerOrdner+"\!index.tmp", 1)
	dieserordner=myfiles.getfolder(aktuellerordner)
	x = 0
	do while textfile2.atendofstream <> true
		x = x + 1
		name(x) = TextFile2.readline
	loop
	textfile2.close
	MyFiles.DeleteFile(AktuellerOrdner+"\!index.tmp")
```

bei normalem windows kannst du die vbscript doku zu rate ziehen die mit protool installiert wird.

*um auf einem winCE system eine datei anzuzeigen habe ich ein script geschrieben. das projekt habe ich vor kurzem hier abgelegt*

http://www.sps-forum.de/phpBB2/viewtopic.php?t=2972


----------



## Markus (12 April 2005)

danke!!
das hilft mir weiter


----------



## Steffen44 (17 Juli 2005)

das mit dem Windows CE ist doch auch auf alle anderen Windows Versionen anwendbar oder ?


----------



## volker (18 Juli 2005)

*Nein*


----------

