Другие языки программирования и технологии
Как исправить кодировку?
Имеется файл с кодом, открывается через Word или другой текстовый редактор. Все комментарии на русском превращаются в: " S1, S2 : Real; { S1, S2 - б㬬л н«Ґ¬Ґв®ў, а бЇ®«®¦Ґле Ё¦Ґ Ё ўлиҐ Ј« ў®© ¤Ё Ј® «Ё, ᮮ⢥вб⢥®}".
S1, S2 : Real; { S1, S2 - суммы элементов, р сположеых иже и выше гл вой ди го ли, соответствео}
Источник: (он довольно древний, прошу строго не судить)
.386
.model flat, stdcall
includemasm32\include\windows.inc
includemasm32\include\user32.inc
includemasm32\include\kernel32.inc
includemasm32\include\gdi32.inc
includelibmasm32\lib\user32.lib
WndProcPROTO :DWORD, :DWORD, :DWORD, :DWORD
SetLayeredWindowAttributesPROTO :DWORD, :DWORD, :DWORD, :DWORD
.data
dlgnamedd 100
.data?
hInstancedd ?
sysMenudd ?
textdb 30000 dup(?)
.const
LMA_ALPHA equ 2
LMA_COLORKEY equ 1
WS_EX_LAYERED equ 80000h
.code
Main:
INVOKEGetModuleHandle, NULL
mov hInstance, eax
INVOKEDialogBoxParam, hInstance, dlgname, 0, ADDR WndProc, 0
INVOKEExitProcess, eax
WndProcPROChWin :DWORD, uMsg :DWORD, wParam :DWORD, lParam :DWORD
.if uMsg == WM_INITDIALOG
INVOKEGetWindowLongA,hWin,GWL_EXSTYLE
or eax,WS_EX_LAYERED
INVOKESetWindowLongA, hWin, GWL_EXSTYLE, eax
INVOKESetLayeredWindowAttributes, hWin, 220, 220, LMA_ALPHA
INVOKEGetSystemMenu, hWin, 0
mov sysMenu, eax
INVOKEDeleteMenu, sysMenu, 5, MF_BYPOSITION
INVOKEDeleteMenu, sysMenu, SC_SIZE, MF_BYCOMMAND
INVOKEDeleteMenu, sysMenu, SC_MAXIMIZE, MF_BYCOMMAND
INVOKEDeleteMenu, sysMenu, SC_RESTORE, MF_BYCOMMAND
.elseif uMsg == WM_COMMAND
.if wParam == 1001
INVOKEGetDlgItemText, hWin, 1000, ADDR text, 30000
INVOKECharToOem, ADDR text, ADDR text
INVOKESetDlgItemText, hWin, 1000, ADDR text
.elseif wParam == 1002
INVOKEGetDlgItemText, hWin, 1000, ADDR text, 30000
INVOKEOemToChar, ADDR text, ADDR text
INVOKESetDlgItemText, hWin, 1000, ADDR text
.endif
.elseif uMsg == WM_CLOSE
INVOKEEndDialog, hWin, 0
.endif
xor eax, eax
ret
WndProc endp
end Main
*.rc:
#include "masm32\include\resource.h"
1 24 "F:\\Другие\\mf.manifest"
100 DIALOGEX 10, 10, 300, 200
CAPTION ""
FONT 8, "MS Sans Serif"
STYLE 0x90CA0840
EXSTYLE 0x00000000
CLASS "#32770"
BEGIN
CONTROL "", 1000, EDIT, ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_WANTRETURN | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP, 5, 5, 290, 170
CONTROL "Win » DOS", 1001, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 159, 179, 64, 16
CONTROL "DOS » Win", 1002, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 231, 179, 64, 16
END
Источник: (он довольно древний, прошу строго не судить)
.386
.model flat, stdcall
includemasm32\include\windows.inc
includemasm32\include\user32.inc
includemasm32\include\kernel32.inc
includemasm32\include\gdi32.inc
includelibmasm32\lib\user32.lib
WndProcPROTO :DWORD, :DWORD, :DWORD, :DWORD
SetLayeredWindowAttributesPROTO :DWORD, :DWORD, :DWORD, :DWORD
.data
dlgnamedd 100
.data?
hInstancedd ?
sysMenudd ?
textdb 30000 dup(?)
.const
LMA_ALPHA equ 2
LMA_COLORKEY equ 1
WS_EX_LAYERED equ 80000h
.code
Main:
INVOKEGetModuleHandle, NULL
mov hInstance, eax
INVOKEDialogBoxParam, hInstance, dlgname, 0, ADDR WndProc, 0
INVOKEExitProcess, eax
WndProcPROChWin :DWORD, uMsg :DWORD, wParam :DWORD, lParam :DWORD
.if uMsg == WM_INITDIALOG
INVOKEGetWindowLongA,hWin,GWL_EXSTYLE
or eax,WS_EX_LAYERED
INVOKESetWindowLongA, hWin, GWL_EXSTYLE, eax
INVOKESetLayeredWindowAttributes, hWin, 220, 220, LMA_ALPHA
INVOKEGetSystemMenu, hWin, 0
mov sysMenu, eax
INVOKEDeleteMenu, sysMenu, 5, MF_BYPOSITION
INVOKEDeleteMenu, sysMenu, SC_SIZE, MF_BYCOMMAND
INVOKEDeleteMenu, sysMenu, SC_MAXIMIZE, MF_BYCOMMAND
INVOKEDeleteMenu, sysMenu, SC_RESTORE, MF_BYCOMMAND
.elseif uMsg == WM_COMMAND
.if wParam == 1001
INVOKEGetDlgItemText, hWin, 1000, ADDR text, 30000
INVOKECharToOem, ADDR text, ADDR text
INVOKESetDlgItemText, hWin, 1000, ADDR text
.elseif wParam == 1002
INVOKEGetDlgItemText, hWin, 1000, ADDR text, 30000
INVOKEOemToChar, ADDR text, ADDR text
INVOKESetDlgItemText, hWin, 1000, ADDR text
.endif
.elseif uMsg == WM_CLOSE
INVOKEEndDialog, hWin, 0
.endif
xor eax, eax
ret
WndProc endp
end Main
*.rc:
#include "masm32\include\resource.h"
1 24 "F:\\Другие\\mf.manifest"
100 DIALOGEX 10, 10, 300, 200
CAPTION ""
FONT 8, "MS Sans Serif"
STYLE 0x90CA0840
EXSTYLE 0x00000000
CLASS "#32770"
BEGIN
CONTROL "", 1000, EDIT, ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_WANTRETURN | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP, 5, 5, 290, 170
CONTROL "Win » DOS", 1001, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 159, 179, 64, 16
CONTROL "DOS » Win", 1002, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 231, 179, 64, 16
END
в edit из cmd его открой, все ок должно быть. а еще akelpad может помочь (бывает в комплекте с total commander)
открой Notepad++-ом и выбери кодировку OEM 866
перевожу:
«S1, S2 : Real; { S1, S2 - ясммш Элеменров, Р яположешу иже и вшье гл вой ди го ли, яоорверярвео}»
перевожу:
«S1, S2 : Real; { S1, S2 - ясммш Элеменров, Р яположешу иже и вшье гл вой ди го ли, яоорверярвео}»
в том же блокноте сохранить как и меняешь кодировку на нужную тебе
Похожие вопросы
- Проблемы с кодировкой на сайте.
- Кодировка на apache
- Кодировка на сайте (HTML)
- Денвер. порблемма с кодировкой.
- Как сделать правильное отображения русского текста, какую кодировку поставить. (MySQL, PHP)
- Кодировка UTF-8.
- На Паскаль!! Вывести на экран в столбик все слова введённого текста, исправить опечатки и напечатать исправленный текст.
- Какую все же кодировку при создание веб страниц лучше использовать? utf-8 или win1251? и почему?
- Проблемы с кодировкой в компиляторе Borland C++ Builder
- Как поменять кодировку в htm тексте с IBM866 чтобы прочитать его?