Что нового

Подсчет количества строк

Aleksander-2000

Новичок
Сообщения
33
Репутация
0
Версия AutoIt: 3.3.14.0

Описание:
Подскажите, пожалуйста, как подсчитать количество строк в текстовом файле.
 
Автор
Aleksander-2000

Aleksander-2000

Новичок
Сообщения
33
Репутация
0
Большое спасибо.


Добавлено:
Сообщение автоматически объединено:

А не подскажите, как можно реализовать следующее:
Фрагменте кода:

$hFile = FileOpen(@ScriptDir & '\test.txt', 0)
$Text = FileReadLine(($hFile), 1)

Скрипт находится в бесконечном цикле, как можно номер строки, в данном случае 1, при следующем цикле заменить соответственно на 2, и при достижении последней строки текстового файла, начать опять с 1, и т.д.
 
A

Alofa

Гость
OffTopic:
Aleksander-2000 сказал(а):
... Скрипт находится в бесконечном цикле, как можно номер строки, в данном случае 1, при следующем цикле заменить соответственно на 2, и при достижении последней строки текстового файла, начать опять с 1, и т.д.
Код:
Local $iUb, $i = 0, $aArray = FileReadToArray('Текстовый документ.txt')
If @error Then Exit
$iUb = UBound($aArray) - 1

While 1
	MsgBox(262144, $i, $aArray[$i])
	$i = ($i = $iUb) ? 0 : ($i + 1)
WEnd



Добавлено:
Сообщение автоматически объединено:

А зачем вам этот перебор строк?
 
Автор
Aleksander-2000

Aleksander-2000

Новичок
Сообщения
33
Репутация
0
Это кусок кода. Полный код ищет строки в текстовом файле.
 
A

Alofa

Гость
OffTopic:
Aleksander-2000 сказал(а):
... ищет строки в текстовом файле.
Работа с каждой строкой, да еще и в цикле - для больших файлов это может быть оооочень долго.
Посмотрите описание следующих функций:
Код:
StringInStr()
StringRegExp()
 
Автор
Aleksander-2000

Aleksander-2000

Новичок
Сообщения
33
Репутация
0
Строк для сравнения не так много, вот сам код:
Код:
#include <inet.au3>
#include <File.au3>
$hFile = FileOpen(@ScriptDir & '\test.txt', 0)
While 1
$Text = WinGetTitle("[active]")
$Text1 = FileReadLine(($hFile), 1)
If StringInStr($Text, $Text1) Then
        RunWait ("file.exe")
		_FileWriteToLine(@ScriptDir & '\test.txt', 4, "none", 1)
		FileClose($hFile)
		$hFile = FileOpen(@ScriptDir & '\test.txt', 0)
EndIf
WEnd

Здесь поскольку меняется (пока), только номер строки, я и хочу, использовать Ваш код, но что-то никак не могу, его интегрировать.,
 
A

Alofa

Гость
OffTopic:
Вот так понятней будет:
Код:
Local $i = 0
Local $aArray = FileReadToArray('Текстовый документ.txt')
If @error Then Exit
Local $iUb = UBound($aArray) - 1

While 1
	MsgBox(262144, $i, $aArray[$i])
	If $i = $iUb Then
		$i = 0
	Else
		$i += 1
	EndIf
WEnd
 
Автор
Aleksander-2000

Aleksander-2000

Новичок
Сообщения
33
Репутация
0
Спасибо, вроде с интеграцией разобрался. Вот ещё какой вопрос. В этом же цикле, должен быть запрос на сервер к PHP файлам, они тоже отличаются друг от друга только номерами 1php, 2php, 3php, и т.д, можно ли как-то вставить переменную "i" в адрес в InetRead("http://site/1.php", 1), чтобы он таким образом менялся, в цикле, соответственно на 1php, 2php, 3php, и т.д,?


Добавлено:
Сообщение автоматически объединено:

Либо просто директорию http://site.ru/1/, http://site.ru/2/, http://site.ru/3/ и т.д.
 
Верх