Untuk save data dari InTouch ke CSV / TXT, bisa menggunakan script filewritemessage.
Syntax [result = ] FileWriteMessage (filename, offset, messagetag, linefeed)
Parameters filename:
Name of the file to write the data to. A literal string value, a message tagname, or a string expression.
offset:
Location (in bytes) in the file to start writing to. Set it to -1 to write data to the end of the file (append). A literal integer value, integer tagname, or integer expression.
messagetag:
Message tagname that contains the data to be written to the file.
linefeed:
Specifies whether to write a line feed (LF) character after writing the data to the file. Set to 1 to write a line feed character; otherwise, set it to 0. A literal Boolean value, discrete tagname, or Boolean expression.
Example(s) This script writes the value of a message tagname MsgTag to the end of the file c:\Data\File.txt.
FileWriteMessage("c:\Data\File.txt",-1,MsgTag,1); Yang perlu diperhatikan, script ini hanya bisa save data dalam bentuk message.
Pertanyaannya, bagaimana save data non message, misalkan integer, real?
Bisa menggunakan konversi, data integer / real kita konversi terlebih dahulu ke string dengan menggunakan script.
Script untuk konversi dari integer ke string:
Syntax result = StringFromIntg (number, base)
Parameters number:
A literal integer value, integer tagname, or integer expression.
base:
The base of the conversion. This is used for converting the value to a different base, such as binary (2), decimal (10) or hexadecimal (16). A literal integer value, integer tagname, or integer expression.
Example(s) StringFromIntg(26,10) returns “26” (decimal).
Contoh kasus:
Kita ingin save nilai sebuah tagname integer ke csv file, misalkan nama tagname: level
Langkah yang dilakukan secara umum:
- konversi tagname integer ke string
- save nilai tagname ke file
script:
{bikin variabel lokal untuk menyimpan sementara nilai hasil konversi}
Dim temp_level as message;
{konversi dari integer ke string, hasilnya disimpan ke variabel lokal temp_level}
temp_level = stringfrominteger(level,10);
{simpan ke file.csv}
FileWriteMessage("c:\report.csv",-1,temp_level,1);