Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Мастера DELPHI. Новости мира компонент, FAQ, статьи...


Информационный Канал Subscribe.Ru

Ежедневная рассылка сайта Мастера DELPHI

DELPHI.mastak.ru

Выпуск от 31.10.02 09:04

Вышел очередной дайджест форумов. Скачать можно здесь
Новые компоненты   |x|
  • TICQClient v.1.18f (185kb) (30.10.02 21:14)
    Известный компонент для работы с ICQ-протоколом.
    - соединение с сервером и изменение данных
    - управление visible, invisible, ignore-листами
    и много, много чего еще, включая импорт сообщений из Miranda-icq 1.2.1

    Есть хэлп на русском и английском.

    Новая версия компоненты
    С исходными текстами
    Компонента из раздела: Internet: Other
    Источник: www.torry.net   Автор: Alex Demchenko http://www.cobans.net
    -= · VCL · Samples · =- [Перевел: V.exeR]

  • TMS Grid Pack v.1.6 (2365kb) (30.10.02 21:05)
    Набор всяких табличных компонент.

    Новая версия компоненты
    Компонента из раздела: Grids: Packs
    Источник: www.torry.net   Автор: TMS Software http://www.tmssoftware.com
    -= · VCL · =- [Перевел: V.exeR]

  • DSPack v.2.0 (1936kb) (30.10.02 20:57)
    Компонент, использующий Direct Show API и Windows Media Format API (DirectX 8.1
    и WMF 7.1 совместимые).
    Играет DVD, DIVX, MP3 и проч ..
    Захват и сжатие потоков с вебкамеры, работа с интернет-потоками и проч.
    Запись ASF файлов, потоков MP3, ASF WMA, WMV.

    Новая версия компоненты
    С исходными текстами
    Компонента из раздела: Effects and Multimedia: Video
    Источник: www.torry.net   Автор: Henri Gourvest http://www.progdigy.com/
    -= · VCL · Samples · =- [Перевел: V.exeR]

  • Для уменьшения объема писем здесь публикуется не весь список новых компонент, потому заглядывайте и на сайт!
Лучшее из нашего FAQ   |x|
Пример работы через OLE с Exel
Пример от Зимина Александра

// Маленькая процедурка -- на которой я тестировал вообще коннект к Excel
procedure TForm1.ButtonClick(Sender: TObject);
var
 Excel : Variant;
 WorkSheet : Variant;
 I, J  : Integer;
begin
 if OpenDialog.Execute then begin
   Excel := CreateOleObject( InputBox('OleStr', 'CreateOleObject',
   'Excel.Application.8') );
   Excel.Visible := False;
   Excel.Workbooks.Open( OpenDialog.FileName );
   WorkSheet := Excel.Workbooks[1].WorkSheets[1];
   ListView.Columns.Clear;
   ListView.Items.Clear;
   for I := 1 to WorkSheet.Cells.CurrentRegion.Columns.Count do
      ListView.Columns.Add.Caption := VarToStr( WorkSheet.Cells[1,I! ] );
   for I := 1 to WorkSheet.Cells.CurrentRegion.Rows.Count do
    with ListView.Items.Add do begin
     Caption := VarToStr( WorkSheet.Cells[I,1] );
     for J := 2 to WorkSheet.Cells.CurrentRegion.Columns.Count do
       SubItems.Add( VarToStr( WorkSheet.Cells[I,J] ));
   end;
   Excel.Workbooks.Close;
   Excel.Quit;
 end;
end;

{
Кусочки из программы, которая читала Excel и кидала дату в SQL базу,
Прога была одаптирована к конторской конкретике, поэтому целиком её
кидать бессмысленно.
}

//Коннект... С простой мыслей о том что неизвесто с какой именно
// версией объекта придется работать
procedure TEnemaDM.ConnectToExcelServer(FileName: String);
var!
 Reg : TRegIniFile;
begin
 Reg := TRegIniFile.Create( 'SOFTWARE\');
 if (FileExists( FileName ))and
    (UpperCase(ExtractFileExt( FileName )) = '.XLS' ) then try
   if VarIsEmpty( Excel ) then begin
     Excel := CreateOleObject( Reg.ReadString( 'Enema','Excel',
      'Excel.Application.8' ));
   end else begin
     Excel.Workbooks.Close;
   end;
   Excel.Visible := False;
   Excel.Workbooks.Open( FileName );
 finally
   Reg.Free;
 end;
end;

procedure TEnemaDM.DisconnectExcelServer;
begin
 try
   try
     Excel.Quit;
   except
   ! end;
 finally
   VarClear( Excel );
 end;
end;


//Пример загрузки списка листов таблицы
// Ейный вызов MainForm.LoadLists(Excel.Workbooks[1] );
//  -- я предпологаю что открыт 1 файл...
procedure TMainForm.LoadLists(WorkBooks: Variant);
var
 I : Integer;
begin
 if not VarIsNull( WorkBooks ) then begin
   ExcelListBox.Items.Clear; // TComboBox
   for I := 1 to WorkBooks.WorkSheets.Count do begin
     ExcelListBox.Items.Add( VarToStr( WorkBooks.WorkSheets[I].Name ));
   end;
 end;
end;


// Сама процедура загрузки перекачивает данные в некую хранимую процедуру
// Вызывалас! ь как LoadExcel( Excel.Workbooks[1].WorkSheets[MainForm.CurrentList] )
procedure TEnemaDM.LoadExcel( WorkSheet : Variant );
var
 I : Integer;
 ErrorList : TStrings;
begin
 with MainForm do try
   ErrorList := TStringList.Create;
   try
     for I := 1 to WorkSheet.Cells.CurrentRegion.Rows.Count do begin
       try
        ХранимаяПроцедура.ParamByName( параметр ).AsString :=
            VarToStr(
          WorkSheet.Range[наименование региона в символах Excel. см Help].Cells[I,1] );
        ХранимаяПроцедура.ExecProc;
       except
         on E : Exception do ErrorList.Add( GetErrorCurrentValue +
        &nb! sp;                #32 + E.Message );
       end;
     end;
     if ErrorList.Count = 0 then
        MessageDlg( 'Данные успешно успешно загружены' ,
    mtInformation, [mbOk], 0 )
     else
       ФормочкаДляОшибок.SetErrorList( ErrorList );
   finally
     ErrorList.Free;
   end;
 except
   on E : Exception do MessageDlg( E.Message, mtError, [mbOk], 0 );
 end;
end;


Коментарий от Yur Ovchinnikov (yur@sammit.kiev.ua)

 cls_ExcelObject := 'Excel.Application';
 regData := TRegistry.Create;
 regData.RootKey := HKEY_CLASSES_ROOT;
 try
   if regData.Op! enKey('\Excel.Application\CurVer', False) then
    begin
     cls_ExcelObject := regData.ReadString('')
     regData.CloseKey;
    end
 finally
   regData.Free;
 end;

Это для того, чтобы не применять локальные для каждой версии названия "Excel.Application.8", "Excel.Application.9".
Ко всему прочему приведенный пример не работает с Excel95.

»»» Прислать свои комментарии

Обсуждается в конференциях   |x|
У нас большой выбор статей   |x|
DirectX (Игровой SDK) Часть 7
Часть 7 (Использование класса DDCanvas, Улучшение нашего изображения,
А что по поводу палитр?)
Новинки книжного рынка   |x|
Delphi 6 в подлиннике
Delphi 6 - новая версия популярной системы быстрой разработки приложений. В книге описываются инструментальные средства среды Delphi 6, приводятся основы языка программирования Object Pascal и рассматриваются компоненты, свойства, методы и события, необходимые для разработки широкого спектра программ. Особое внимание уделяется работе с базами данных. Показывается использование как локальных, так и удаленных баз данных, включая создание многоуровневых информационных систем и публикацию результатов запросов через Интернет. Благодаря большому количеству затронутых тем, подробному изложению и многочисленным примерам книга будет полезна как начинающим, так и опытным программистам.
Автор: Гофман В.
Другие сайты о DELPHI   |x|
САМЫЙ БОЛЬШОЙ КАТАЛОГ РЕСУРСОВ ПО ПРОГРАММИРОВАНИЮ
спешите добавить туда свой ресурс

» Оценка сайта: 3
Опрос населения :)
Стоит ли сделать англоязычную версию этого сайта?
»»» Да
»»» Нет
Журнал "RSDN Magazine"  |x|

Дорогие друзья! Мы рады представить вам новый совместный проект сайтов www.rsdn.ru, delphi.mastak.ru и www.optim.ru - профессиональный журнал для программистов RSDN Magazine.
Несомненно, ваше мнение о необходимости такого журнала, содержании рубрик и темах отдельных статей поможет сделать журнал более полезным и интересным. Высказать свое мнение, проголосовать или же подписаться вы можете на сайте. Без вашего участия, нам будет трудно сделать правильный журнал!
На сайте выложен анонс пилотного выпуска журнала, вступительное слово от редакции.

Для души

Хокку дня
Знать неспроста
Повешен на ручку двери
Левый носок...

Афоризмы
Чем больше вы скажете, тем меньше люди запомнят....(Ф.Фенелон)

Фраза дня
Любовь - это торжество воображения над интеллектом.

Дурацкие законы (информация предоставлена сайтом kurilka.com)
В Денвере (США) запрещается ездить по воскресеньям на машинах черного цвета.
В городе Стерлинг в Колорадо (США) запрещается выпускать кошек гулять, если они “не имеют сзади световых отражателей”.

И на закуску коротенький анекдот
- Скажите, доктор, а идиот - это заболевание?
- Для Вас, голубчик, - выздоровление!

Фотоприколы.
Начните день с хорошего настроения!
http://delphi.mastak.ru/cgi-bin/prikol.pl?id=19471


На этом позвольте откланяться и пожелать вам удачного дня.
Искренне ваш, Алексей (delphi@mastak.com)

Добро пожаловать на сайт -= Мастера DELPHI =- 

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное