ipmitool 发表于 2017-3-7 15:34:10

[已解决]FileReadLine在比大小的時候似乎有bug

本帖最后由 ipmitool 于 2017-3-7 17:15 编辑

FileReadLine在比大小的時候似乎有bug
10明明大於9, 但是FileReadLine在比大小的時候結果有問題...



$RecordCycle1 = FileOpen("RecordCycle1.txt")
$ReadCycle1 = FileReadLine($RecordCycle1,1)


$RecordCycle2 = FileOpen("RecordCycle2.txt")
$ReadCycle2 = FileReadLine($RecordCycle2,1)


if $ReadCycle2 >= $ReadCycle1 Then
MsgBox(0,"111",">=")
Else

EndIf

kk_lee69 发表于 2017-3-7 15:46:09

回复 1# ipmitool

把讀取的結果 加上0在比一次大小呢??

229989799 发表于 2017-3-7 15:53:53

本帖最后由 229989799 于 2017-3-7 15:59 编辑

我也是初学者,研究了一下。大概是先读取文件1和2里面的值,再对比大小。$ReadCycle1 = FileOpen(FileReadLine("RecordCycle1.txt",1))
$ReadCycle2 = FileOpen(FileReadLine("RecordCycle2.txt",1))

If $ReadCycle2 >= $ReadCycle1 Then
        MsgBox(0,'','>=')
Else
        EndIf

ipmitool 发表于 2017-3-7 16:04:35

回复 2# kk_lee69


    後來在變數前面加 chr() 就解決了...不知道大哥您覺得ok嗎?
if chr($ReadCycle2) >= chr($ReadCycle1) Then

ipmitool 发表于 2017-3-7 16:06:33

回复 3# 229989799


    水喔! 謝謝大大~

229989799 发表于 2017-3-7 16:19:16

可以了,就改个【已解决】标题吧。

帆船 发表于 2017-3-7 18:55:45

本帖最后由 帆船 于 2017-3-7 18:57 编辑

这个跟FileReadLine没有任何关系!
用Chr也是错误的!

$Read1 = "10"
$Read2 = "9"
$Hex1 = Hex(Binary($Read1))
$Hex2 = Hex(Binary($Read2))
ConsoleWrite($Hex1 & @TAB & $Hex2 & @CRLF)
If Number($Hex1) > Number($Hex2) Then
        ConsoleWrite($Read1 & ">" & $Read2 & @CRLF)
ElseIf Number($Hex1) = Number($Hex2) Then
        ConsoleWrite($Read1 & "=" & $Read2 & @CRLF)
ElseIf Number($Hex1) < Number($Hex2) Then
        ConsoleWrite($Read1 & "<" & $Read2 & @CRLF)
EndIf

skysmile 发表于 2017-3-7 23:08:35

FileReadLine
返回的是文本,是字符串
字符串比较用StringCompare
页: [1]
查看完整版本: [已解决]FileReadLine在比大小的時候似乎有bug