fuinei 发表于 2012-3-10 00:57:55

[已解决]关于统计文本行数和使用文本内容作为变量参考的问题

本帖最后由 fuinei 于 2012-3-14 19:30 编辑

大家好,我打算使用文本文件做为配置文件,配置文件格式如下:
192.168.1.1,host1
192.168.1.2,host2
192.168.1.3,host3
192.168.1.4,host4
...
我希望能把
1、文件行数做为循环的最大值
2、读取每一行内容中逗号前面部分作为变量$IPAddress的值
3、读取每一行内容中逗号后面部分作为变量$Hostname的值
请问如何可以实现上面的功能呢?

afan 发表于 2012-3-10 01:17:45

Local $Str = _
                '192.168.1.1,host1' & @CRLF & _
                '192.168.1.2,host2' & @CRLF & _
                '192.168.1.3,host3' & @CRLF & _
                '192.168.1.4,host4'
Local $Test = StringRegExp($str, '[^,\v]+', 3)
Local $IPAddress, $Hostname
For $i = 0 To UBound($Test) - 1 Step 2
        $IPAddress = $Test[$i]
        $Hostname = $Test[$i + 1]
        MsgBox(0, $IPAddress, $Hostname)
Next

fuinei 发表于 2012-3-10 01:40:32

谢谢afan版主的快速回复,对于IP和host由于需频繁变动,我希望能够写在一个文件中做为配置文件,程序从配置文件中读取相关信息,不知道能否实现呢?

zldfsz 发表于 2012-3-10 03:57:03

根据FileReadLine帮助文件示例修改而来
;要打开的文件
Local $file = FileOpen("test.txt", 0)

; 检查打开的文件是否可读
If $file = -1 Then
    MsgBox(0, "错误", "不能打开文件.")
    Exit
EndIf

; 每次读取一行文本,直到文件结束.
While 1
    Local $line = FileReadLine($file)
    If @error = -1 Then ExitLoop
        Local $temp = StringSplit($line, ",")
        $IPAddress=$temp
        $Hostname=$temp
    MsgBox(0, $IPAddress, $Hostname)
Wend

FileClose($file)

xms77 发表于 2012-3-10 06:58:11

其实是很简单的文件操作,看帮助就能写出来,当然如果用正则方法就比较困难了。

shqf 发表于 2012-3-10 10:01:57

给出我常用的一法:
#include <File.au3>
Local $aArray, $Var
_FileReadToArray("配置文件.txt", $aArray)
For $i = 1 To $aArray
        $Var = StringSplit($aArray[$i], ",")
        $IPAddress = $Var
        $Hostname = $Var
        MsgBox(0, $IPAddress, $Hostname)
Next

fuinei 发表于 2012-3-10 13:48:05

非常感谢各位的指导,周一加入测试程序中调试.

zhang_chg 发表于 2012-3-10 14:02:00

学习了,,,,,,,,

afan 发表于 2012-3-10 16:10:49

谢谢afan版主的快速回复,对于IP和host由于需频繁变动,我希望能够写在一个文件中做为配置文件,程序从配置文件 ...
fuinei 发表于 2012-3-10 01:40 http://www.autoitx.com/images/common/back.gif


    Local $Str = FileRead('test.txt') 即可
一般回复这类问题,都会直接用字符串表示,直接可运行。当然,会直接忽略不会取字符串的…

fuinei 发表于 2012-3-11 10:10:43

了解,afan版主对正达表达式的应用已经到了出神入化的境界了

fuinei 发表于 2012-3-14 19:30:01

谢谢afan版主,zldfsz和shqf兄,三位提供的方法我都测试过均可实现,非常感谢!
页: [1]
查看完整版本: [已解决]关于统计文本行数和使用文本内容作为变量参考的问题