Option Explicit
' COPYRIGTH DASSAULT SYSTEMES 2001

' ***********************************************************************
'   Purpose:      Create a text file, duplicate it and read the result.
'   Assumtions:      
'   Author: 
'   Languages:    VBScript BasicScript
'   Locales:      English 
'   CATIA Level:  V5R6 
' ***********************************************************************


Sub CATMain()

    Dim sLF As String
    sLF = Chr(10) 

    Dim sMessage As String
    sMessage = InputBox ("Enter a message", "Message", "Hello World")

    ' ------------------------------------------
    ' Get the file system object
    Dim oFileSys As FileSystem
    Set oFileSys = CATIA.FileSystem

    ' ------------------------------------------
    ' Retrieve a folder for temporary files
    Dim sTmpPath As String 
    sTmpPath=CATIA.SystemService.Environ("CATTemp")
    If (Not oFileSys.FolderExists(sTmpPath)) Then
      Err.Raise 9999,,"No Tmp Path Defined"
    End If

    ' ------------------------------------------
    ' Delete possibly existing input and output files
    Dim sFilOu As String ' Output file full path
    sFilOu = CATIA.FileSystem.ConcatenatePaths(sTmpPath, "caatmpfilou.txt")
    If (oFileSys.FileExists(sFilou)) Then 
        oFileSys.DeleteFile sFilOu
    End If

    Dim sFilIn As String ' Intput file full path
    sFilIn = CATIA.FileSystem.ConcatenatePaths(sTmpPath, "caatmpfilin.txt")
    If (oFileSys.FileExists(sFilIn)) Then 
        oFileSys.DeleteFile sFilIn
    End If

    ' ---------------------------------------
    ' Create file FilIn  
    Dim oFilIn As File    
    Set oFilIn = oFileSys.CreateFile(sFilIn, FALSE)
    Dim oStream As TextStream
    Set oStream = oFilIn.OpenAsTextStream("ForWriting")
    oStream.Write "<MESSAGE>"  & sLF
    oStream.Write "<VALUE>"
    oStream.Write sMessage 
    oStream.Write "</VALUE>"   & sLF
    oStream.Write "</MESSAGE>" & sLF
    oStream.Close

    ' ---------------------------------------
    ' Duplicate FilIn in FilOu 
    oFileSys.CopyFile sFilIn, sFilOu, FALSE

    ' ---------------------------------------
    ' Get the result from the output file  
    Dim oFilOu As File
    Set oFilOu = oFileSys.GetFile(sFilOu)
    Set oStream = oFilOu.OpenAsTextStream("ForReading")

    Dim sBuffer As String
    sMessage = ""
    sBuffer = oStream.ReadLine
    Do  Until oStream.AtEndOfStream
        sMessage = sMessage & sBuffer 
        sBuffer = oStream.ReadLine
    Loop

    oStream.Close

    msgbox sMessage

End Sub