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
Может есть способ покороче с этим бороться?
Вот на всякий пожарный, прикладываю файл, содержащий дубликаты таких (разных) блоков.