Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
21.04.2004, 15:20
|
|||
|---|---|---|---|
Проблема с Unicode |
|||
|
#18+
Я использую ActiveX-компонент для записи на CD-R/RW. Он принимает параметры(откуда и что писать, и куда) в Unicode. Имена файлов и папок с английскими именами отображаются в проводнике (и других прогах) нормально, а с русскими - абра-кодабра. Как решить эту проблему(может с реестром поколдовать)? Или это компонент глючит? C ув. Tors ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.04.2004, 17:13
|
|||
|---|---|---|---|
Проблема с Unicode |
|||
|
#18+
Если это ActiveX-компонент, то следовательно, ты используешь его в какой-то программе. Можно пример, пожалуста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.04.2004, 17:40
|
|||
|---|---|---|---|
Проблема с Unicode |
|||
|
#18+
Программа не маленькая, привожу пример OnClick кнопки "Записать" Предварительно формирую вектор: struct Files { String Source; String Dest; bool isFolder;// true - папка, false - файл }; vector<Files> f; . . . void __fastcall TForm1::Button3Click(TObject *Sender) { if(!(bool)CDWriterXP->IsMediaLoaded()) { ShowMessage("Вставте диск"); return; } if(!(bool)CDWriterXP->IsDiscRewritable()) { ShowMessage("Диск не является перезаписываемым!!!"); return; } int sz=f.size(); if(sz==0) { ShowMessage("Нечего писать"); return; } for(int i=0;i<sz;i++) { wchar_t *s=L""; wchar_t *d=L""; String dst=f .Dest; String src=f.Source; if(f.isFolder) { src+="\\*.*"; dst="\\"+dst; s=StringToOleStr(src); d=StringToOleStr(dst); CDWriterXP->CloneDirectoryToISO(d,s);//принимает wchar_t * } else { String dstf="\\"+dst; s=StringToOleStr(src); d=StringToOleStr(dstf); CDWriterXP->InsertISOItem(d,s);//принимает wchar_t * } } CDWriterXP->WriteType=wtpData; CDWriterXP->CloseSession=true; CDWriterXP->CloseDisc=FinCheckBox->Checked; CDWriterXP->TestWrite=TestCheckBox->Checked; CDWriterXP->CacheDataTrack=true; if(DiskNameEdit->Text=="") DiskNameEdit->Text="Quant"; CDWriterXP->VolumeIdentifier=DiskNameEdit->Text; CDWriterXP->SetWriteSpeed(speeds[SpComboBox->ItemIndex]); CDWriterXP->WriteDisc(); } C ув. Tors ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.04.2004, 17:53
|
|||
|---|---|---|---|
Проблема с Unicode |
|||
|
#18+
Как я понял, компонент копирует папки с жесткого диска на CD, и в скопированных файлах русские символы заменяются на крякозябры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.04.2004, 18:08
|
|||
|---|---|---|---|
Проблема с Unicode |
|||
|
#18+
... и в скопированных файлах русские символы заменяются на крякозябры. Вроде бы я об этом говорил в самом начале. Как эту проблему решить? Может в рестре чего поправить? В настройках винды? Или я чегото не то напрграммерствовал? C ув. Tors ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
21.04.2004, 21:17
|
|||
|---|---|---|---|
Проблема с Unicode |
|||
|
#18+
Попробуй выводить свой код. Кстати, на какие крякозябры заменяется текст? Здесь может быть 2 варианта 1) Замена производится в твоем коде, надо эксперементировать 2) Замена производится в элементе, тогда надо искать другую версию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.04.2004, 10:07
|
|||
|---|---|---|---|
Проблема с Unicode |
|||
|
#18+
Кстати, на какие крякозябры заменяется текст? На такие : Íîâàÿ В оригинале : Новая Проблема не в моем коде. Я вызываю(для уже записанного CD) метод компонента, который импортирует предыдущие сесси. При этом вызывается событие, в параметрах которого передаются данные об импортируемых файлах и папках. void __fastcall TForm1::CDWriterXPISOItemAdded(TObject *Sender, BSTR ParentDestPath, BSTR ItemDestPath, BSTR ItemName, BSTR SourceFilePath, VARIANT_BOOL IsDirectory, DATE FileDate, long FileSize) { Caption=OleStrToString(ItemDestPath); } Caption присваивается правильное имя папки или файла на русском!!! Кстати подскажите аналоги API для работы с файлами под Unicode. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
22.04.2004, 10:43
|
|||
|---|---|---|---|
Проблема с Unicode |
|||
|
#18+
HANDLE h=CreateFileW(L"g:\\new\\рис1.bmp", GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); if(h==INVALID_HANDLE_VALUE) { ShowMessage("Файл не найден"); } else ShowMessage("Файл найден!!!!!"); CloseHandle(h); Для английских имен работает для русских нет, вот хр... C ув. Tors ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=26&mobile=1&tid=1515991]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
75ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 16ms |
| total: | 184ms |

| 0 / 0 |
