|
|
|
FoxPro vs Exel
|
|||
|---|---|---|---|
|
#18+
Помогите если кто знает, а не то скоро совсем свихнусь. Проблемма стоит такая при выводе отчета в Exel или Word при вставке из буфера русский язык превращается в непонятно что. Да и вообще если скопировать из окна Foxa и вставить в другое приложение тоже выводит русский не так. Еще одна особенность если при копированнии в буфер стоит русская расскладка то все работает отлично. Как можно решить данную проблемму не прибегая к API(смене расскладки) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. Заранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 11:04 |
|
||
|
FoxPro vs Exel
|
|||
|---|---|---|---|
|
#18+
Ну, в общем-то, это проблемы и не фокса, и не экселя. Это так работают все NT-подобные винды... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 11:44 |
|
||
|
FoxPro vs Exel
|
|||
|---|---|---|---|
|
#18+
Сходи на forum.foxclub.ru и почитай там про работу с экселем. Там обсуждалось несколько способов, свободных от недостатков примененного тобой способа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 11:47 |
|
||
|
FoxPro vs Exel
|
|||
|---|---|---|---|
|
#18+
Дело в том что мне будет очень сложно перейти от такой "Буферной-технологии" хотелось бы узнать что оказывается в буфере обмена что за кодировка. На худой конец может можно перекодировать буфер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 12:24 |
|
||
|
FoxPro vs Exel
|
|||
|---|---|---|---|
|
#18+
проходящийНу, в общем-то, это проблемы и не фокса, и не экселя. Это так работают все NT-подобные винды... Это проблема именно VFP - он не поддерживает UNICODE. И при обмене с приложением, которое работает с UNICODE (EXCEL) надо дать понять этому приложения в какой кодировке взять символ. Раскладка клавиатуры именно это и делает. С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 12:31 |
|
||
|
FoxPro vs Exel
|
|||
|---|---|---|---|
|
#18+
Не надо булочной, не надо справочной (с) Делайте через массив. Поиск по форуму по слову ArrayPasser ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 12:32 |
|
||
|
FoxPro vs Exel
|
|||
|---|---|---|---|
|
#18+
Огромное Огромное спасибо Crip. Я думаю что это будет лучшим вариантом чем работать через буфер обмена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 12:45 |
|
||
|
FoxPro vs Exel
|
|||
|---|---|---|---|
|
#18+
Aleksey-K проходящийНу, в общем-то, это проблемы и не фокса, и не экселя. Это так работают все NT-подобные винды... Это проблема именно VFP - он не поддерживает UNICODE. И при обмене с приложением, которое работает с UNICODE (EXCEL) надо дать понять этому приложения в какой кодировке взять символ. Раскладка клавиатуры именно это и делает. С уважением, Алексей. Сейчас абсолютно случайно наткнулся на такую вешщь как специальная вставка она есть в контекстном меню там можно выбрать, как вставлять текст UNICODE или просто текстом, если же выбрать UNICODE, то не работает, а текст вставляется отлично. Fox source Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 13:31 |
|
||
|
FoxPro vs Exel
|
|||
|---|---|---|---|
|
#18+
m.a.v Да и вообще если скопировать из окна Foxa и вставить в другое приложение тоже выводит русский не так. У меня копирует-вставляет вроде все нормально (и винда и оффис - оба ХР) Единственная проблема Офиса - если делать копирование в буфер ДО того, как открыт ворд или эксель, тогда независимо откуда копируешь - из фокса или даже блокнота - в ворд или эксель вставляется что-то несуразное. Если же сначала открыть офисное приложение, а ПОТОМ уже скопировать в буфр откуда-то и вставить в документ этот текст - то все нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 14:11 |
|
||
|
FoxPro vs Exel
|
|||
|---|---|---|---|
|
#18+
SRC]_cliptext='' i=3 WAIT WINDOW "Формирую буфер обмена" nowait do while not eof() _cliptext=_cliptext+spis601tek.tekpr+CHR(9)+ALLTRIM(spis601tek.orgname)+CHR(9)+spis601tek.orginn+CHR(9)+; TRANSFORM(spis601tek.sd1)+CHR(9)+TRANSFORM(spis601tek.debet)+CHR(9)+TRANSFORM(spis601tek.kredit)+CHR(9)+TRANSFORM(spis601tek.sd2)+CHR(13) SELECT spis601tek skip ENDDO WAIT WINDOW "Произвожу вставку из буфера обмена" nowait m.losheet.cells(i,1).pastespecial(1)[/src] еще не разу подвела кодировка. В таблица в 1251 кодировке (vfp5). Приложение обработки VFP9 идея почерпнута мною из http://]/topic/160778&hl= Подсказал ВладимирМ Вобщем мне кажется что в винде кодировка по умолчанию 1251 - соответственно и данные в буфер необходимо посылать в этой кодировке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 14:18 |
|
||
|
FoxPro vs Exel
|
|||
|---|---|---|---|
|
#18+
Hi S866! > Вобщем мне кажется что в винде кодировка по умолчанию 1251 - > соответственно и данные в буфер необходимо посылать в этой кодировке Нет. Для не-UNICODE приложений в Clipboard (через _CLIPTEXT или при работе "штатных" Ctrl+C или меню) посылаются данные с указанием той CP, какая раскладка клавиатуры сейчас активна - потому для английской раскладки и получается ерунда. Это кстати описано в MSDN. Без АПИ избавиться от этого IMHO нереально - но вместо принудительной смены раскладки можно пойти "с другой стороны" - заменить "стандартные" методы работы с буфером на прямые АПИ вызовы - при этом конечно можно "руками" загнать в буфер UNICODE-текст и не иметь проблем при вставке. P.S. Кривые методы типа правки таблиц соответствия NLS в реестре конечно ко вниманию не принимаются :) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2006, 00:32 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33598928&tid=1592102]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
180ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 453ms |

| 0 / 0 |
