AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.03.2006, 15:34   #1  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 20.08.2005
По поводу переключения раскладки - можно не заморачиваться с ней, а воспользоваться PasteSpecial
X++:
    COMExcelDocument_RU excel = new COMExcelDocument_RU();
    TextBuffer      tb = new TextBuffer();
    COM             Doc;
    COM             app;
    COM             sheet;
    COM             cell;
    ;
    excel.newFile();
    doc = excel.getComDocument();
    app = doc.Application();
    sheet = app.ActiveSheet();
    cell = sheet.Range("B2");
    cell.Select();
    tb.setText("Строка1\tКолонка2\nСтрока2\tКолонка2\nСтрока3\tКолонка2\nСтрока4\tКолонка2");
    tb.toClipboard();

    sheet.PasteSpecial(COMVariant::createFromStr("Текст"));
__________________
Axapta v.3.0 sp5 kr2
Старый 29.03.2006, 10:36   #2  
LiSA is offline
LiSA
Участник
 
19 / 10 (1) +
Регистрация: 28.03.2006
Господа доброе утро! Подскажите кто знает, предположит что при экспорте данных из Axapta в Excel, я использую буфер обмена - естественно системный буфер теряется; вопрос - как сохранить его, а потом вернуть обратно? Пытался использовать TextBuffer userBuffer = new TextBuffer();
но он прокатывает только для текста, а если картинка ну или вообще что либо?

Последний раз редактировалось LiSA; 29.03.2006 в 10:43.
Старый 29.03.2006, 12:16   #3  
Roman777 is offline
Roman777
NavAx
Аватар для Roman777
NavAx Club
 
320 / 64 (3) ++++
Регистрация: 10.02.2005
Адрес: г. Москва
Есть способ узнать раскладку клавиатуры:
1. Добавляем функцию в класс WinApi:
Код:
client static int GetKeyboardLayout (int     _idThread)
{
    DLL         _winApiDLL              = new DLL('USER32');
    DLLFunction _getKeyboardLayout      = new DLLFunction(_winApiDLL, 'GetKeyboardLayout');

    _getKeyboardLayout.returns(ExtTypes::DWord);
    _getKeyboardLayout.arg(ExtTypes::DWord);

    return _getKeyboardLayout.call(_idThread);
}
Входящий параметр - идентифицирует поток, который делает запрос или обнуляется для текущего потока,
Возвращаемое значение - идентификатор языка ввода данных потока. Младшее слово содержит Идентификатор Языка для языка ввода данных, а старшее слово содержит дескриптор устройства к физической раскладки клавиатуры.
409 (HEX) - английская раскладка,
419 (HEX) - русская раскладка

2. Вызываем так:

Код:
static void Job4(Args _args)
{
    int     res;
    ;

    res = WinApi::GetKeyboardLayout(0) & 0xffff;
    switch (res)
    {
        case 0x409:
            Info('EN');
            break;
        case 0x419:
            Info('RU');
            break;
        default :
            Info('Unknown');
    }
}
Старый 29.03.2006, 12:20   #4  
LiSA is offline
LiSA
Участник
 
19 / 10 (1) +
Регистрация: 28.03.2006
Roman777 спасибо!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Исследование скорости экспорта данных из Axapta в Excel (коллективный эксперимент) Gustav DAX: База знаний и проекты 79 13.02.2014 13:18
Вставка строки в Excel A-Lis-A DAX: Программирование 2 27.09.2007 12:03
[Excel] - Несколько версий Excel на машине клиента Андре DAX: Программирование 11 07.08.2007 13:45
Вставка рисунка в колонтитул Excel pasha_isaev DAX: Программирование 10 09.05.2007 10:35
вставка знач. из Ax в Excel в именованую ячейку Denicce DAX: Программирование 6 15.09.2005 16:25

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 12:24.