Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Creat0R
Цитата:
Имеется файл, а в нём много разного текста, и нужно перечитать весь текст, и проверить, не содержатся ли в нём дубликаты определённой переменной.
Обычным циклом устроит? Функция выводит сообщения (Select) и возвращает двумерный массив со счетчиком (номер строки и текст) , можно на выбор оставить что-нибудь одно:
Код: Выделить весь код
#include <File.au3>

$dups = _TextInFile ("c:\test.txt", "Просто текст")

Func _TextInFile ($file, $text)
	Local $i, $txtLines, $res [1][2] = [[0,0]]
	Local $str='Строки, содержащие "' & $text & '":' & @CRLF & @CRLF
	_FileReadToArray ($file, $txtLines)
	If Not IsArray ($txtLines) Then
		MsgBox (16, 'Ошибка', 'Файл пуст')
	EndIf
	For $i=1 To $txtLines [0]
		If StringInStr ($txtLines [$i], $text) Then
			ReDim $res [$res [0][0]+2][2]
			$res [0][0] = $res [0][0] +1
			$res [$res [0][0]][0] = $i
			$res [$res [0][0]][1] = $txtLines [$i]
			$str = $str & $i & ':' & @TAB & $txtLines [$i] & @CRLF
		EndIf
	Next
	Select
		Case $res [0][0] =0
			MsgBox (16, 'Ошибка', 'Вхождений не обнаружено!')
		Case $res [0][0] =1
			MsgBox (64, 'Сообщение', 'Дублей нет')
		Case Else
			MsgBox (48, 'Предупреждение', $str)
	EndSelect
	Return $res
EndFunc
Это сообщение посчитали полезным следующие участники:

Отправлено: 05:50, 03-11-2006 | #435