Имя пользователя:
Пароль:
 

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

Аватара для gregaz

Пользователь


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

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


Цитата Creat0R:
Не работает так у меня, сделай полный рабочий пример, а где хранить это не проблема, в переменной - Просто сам скрипт перекодировать в UTF-8 (в SciTE есть такая возможность), чтобы сохранилась кодировка »
Вот полный рабочий пример :

Код: Выделить весь код
#include <array.au3>
$patch="C:\Documents and Settings\All Users\Документы\Моя музыка\Образцы музыки"
$file =FileOpenDialog('',$patch, "(*.mp3)", 1  )

$oId3 = ObjCreate("CDDBControl.CddbID3Tag")
$oId3.LoadFromFile ($file, False)
$tag=$oId3.Title
$tagRus=Decodering($oId3.Title); ===>
MsgBox(0, "", $tag & @cr & $tagRus)

$oId3.Title='Новый тег'
$oId3.SaveToFile ($file)

;===================================
Func Decodering($str)
;===================================  
	$var = FileOpen(@ScriptDir & '\' & "Alphavit.txt", 0)
	If $var = -1 Then
		MsgBox(0, "Error", "Unable to open file.")
		Exit
	EndIf
 
	$line1 = FileReadLine($var);строка алф-та в виде : àáâãäåæçèéêëìíîïðñòóôõö÷øùüûýþÿ
	$line2 = FileReadLine($var);строка алф-та в виде : абвгдежзийклмнопрстуфхцчшщьыэюя
	FileClose($var)
	;MsgBox(0, "Lines read:", $line1 & @cr & $line2)

	dim $AA
	For $i = 1 To StringLen($str)
		$M=StringMid($str, $i, 1); 
		$k = StringInStr($line1, $M);
		If $k=0 Then 
			$M2=$M ; 
		Else
			$M2=StringMid($line2, $k, 1); 
		EndIf
		If Asc($M)< 91 and Asc($M)>64 Then $M2 = Chr (Asc($M2)-32); Замена строчных букв на заглавные
		$AA&=$M2
	Next
	Return $AA
EndFunc ; ===> Decodering
Текстовый файл Alphavit.txt содержит 2 строки :
àáâãäåæçèéêëìíîïðñòóôõö÷øùüûýþÿ
абвгдежзийклмнопрстуфхцчшщьыэюя

Однако если выполнить перекодировку в UTF-8 в SciTE , тогда уже текст русского алфавита воспринимается неверно ???

Отправлено: 07:21, 23-09-2008 | #940