B4J Question strin.compareTo i do while loop

LukaszK

Member
Hi Experts! Iam beginnier with b4j. I try to filter txt fil during reading it i do while loop. Why i cant do that, resulting an error? In uppe place i do that with succes outside do while loop. What is the reason?
 

Attachments

  • screendo while.png
    screendo while.png
    117.8 KB · Views: 24

aeric

Expert
Licensed User
Longtime User
Please post your code in text using the </> button.
 
Upvote 0

LukaszK

Member
B4X:
#Region Shared Files
#CustomBuildAction: folders ready, %WINDIR%\System32\Robocopy.exe,"..\..\Shared Files" "..\Files"
'Ctrl + click to sync files: ide://run?file=%WINDIR%\System32\Robocopy.exe&args=..\..\Shared+Files&args=..\Files&FilesSync=True
#End Region

'Ctrl + click to export as zip: ide://run?File=%B4X%\Zipper.jar&Args=AppendToTextFile.zip

Sub Class_Globals
    Private Root As B4XView
    Private xui As XUI
    
    Private TextField1 As B4XView
    Private btnAdd As B4XView
    
    Private mOutDir As String
    Private ComPort As String
    ComPort="null"
    Private line2 As String
    line2="COM1"
    Private mFileName As String
    Private TextArea1 As B4XView
    Private Label1 As B4XView
    Dim line As String
    
End Sub

Public Sub Initialize
'    B4XPages.GetManager.LogEvents = True
End Sub

'This event will be called once, before the page becomes visible.
Private Sub B4XPage_Created (Root1 As B4XView)
    Root = Root1
    Root.LoadLayout("MainPage")
    
    #If B4J
        xui.SetDataFolder("Test")
    #End If
    mOutDir = xui.DefaultFolder
    mFileName = "Test.txt"
    File.Copy(File.DirAssets, mFileName, mOutDir, mFileName)
    LoadTextFile
    Label1.Text = "File: " & mFileName
    If (line2.CompareTo("COM1") ) ==0 Then Log("found it")
End Sub

#Region VIEWS' EVENTS

Private Sub TextField1_TextChanged (Old As String, New As String)
    btnAdd.Enabled = New.Length > 0
End Sub

Private Sub btnAdd_Click
    AppendToTextFile(mOutDir, mFileName, TextField1.Text, True)
    LoadTextFile
    'File.WriteString(File.DirApp, "1.txt", "Some text")  'tak zapisujemy konkretny plik
    
    Dim Reader As TextReader 'czesanie pliku
    Dim NrLin As Int
    NrLin=0
    Reader.Initialize(File.OpenInput(mOutDir, "Test.txt"))
    
    
    line = Reader.ReadLine

    Do While line <> Null
        
        Log("Nr lini:" &NrLin &line)
        NrLin=NrLin+1
        line = Reader.ReadLine
        Log("Nr lini:" &NrLin &line)
        If (line.CompareTo("COM1") ) ==0 Then Log("found it")
        'line.CompareTo("COM1")       
       Loop
    

    


    'If (line.CompareTo("fsdfsfs") ) ==0 Then Log("found it")
    Reader.Close
    
    
    
    
End Sub

#End Region

#Region PRIVATE METHODS

Private Sub LoadTextFile
    TextArea1.Text = File.ReadString(mOutDir, mFileName)
End Sub

Private Sub AppendToTextFile(Dir As String, FileName As String, Text As String, NewLine As Boolean)
    If NewLine Then
        Text = CRLF & Text
    End If
    Dim out As OutputStream = File.OpenOutput(Dir, FileName, True)
    Dim b() As Byte = Text.GetBytes("utf8")
    out.WriteBytes(b, 0, b.Length)
    out.Close
End Sub

#End Region
 
Upvote 0
Top