Известный компонент для работы с ICQ-протоколом. - соединение с сервером и изменение данных - управление visible, invisible, ignore-листами и много, много чего еще, включая импорт сообщений из Miranda-icq 1.2.1
Есть хэлп на русском и английском.
Новая версия компоненты С исходными текстами Компонента из раздела: Internet: Other
Источник: www.torry.net
Автор: Alex Demchenkohttp://www.cobans.net -= · VCL · Samples · =- [Перевел: V.exeR]
Компонент, использующий 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 Gourvesthttp://www.progdigy.com/ -= · VCL · Samples · =- [Перевел: V.exeR]
Для уменьшения объема писем здесь публикуется не весь список новых компонент, потому заглядывайте и на сайт!
// Маленькая процедурка -- на которой я тестировал вообще коннект к Excel procedure TForm1.ButtonClick(Sender: TObject); var Excel : Variant; WorkSheet : Variant; I, J : Integer; begin if OpenDialog.Execute thenbegin 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 dobegin 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 ) thenbegin Excel := CreateOleObject( Reg.ReadString( 'Enema','Excel', 'Excel.Application.8' )); endelsebegin Excel.Workbooks.Close; end; Excel.Visible := False; Excel.Workbooks.Open( FileName ); finally Reg.Free; end; end;
//Пример загрузки списка листов таблицы // Ейный вызов MainForm.LoadLists(Excel.Workbooks[1] ); // -- я предпологаю что открыт 1 файл... procedure TMainForm.LoadLists(WorkBooks: Variant); var I : Integer; begin if not VarIsNull( WorkBooks ) thenbegin ExcelListBox.Items.Clear; // TComboBox for I := 1 to WorkBooks.WorkSheets.Count dobegin 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 dobegin 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.
Стиль: саморазрушение
Сегодня был такой случай: уничтожается обьект, метод которого в стеке вызовов процедур. Естественно, если после ...
ПОМОГИТЕ ! Косяк с UPDATE (LocalSQL)
Большой трабл происходит, простите за жаргон. Существуют две таблицы: клиенты и заказы, отмечаем галочками клиентов, ...
oracle
Народ, как из дельфи работать с оракловыми базами без установки БДЕ и тд.? На компе установлен оракл, но нет ни дельфи, ...
Обработка ошибки при работе с Table
Проблема в том, что не вызывается код обработки ошибки ни после except, ни после finally, а сразу вылетает из процедуры ...
Можно ли отловить нажатие Reset'а?
Собственно, сабж. Бывало, винда так повиснет, что ресет не действует, только тумблер сзади корпуса. Значит, можно его ...
Delphi 6 в подлиннике
Delphi 6 - новая версия популярной системы быстрой разработки приложений. В книге описываются инструментальные средства среды Delphi 6, приводятся основы языка программирования Object Pascal и рассматриваются компоненты, свойства, методы и события, необходимые для разработки широкого спектра программ. Особое внимание уделяется работе с базами данных. Показывается использование как локальных, так и удаленных баз данных, включая создание многоуровневых информационных систем и публикацию результатов запросов через Интернет. Благодаря большому количеству затронутых тем, подробному изложению и многочисленным примерам книга будет полезна как начинающим, так и опытным программистам.
Автор: Гофман В.
Дорогие друзья! Мы рады представить вам новый совместный проект сайтов www.rsdn.ru, delphi.mastak.ru и www.optim.ru - профессиональный журнал для программистов RSDN Magazine.
Несомненно, ваше мнение о необходимости такого журнала, содержании рубрик и темах отдельных статей поможет сделать журнал более полезным и интересным. Высказать свое мнение, проголосовать или же подписаться вы можете на сайте. Без вашего участия, нам будет трудно сделать правильный журнал!
На сайте выложен анонс пилотного выпуска журнала, вступительное слово от редакции.
Для души
Хокку дня
Знать неспроста Повешен на ручку двери Левый носок...
Афоризмы
Чем больше вы скажете, тем меньше люди запомнят....(Ф.Фенелон)
Фраза дня
Любовь - это торжество воображения над интеллектом.
Дурацкие законы (информация предоставлена сайтом kurilka.com)
В Денвере (США) запрещается ездить по воскресеньям на машинах черного цвета.
В городе Стерлинг в Колорадо (США) запрещается выпускать кошек гулять, если они “не имеют сзади световых отражателей”.
И на закуску коротенький анекдот
- Скажите, доктор, а идиот - это заболевание? - Для Вас, голубчик, - выздоровление!