Dim s As String
s = "Тут твои крякозябры"
s = StrConv(s, vbFromUnicode)
'уже их нет
s = "Нормальный текст"
s = StrConv(s, vbUnicode)
'а тепер крякозябры
s = "Тут твои крякозябры"
s = StrConv(s, vbFromUnicode)
s = "UserName=0:A8<"
s = StrConv(s, vbFromUnicode)
Alexanbar писал(а):Записывай файл *.reg с помощью regedit в старом формате (win98/NT4)
JWST писал(а):И что получается средствами VB никак эту проблему не решить. Что прикажете другой язык изучить, которому посильна эта наиэлементранийшая задачка.
Вот это и всё что можете мне предложить и посоветовать?
GSerg писал(а):Фтопку программу.
Записывать разными кодировками в один файл вперемешку - это не та прога, которую можно юзать.
Alexanbar писал(а):Изучи специфику цепочки символов, содержащей символы Unicode
For xx= 1 to len(text)
if mid$(text,xx,1) = Уникод then mid$(text,xx,1) = нормалный формат(mid$(text,xx,1))
next
GSerg писал(а):По этому поводу нет мыслей.
...
Но не проще ли перестать юзать дебильную программу. и начать юзать нормальную?
JWST писал(а):Очень жаль что VB опять подводит.
JWST писал(а):(ЭТОГО БОЛЬШЕ Я НЕ ВСТРЕЧАЛ СРЕДИ АНАЛОГИЧНЫХ ПРОГРАММ)
JWST писал(а):так вот если ты мне предложишь что нить на замену, то предложи.
JWST писал(а):А вообще то я разочарован. Это я считаю касяк VB. Потому как в файле нормальные русские буквы, а при считвании и записи почему то становятся кракозябры, да ещё и программно их никак не убрать.
JWST писал(а):касячит и никак при этом проблему средствами VB как оказыается не решить.
JWST писал(а):Трудно конечно несогласится с GSerg.
JWST писал(а):Особенно потому что решений (как и предполагалось) он не дал никаких.
JWST писал(а):Зато супер предложение воспользоваться Regedit
JWST писал(а):как обычно без примеров
JWST писал(а):и сравнить при помощи FC что тоже непонять зверь наверное какой-то.
JWST писал(а):Как убрать кракозябры?
JWST писал(а):Ведь дело не в том какой программой делался Reg файл.
JWST писал(а):А прога VB касячит.
JWST писал(а):Помогите мне написать прогу пожалуйста. Делать она должна три действия.
Private Sub Form_Load()
f$ = "c:\Проба.reg"
Open f For Binary As #1
t$ = Space(FileLen(f))
Get #1, 1, t$
Text1.Text = StrConv(t, vbFromUnicode)
End Sub
?Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Outlook Express\5.0\Default Settings\Recent Stationery List]
"File0"="Ясный день.htm"
"File1"="Природа.htm"
"File2"="Кукуруза.htm"
"File3"="Подсолнух.htm"
"File4"="Лимонад.htm"
"File5"="Чистый лист.htm"
"File6"="Листья.htm"
Private Sub Form_Load()
Dim GetValues() As String
Counter = 0
NameFile = "File.reg"
'NameFile = "File2.reg"
Open NameFile For Input As #1
Do Until EOF(1)
Counter = Counter + 1
ReDim Preserve GetValues(Counter)
Line Input #1, Bufer
Bufer = Replace(Bufer, "D:\\_INSTALL", "C:\\_INSTALL", , , vbTextCompare)
GetValues(Counter) = Bufer
'Чтобы не касячился весь текст (без этого не работает)
If Counter = 1 And Mid(GetValues(Counter), 1, 2) = "яю" Then
GetValues(Counter) = Mid(GetValues(Counter), 3)
End If
Loop
Close #1
MsgBox "Файл ссчитан"
'#################################
Open NameFile For Output As #2
For yy = 1 To Counter
Print #2, GetValues(yy)
Next
Close #2
' MsgBox "файл записан"
Counter = 0
MsgBox "Файл записан"
Unload Me
End Sub
Private Sub Form_Load()
Dim GetValues() As String
Counter = 0
NameFile = "c:\File2.reg"
'NameFile = "File2.reg"
Open NameFile For Binary As #1
bufer$ = Space(FileLen(NameFile))
Get #1, 1, bufer$
Close #1
bufer = Replace(bufer, "D:\\_INSTALL", "C:\\_INSTALL", , , vbTextCompare)
MsgBox "Файл ссчитан"
'#################################
NameFile = "c:\File2X.reg"
'Способ1 (в Unicode):
'Open NameFile For Binary As #2
'Put #2, 1, StrConv(bufer, vbUnicode)
'
'Close #2
Open NameFile For Output As #2
'Способ2:
'в обычном формате:
'Print #2, bufer;
'Способ3:
'В Unicode:
Print #2, StrConv(bufer, vbUnicode)
Close #2
MsgBox "Файл записан"
Unload Me
End Sub
Alexanbar писал(а):NameFile = "c:\File2.reg"
Open NameFile For Binary As #1
bufer$ = Space(FileLen(NameFile))
Get #1, 1, bufer$
msgbox bufer$
Close #1
NameFile$ = "c:\file.reg"
Open NameFile For Binary As #1
bufer$ = Space(FileLen(NameFile))
Get #1, 1, bufer$
MsgBox StrConv(bufer$, vbFromUnicode)
Close #1
Сейчас этот форум просматривают: AhrefsBot и гости: 175