Sometimes, end-users change filenames or the suffix of a file. There are a variety of reasons to do this. In such cases, applications need to detect the file format of the document, before loading it into TX Text Control.

To give you an idea how to solve this little problem, I have written a simplified function in VB.NET that detects two string file formats: RTF and HTML.

I intend to write another binary-based function to detect the Microsoft Word file format (DOC), but this should give you an idea about the intention.

This function returns a valid TX Text Control StreamType. This can be used directly in TX Text Control's Load method.

Private Function checkFileFormat(ByVal path As String)
    Dim myFileRead As System.IO.TextReader
    myFileRead = System.IO.File.OpenText(path)
    Dim myChars As String

    myChars = myFileRead.ReadToEnd

    If myChars.StartsWith("{\rtf") Then
        Return TXTextControl.StreamType.RichTextFormat
    ElseIf myChars.StartsWith("
        Return TXTextControl.StreamType.HTMLFormat
    Else
        Return TXTextControl.StreamType.PlainText
    End If
End Function

Private Sub Button1_Click(ByVal sender As System.Object,
        ByVal e As System.EventArgs) Handles Button1.Click
    Dim filename As String = "test.rtf"
    Dim Format As TXTextControl.StreamType = checkFileFormat(filename)
    TextControl1.Load(filename, Format)
End Sub