2016-12-03 1 views
0

J'essaye de faire un calcul en utilisant une valeur stockée dans mon fichier texte pour réinitialiser mon compteur PLC. Voici ce que j'ai fait jusqu'à présent.Comment utiliser une valeur à partir d'un fichier texte pour faire un calcul

Dim PileValue_txt As String = "C:\test.txt" 
Dim Value As New System.IO.StreamReader(PileValue_txt) 
ValueTextbox1.Text = Value.ReadToEnd 
Value.Close() 

Convert.ToIntCInt32(Value) 
LastValue = Value 

    If 9999 < LastValue Then 
    CounterValue = 32000 * 1000 'Counter will reset 

End if 

Mais il a lancé une exception sur (If 9999 < LastValue)

Message d'erreur: l'opérateur n'est pas défini pour le type 'entier' et 'System.IO.StreamReader'

Quel est le problème mon code?

+0

'Convert.ToInt32 (Value)' retourne un valeur que vous devez attribuer à une variable. Il ne change pas magiquement un flux en un entier du flux. Si vous utilisez [Option Strict On] (https://msdn.microsoft.com/en-us/library/zcd4xwzs.aspx), cela permettra à Visual Studio de signaler les problèmes de ce genre pour vous. –

Répondre

0

Vous avez déclaré Value comme StreamReader Et le contenu est attribué à ValueTextBox1 en utilisant la méthode ReadLine().

Vous devez utiliser

LastValue = CInt(ValueTextbox1.Text) 

Au lieu de

Convert.ToIntCInt32(Value) 
LastValue = Value 

Et vous pouvez en savoir plus sur la lecture de contenu textuel à ce Stackoverflow documentation partie

+0

Merci @ H.Fadlallah, il a jeté un autre message d'erreur: "valeur de type entier ne peut pas être convertie en 'system.io.streamreader – Smoky2016

+0

' LastValue' est déclaré comme 'integer'? – Hadi

+0

Sinon, vous devez stocker cette valeur' CInt (ValueTextbox1.Text) 'dans une variable entière – Hadi