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

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

Аватара для Creat0R

Must AutoIt


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

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


Вложения
Тип файла: zip opera6.adr.zip
(946 байт, 12 просмотров)

amel27
Тоже есть трабла .

Оказывается , иногда некоторых пунктов в этом блоке нету\есть, они не присутствует\присутствуют в том случае, либо, если у закладки нет\есть описании (DESCRIPTION), либо нет\есть код посещения (VISITED=), либо нет\есть код активвности (ACTIVE=). Вот как выглядит самый полный блок (т.е больше этих пунктов нет) :

Код: Выделить весь код
#URL
	ID=1
	NAME=AutoIt скрипты .:[общие вопросы]:.
	URL=http://forum.oszone.net/post-508967.html
	CREATED=1163050009
	VISITED=1163050722
	DESCRIPTION=AutoIt скрипты .:[общие вопросы]:.
	ICONFILE=forum.oszone.net.gif
	ACTIVE=YES
А вот как будет выглядеть блок с минимальными пунктами (меньше чем это не может быть) :


Код: Выделить весь код
#URL
	ID=21
	NAME=Yahoo!
	URL=http://www.yahoo.com/
	CREATED=1163050735
	ICONFILE=www.yahoo.com.ico
Я бы конечно мог просчитать все варианты, т.е если есть допустим пункт DESCRIPTION=, и нету пункта VISITED=, то делаем одно действие, а если есть первое и нет второго, то делаем другое, и т.д... но это получится слишком громоздко, вот начало этого...

Код: Выделить весь код
For $i=$DupLines [0][0] To 1 Step -1
	If StringLeft(FileReadLine($File, $DupLines [$i][0] +3), 13) = @TAB & "DESCRIPTION=" and StringLeft(FileReadLine($File, $DupLines [$i][0] +2), 9) = @TAB & "VISITED=" Then
		_FileWriteToLine ($File, $DupLines [$i][0] +4, "", 1)
		_FileWriteToLine ($File, $DupLines [$i][0] +3, "", 1)
		_FileWriteToLine ($File, $DupLines [$i][0] +2, "", 1)
		_FileWriteToLine ($File, $DupLines [$i][0] +1, "", 1)
		_FileWriteToLine ($File, $DupLines [$i][0]   , "", 1)
		_FileWriteToLine ($File, $DupLines [$i][0] -1, "", 1)
		_FileWriteToLine ($File, $DupLines [$i][0] -2, "", 1)
		_FileWriteToLine ($File, $DupLines [$i][0] -3, "", 1)
		_FileWriteToLine ($File, $DupLines [$i][0] -4, "", 1)
	ElseIf StringLeft(FileReadLine($File, $DupLines [$i][0] +2), 13) = @TAB & "DESCRIPTION=" and StringLeft(FileReadLine($File, $DupLines [$i][0] +5), 8) = @TAB & "ACTIVE="
		_FileWriteToLine ($File, $DupLines [$i][0] +5, "", 1)
		_FileWriteToLine ($File, $DupLines [$i][0] +4 "", 1)
		_FileWriteToLine ($File, $DupLines [$i][0] +3, "", 1)
		_FileWriteToLine ($File, $DupLines [$i][0] +2, "", 1)
		_FileWriteToLine ($File, $DupLines [$i][0] +1, "", 1)
		_FileWriteToLine ($File, $DupLines [$i][0]   , "", 1)
		_FileWriteToLine ($File, $DupLines [$i][0] -1, "", 1)
		_FileWriteToLine ($File, $DupLines [$i][0] -2, "", 1)
		_FileWriteToLine ($File, $DupLines [$i][0] -3, "", 1)
		_FileWriteToLine ($File, $DupLines [$i][0] -4, "", 1)
	EndIf
Next
Может есть способ покороче с этим бороться?
Вот на всякий пожарный, прикладываю файл, содержащий дубликаты таких (разных) блоков.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 09:20, 09-11-2006 | #458