Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Sergey_rbDima Tпропущено... Так делал 20583452 ? Что получилось? Как я и писал, при первом параметре 1252 выдает количество перекодированных символов, при 1251 выдает 0 и соответственно пустой текст. Мдя ... там пример как код ошибки посмотреть. Если получил 0, то для получения кода ошибки надо вызвать GetLastError(). Что он вернул когда 0? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 12:33 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
А файл 1251.nls физически имеется ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 12:35 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Sergey_rbпри первом параметре 1252 выдает количество перекодированных символов, при 1251 выдает 0 и соответственно пустой текст. Но как именно ты задавал этот параметр, ты, конечно же, не покажешь. Sergey_rbТак я здесь и спрашиваю совет программистов. Совет программистов: проверяй результат функции, выводи код ошибки. Даётся тебе уже не первый раз. Но ты ему не следуешь. Назачем тогда спрашиваешь? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 12:45 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Dima TSergey_rbпропущено... Как я и писал, при первом параметре 1252 выдает количество перекодированных символов, при 1251 выдает 0 и соответственно пустой текст. Мдя ... там пример как код ошибки посмотреть. Если получил 0, то для получения кода ошибки надо вызвать GetLastError(). Что он вернул когда 0? Код ошибки 120 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 13:06 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovSergey_rbпри первом параметре 1252 выдает количество перекодированных символов, при 1251 выдает 0 и соответственно пустой текст. Но как именно ты задавал этот параметр, ты, конечно же, не покажешь. Sergey_rbТак я здесь и спрашиваю совет программистов. Совет программистов: проверяй результат функции, выводи код ошибки. Даётся тебе уже не первый раз. Но ты ему не следуешь. Назачем тогда спрашиваешь? Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 13:08 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Sergey_rbMultiByteToWideChar(1252,0,rbuff,-1,tbuf,sizeof(rbuff)); Ты хочешь перекодировать из 1251, а пишешь 1252. Логика, блин! И с чего ты взял, что у тебя в rbuff лежит null-terminated строка? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 13:16 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Sergey_rbDima Tпропущено... Мдя ... там пример как код ошибки посмотреть. Если получил 0, то для получения кода ошибки надо вызвать GetLastError(). Что он вернул когда 0? Код ошибки 120 Если я правильно понял, то ошибка 120 это: 120: Эта функция не поддерживается для этой системы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 13:19 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovSergey_rbMultiByteToWideChar(1252,0,rbuff,-1,tbuf,sizeof(rbuff)); Ты хочешь перекодировать из 1251, а пишешь 1252. Логика, блин! И с чего ты взял, что у тебя в rbuff лежит null-terminated строка? Потому что с параметром 1251 функция выдает ошибку. Со строками все в порядке, т.к. с кодовой страницей 1251 работает корректно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 13:20 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Sergey_rbDima Tпропущено... Мдя ... там пример как код ошибки посмотреть. Если получил 0, то для получения кода ошибки надо вызвать GetLastError(). Что он вернул когда 0? Код ошибки 120 https://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx ERROR_CALL_NOT_IMPLEMENTED 120 (0x78) This function is not supported on this system. Если с 1252 вызывается, а с 1251 эта ошибка, то похоже что виндовс не знает как перекодировать из 1251. Как его этому научить - не подскажу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 13:26 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Dima TЕсли с 1252 вызывается, а с 1251 эта ошибка, то похоже что виндовс не знает как перекодировать из 1251. Или, что вероятнее, аффтар опять написал какую-то фигню и возвращаемый код - совсем от другой функции. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 13:33 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Dima TSergey_rbпропущено... Код ошибки 120 https://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx ERROR_CALL_NOT_IMPLEMENTED 120 (0x78) This function is not supported on this system. Если с 1252 вызывается, а с 1251 эта ошибка, то похоже что виндовс не знает как перекодировать из 1251. Как его этому научить - не подскажу. Именно так - с 1252 переводится, а с 1251 -нет. Поэтому нужна функция перекодировки, не зависимая от кодовой страницы винды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 13:35 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovDima TЕсли с 1252 вызывается, а с 1251 эта ошибка, то похоже что виндовс не знает как перекодировать из 1251. Или, что вероятнее, аффтар опять написал какую-то фигню и возвращаемый код - совсем от другой функции. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 13:36 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Как из кодов символов UTF8 собрать строку? К примеру код символа Код: plaintext 1. эквивалент буквы "А" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 13:40 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Sergey_rbКак из кодов символов UTF8 собрать строку? К примеру код символа Код: plaintext 1. эквивалент буквы "А" Точно UTF-8 ? В твоих примерах выше используется юникод (он же UTF-16). строка это массив символов, последний 0. В юникоде так: Код: plaintext 1. 2. 3. 4. 5. это аналогично Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 13:49 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Sergey_rb Код: sql 1. 2. 3. 4. 5. Ну, как я и сказал, этот хомячок выводит код ошибки MessageBoxW. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 13:50 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Sergey_rbКак из кодов символов UTF8 собрать строку? К примеру код символа Код: plaintext 1. эквивалент буквы "А"Очень просто! Сначала приведи строку в utf8 к unicode по алгоритму кодирования, ссылку на который я давал тебе здесь ранее, а потом можешь работать с такой строкой стандартными средствами - функциями WinAPI. В чем проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 13:53 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
В Лазарусе я использую функцию CP1251ToUTF8 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 13:56 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovSergey_rb Код: sql 1. 2. 3. 4. 5. Ну, как я и сказал, этот хомячок выводит код ошибки MessageBoxW. Странно, но я на экране вижу сообщение MessageBoxW причем без ошибок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 13:58 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Dima TSergey_rbКак из кодов символов UTF8 собрать строку? К примеру код символа Код: plaintext 1. эквивалент буквы "А" Точно UTF-8 ? В твоих примерах выше используется юникод (он же UTF-16). строка это массив символов, последний 0. В юникоде так: Код: plaintext 1. 2. 3. 4. 5. это аналогично Код: plaintext 1. не работает прямое присвоение, пишет ошибку error C2166: l-value specifies const object если поставить в кавычки, то ошибка error C2440: '=' : cannot convert from 'char [7]' to 'const char' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 14:39 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
у меня все работает Код: plaintext 1. 2. 3. 4. 5. 6. только 0xD090 это иероглиф какой-то. Буква А имеет код 0x0410 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 14:46 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Dima Tу меня все работает Код: plaintext 1. 2. 3. 4. 5. 6. только 0xD090 это иероглиф какой-то. Буква А имеет код 0x0410 Тут я ступил, надо брать код UNICODE, а не UTF8 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 14:53 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Sergey_rbDima Tу меня все работает Код: plaintext 1. 2. 3. 4. 5. 6. только 0xD090 это иероглиф какой-то. Буква А имеет код 0x0410 Тут я ступил, надо брать код UNICODE, а не UTF8Потому, что UTF8, в отличие от UNICODE, это не кодировка символов, а некий способ представления кода символа UNICODE в виде байт-последовательности переменной длины. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 15:04 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
Sergey_rbесли поставить в кавычки, то ошибка error C2440: '=' : cannot convert from 'char [7]' to 'const char' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 15:07 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
да что ж у меня привычка CTRL+ENTER давить-то... wchar_t str[4] = L"ААА"; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 15:08 |
|
||
|
Какой извращенец писал MessageBoxW?
|
|||
|---|---|---|---|
|
#18+
rdb_devПотому, что UTF8, в отличие от UNICODE, это не кодировка символов, а некий способ представления кода символа UNICODE в виде байт-последовательности переменной длины. В виндовсе тоже не UNICODE, а UTF-16LE. Как понимаю они совпадают до определенного момента. https://ru.wikipedia.org/wiki/UTF-16 UTF-16LE и UTF-16BE Предусмотрена также возможность внешнего указания порядка байтов — для этого кодировка должна быть описана как UTF-16LE или UTF-16BE (little-endian / big-endian), а не просто UTF-16. В этом случае метка порядка байтов (U+FEFF) не нужна. UTF-16 в ОС Windows Основная статья: Юникод в операционных системах Microsoft В API Win32, распространённом в современных версиях операционной системы Microsoft Windows, имеется два способа представления текста: в форме традиционных 8-битных кодовых страниц и в виде UTF-16. При использовании UTF-16, Windows не накладывает ограничений на прикладные программы касательно кодирования текстовых файлов, позволяя им использовать как UTF-16LE, так и UTF-16BE посредством установки и трактовки соответствующей метки порядка байтов. Однако внутренний формат Windows - всегда UTF-16LE. Этот момент следует учитывать при работе с исполняемыми файлами, использующими юникодовые версии функций WinAPI. Строки в них всегда кодируются в UTF-16LE[1]. В файловых системах NTFS, а также FAT с поддержкой длинных имён, имена файлов записываются также в UTF-16LE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2017, 15:15 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39487484&tid=2018126]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 144ms |

| 0 / 0 |
