ViSiToR

Silver Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору NIKZZZZ 00:18 03-10-2008 Цитата: Программа будет добавлять в файл лог своей работы. ..... Одновременно получаем бонус - полный лог работы. Кроме этого в коменте можно добавит разную инфу, например о пользователе, при этом можно быборочно получать обновленный файл, например игнорируя обновления определенных пользователей. | Идея понравилась , но придётся тогда в реальном времени записывать любое изменение, у меня же запись происходит только при выходе... Leagnus 01:38 03-10-2008 Цитата: можно ли средствами AutoIt определить, является ли строка в ANSI кодировке или нет | Можно, функция (_StringIsUTF8Format()) от amel27: Код: $sANSI_String = "Тест" $sUTF8_String = _StringToUTF($sANSI_String) MsgBox(64, "UTF8 -> " & $sUTF8_String, "Is UTF-8 Format = " & _StringIsUTF8Format($sUTF8_String)) MsgBox(64, "ANSI -> " & $sANSI_String, "Is UTF-8 Format = " & _StringIsUTF8Format($sANSI_String)) Func _StringIsUTF8Format($String) Local $sAsc, $sLen = StringLen($String), $sExt = $sLen For $i = 1 To $sLen $sAsc = Asc(StringMid($String, $i, 1)) If Not BitAnd($sAsc, 0x80) Then $sExt = 0 ElseIf Not BitXOR(BitAnd($sAsc, 0xE0), 0xC0) Then $sExt = 1 ElseIf Not(BitXOR(BitAnd($sAsc,0xF0),0xE0)) Then $sExt = 2 ElseIf Not BitXOR(BitAnd($sAsc, 0xF8), 0xF0) Then $sExt=3 EndIf If $i + $sExt > $sLen Then Return False For $j = $i + 1 To $i + $sExt $sAsc = Asc(StringMid($String, $j, 1)) If BitXOR(BitAnd($sAsc, 0xC0), 0x80) Then Return False Next $i += $sExt Next Return True EndFunc Func _StringToUTF($String) Local $sResult = "", $iCode Local $VarUTFArr = StringSplit($String, "") For $i = 1 To $VarUTFArr[0] $iCode = Asc($VarUTFArr[$i]) Select Case $iCode >= 192 And $iCode <= 239 $VarUTFArr[$i] = Chr(208) & Chr($iCode - 48) Case $iCode >= 240 And $iCode <= 255 $VarUTFArr[$i] = Chr(209) & Chr($iCode - 112) Case $iCode = 168 $VarUTFArr[$i] = Chr(208) & Chr(129) Case $iCode = 184 $VarUTFArr[$i] = Chr(209) & Chr(145) Case Else $VarUTFArr[$i] = Chr($iCode) EndSelect $sResult &= $VarUTFArr[$i] Next Return $sResult EndFunc |
---------- ViSiToR a.k.a CreatoR CreatoR это не ник, CreatoR это стиль жизни! |
| Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 02:16 03-10-2008 | Исправлено: ViSiToR, 02:24 03-10-2008 |
|