2015-02-20 4 views
-1

Я написал небольшую программу; записывать текст журнала в файл, но текстовый файл журнала записывается непрерывно. Я хочу писать только один раз, если условие истинно или ложно, пожалуйста, помогите мне найти решение.Запись в текстовый файл Постоянно

Private Sub Comp1_Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Comp1_Timer.Tick 
    ReDim VariableHandle(1) 
    Dim AirComp1On As Boolean 
    ' Dim fileExists As Boolean = File.Exists(filepath) 


    VariableHandle(1) = TcClient.CreateVariableHandle("GVL1.bComp1Start") 
    AirComp1On = TcClient.ReadAny(VariableHandle(1), GetType(Boolean)) 

    If AirComp1On = True Then 
     PictureBox15.Image = My.Resources.Resources.Compres_on 

     Using writer As New StreamWriter(filepath, True) 
      writer.WriteLine("SkyHab:Compressor Started " & DateAndTime.Now()) 
      writer.Close() 
     End Using 
    Else 

     PictureBox15.Image = My.Resources.Resources.compressor 
     Using writer As New StreamWriter(filepath, True) 
      writer.WriteLine("SkyHab:Compressor Stopped" & DateAndTime.Now()) 
      writer.Close() 
     End Using 
    End If 
End Sub 
+0

Любой шанс, что вы можете уточнить свой вопрос немного лучше? – SilverlightFox

+0

Привет, Если включен компрессор, тогда журнал событий «Compressor Started» должен быть записан в текстовый файл одновременно, но здесь он непрерывно записывается, это моя проблема. –

ответ

0

Вот один из способов сделать это:

Keep статический (или глобальной) переменной на ноль, и установить его в 1, если компрессор запускается или 0, если compresser остановился.

Static status As Integer = 0 

В обработчике клеща, выход в журнал, только если переменная состояния равна нулю, или если статус изменился.

Смежные вопросы