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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.12.2003, 18:53   #1  
POS is offline
POS
Участник
 
8 / 10 (1) +
Регистрация: 17.11.2003
Вот - про быстр. Ексель, буфер обмена, и т.д.
PHP код:
//Сначала

    
com         XLSBookXLSWorkSheetXLScellsXLSrangeXLSTemp;

    
integer     hGlobalTextLocked;
    
integer     hGlobalText;
    
binary      bText;
    
str             s1 'Бла Бла Бла'
    
;


    
//Для последующего использования определяем XLSWorkSheet и XLScells. XLSrange будет определяться позже.
    
XLSBook excelDocument.getComDocument();
    
XLSWorkSheet =  XLSBook.ActiveSheet();
    
XLScells XLSWorkSheet.Cells();

   
s1+=num2char(9)+s1;

//Потопали выводить
        
XLSrange XLScells.Range(ComExcelDocument_RU::numToNameCell(,counter+1  ));
        
XLSrange.select();
//Подготовили
        
bText = NEW Binary(45);
        
hGlobalText WinAPI::globalAlloc(8256,45); // (флаги, размер - можно и 2500 ставить)
        
hGlobalTextLocked WinAPI::globalLock(hGlobalText);
        
bText.attach(hGlobalTextLocked,45);
        
bText.String(0s1);
        
WinAPI::openClipboard(clpBrd);
        
WinAPI::emptyClipboard();
        
SmmUtility::setClipboardData(1,hGlobalText);
        
WinAPI::closeClipboard();
//вставили
        
XLSWorkSheet.paste();
//почистили буфер
        
WinAPI::openClipboard(clpBrd);
        
WinAPI::emptyClipboard();
        
WinAPI::closeClipboard();
//почистили память
        
hGlobalTextLocked WinAPI::globalUnLock(hGlobalText);
        
hGlobalText WinAPI::globalFree(hGlobalText);
        
bText.finalize();
        
s1='';

//Примерно так 

Эта зараза встраивается методом в ComExcelDocument_RU, и использует для массового вывода данных системный буфер обмена.
Если где чего ошибся, или непонятно буит, могу не эти "размышления" подкинуть, а готовый метод для вышеназванного класса. Почти (только по стрингам) совместимый с InsertValue...


Просьба помидорами не кидать!:D
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
фильтр на копировании в буфер обмена Nikolaich DAX: Программирование 15 26.02.2009 21:10
Тормозит копирование строк в буфер обмена ivas DAX: Программирование 20 21.08.2007 15:05
Системный буфер обмена LiSA DAX: Программирование 15 01.04.2006 13:00
Не копирует из display-метода в буфер обмена akvi DAX: Программирование 6 08.12.2005 13:14
Буфер обмена novic DAX: Программирование 1 06.06.2005 08:11

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

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

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