Автор | Сообщение |
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 05.12.06 12:01. Заголовок: Exel
Вот такая ситуация.. При выводе в ексель ломает кодировку . Конкретно -метод Paste() Никто не боролся с такой бедой? Кстати в TsBrowse 7 при экспорте в ексель такая же жаба :( if !empty( cStr ) cStr:=OemToAnsi(cStr) oClip:SetText( cStr ) oExc:SetPos( "A" + alltrim( str( m ) ) ) oExc:Paste() oClip:Clear() m ++ endif
|
|
|
Ответов - 6
[только новые]
|
|
|
| Администратор
|
Пост N: 418
Зарегистрирован: 23.05.05
|
|
Отправлено: 05.12.06 13:48. Заголовок: Re:
Для oem кодировки надо oClip := TClipboard():new(7, oWnd) // CF_OEMTEXT для ansi oClip := TClipboard():new(1, oWnd) // CF_TEXT
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 05.12.06 14:19. Заголовок: Re:
Pasha пишет: цитата: | Для oem кодировки надо oClip := TClipboard():new(7, oWnd) // CF_OEMTEXT для ansi oClip := TClipboard():new(1, oWnd) // CF_TEXT |
| Это ничего не дает. Клипборд отрабатывает свой хлеб чесТно :)) oClp:GetText() дает правильную кодировку и oExc:Say() тоже на "ура" . А вот oExc:Paste() :((
|
|
|
|
| Администратор
|
Пост N: 419
Зарегистрирован: 23.05.05
|
|
Отправлено: 05.12.06 15:02. Заголовок: Re:
Действительно не работает вместо SetText можно использовать SetData, чтобы формат сработал я заменил oClip := TClipboard():new(7) oClip:open() oClip:empty() // cStr:=OemToAnsi(cStr) oClip:SetData( cStr ) oClip:Close() но oExc:Paste() выдает ошибку
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 05.12.06 15:58. Заголовок: Re:
Pasha пишет: цитата: | но oExc:Paste() выдает ошибку |
| И к кому теперь ехать драться ? !!! :)) Где править? :) Можно и без "пасты" но , зараза, медленнеееее работает!
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 07.12.06 15:55. Заголовок: Re:
ММК пишет: Еще такой моментик. Предположим , что oExc:Paste() работает. Действительно , на отдельных машинах ХР работает правильно. Но не улавливаю разницы в настройках системы( или офиса? ) А где и нет :( А как на 98 винде?
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 26.01.07 10:05. Заголовок: Re:
ММК пишет: цитата: | Действительно , на отдельных машинах ХР работает правильно. А где и нет :( А как на 98 винде? |
| Проблемы в руссификации винды. Вот для ХР reg файлик: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage] "1252"="c_1251.nls" [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes] "Arial,0"="Arial,204" "Comic Sans MS,0"="Comic Sans MS,204" "Courier,0"="Courier New,204" "Microsoft Sans Serif,0"="Microsoft Sans Serif,204" "Tahoma,0"="Tahoma,204" "Times New Roman,0"="Times New Roman,204" "Verdana,0"="Verdana,204" Для 98-й : REGEDIT4 [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\Codepage] "1250"="cp_1251.nls" "1251"="cp_1251.nls" "1252"="cp_1251.nls" "1253"="cp_1251.nls" "1254"="cp_1251.nls" "1255"="cp_1251.nls" Для Windows 9х может понадобится подправить файл win.ini . Для этого в разделе [FontSubstitutes] допишите строки: Arial,0=Arial,204 Comic Sans MS,0=Comic Sans MS,204 Courier,0=Courier New,204 Microsoft Sans Serif,0=Microsoft Sans Serif,204 Tahoma,0=Tahoma,204 Times New Roman,0=Times New Roman,204 Verdana,0=Verdana,204
|
|
|
|