Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Сокровищница
  
 

Фильтр по датам

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  07:35[Войти] | [Зарегистрироваться]

Обсуждение материала
Процедуры и функции для работы с OpenOffice
Полный текст материала


Другие публикации автора: Владимир Ермаков

Цитата или краткий комментарий:

«... Все в мире развивается по спирали. Раньше программисты разрабатывали механизмы взаимодействия между Delphi и MSExcel, теперь они методом проб и ошибок создают приложения для создания документов в OpenOffice. ...»


Важно:
  • Страница предназначена для обсуждения материала, его содержания, полезности, соответствия действительности и так далее. Смысл не в разборке, а в приближении к истине :о) и пользе для всех.
  • Любые другие сообщения или вопросы, а так же личные эмоции в адрес авторов и полемика, не относящаяся к теме обсуждаемого материала, будут удаляться без предупреждения авторов, дабы не мешать жителям нормально общаться.
  • При голосовании учитывайте уровень, на который расчитан материал. "Интересность и полезность" имеет смысл оценивать относительно того, кому именно предназначался материал.
  • Размер одного сообщений не должен превышать 5К. Если Вам нужно сказать больше, сделайте это за два раза. Или, что в данной ситуации правильнее, напишите свою статью.
Всегда легче осудить сделанное, нежели сделать самому. Поэтому, пожалуйста, соблюдайте правила Королевства и уважайте друг друга.



Добавить свое мнение.

Результаты голосования
Оценка содержания

  Содержит полезные и(или) интересные сведения
[1]1090.9%
 
  Ничего особенно нового и интересного
[2]19.1%
 
  Написано неверно (обязательно укажите почему)
[3]00%
 
Всего проголосовали: 11

Оценка стиля изложения

  Все понятно, материал читается легко
[1]7100%
 
  Есть неясности в изложении
[2]00%
 
  Непонятно написано, трудно читается
[3]00%
 
Всего проголосовали: 7




Смотрите также материалы по темам:
[Работа с OpenOffice]

Комментарии жителей
Отслеживать это обсуждение

Всего сообщений: 17

11-12-2008 02:17
procedure TopofCalc.CloseProg; - почему закрываем только Excel, а Calc?


22-09-2008 05:38
Господа! А не кажется ли вам, что вы перепутали обсуждение статьи с Круглым Столом -- форумом, на котором задаются вопросы по программированию (в том числе, и по работе с OpenOffice)?
 Geo


22-09-2008 02:10
Уважаемые!!!
Может кто сталкивался, помогите пожайлуста!!!

есть процедура записи в ячейку текста
procedure TOpenOfiice.InsertTextByCoord(const Text: String; col, row: integer;
  color_: COLORREF);
begin
Cell := Sheet.getCellByPosition(col, row);
Cell.setString(Text);
Cell.IsCellBackgroundTransparent := TRUE ;
Cell.CellBackColor := color_;
end;
после каждой записи вырастает импользуемая память soffice.bin
CELL освобождаю командой
CELL := Unassigned;

Это можно пережить но есть одно но, когда пытаюсь сделать с лишним сто листов, на каждом листе по 400 записей объем занимаемой памяти soffice.bin
увеличивается до 600 МБт

А после всех записей - он не закрывается т.е. не освобождает память,
закрытие документа делаю следующим образом

Document.Close(True);
OO.Free;//ServiceMangaer
Document:=Unassigned;
Document.Dispose;
Desktop:=Unassigned;
OO := Unassigned;
OO := null;
Document := null;
Desktop := null;

Вопрос: Не подскажите как освободить память, после каждой записи
и в конце при сохранении документа?


06-03-2008 02:34
Имеет смысл запускать диспатчер только при открытии/создании документа со свойством IsVisible=True, иначе результат выполнения executeDispatch будет нулевым (но ошибок не будет)!
 VJ


23-11-2007 04:40
Господа, а как узнать число заполненных строк и столбцов в листе OpenOffice Calc.
В MS Excel можно так:
   xCol := objExelSheet.Cells.CurrentRegion.Columns.Count;
   xRow := objExelSheet.Cells.CurrentRegion.Rows.Count;
А вот в OO Сalc:
   xRow := objExelSheet.Rows.Count;
   xCol := objExelSheet.Columns.Count;
Но в OO возвращается количество всех столбцов и строк, в мне надо количество только заполненных.




11-09-2007 06:27
вот бы автор сказал, что писать в uses...


27-06-2007 02:15
в екселе имеем функцию копирования областей между шитами:
function CopyRange(Ssheet:variant;Srange:string;Dsheet:variant;Drange:string):boolean;
begin
  CopyRange:=true;
  if VarIsNull(FActiveWorkbook) then
    Exit;
  try
    FActiveWorkbook.Sheets.Item[Ssheet].Range[srange].copy(
    FActiveWorkbook.Sheets.Item[Dsheet].Range[drange]);
  except
    CopyRange:=false;
  end;
end;

как сделать аналогичную вещь в оо?


18-06-2007 02:44
пишу
  calc.SetCellByPos(11,1,'=SUM(a1:a10)');
  calc.SetCellByPos(11,2,'=SUM(a1:a10)');
  calc.bold[11,2]:=true;
смотрю результат
в ячейке 10,10 формула =SUM(A1:A10) - не жирно
в ячейке 11,11 "формула" '55 (значение суммы, превращенное в текст) - зато жирно.

хочу не текст жирным иметь, а признак ячейки.
что я делаю не так?



24-04-2007 13:06
А есть ли нечто подобное о Writer-е и об аналоге PowerPoint-а OOImpress?


03-04-2007 06:25
Все отлично. Но хотелось бы добавить форматирование ячеек (границы). И конечно нужно оформить в отдельный модуль или компонент. Тогда уже ничего самому делать не надо будет.


12-03-2007 08:31
С ОО пришлось повозиться, конечно. Занудство еще то.

Рабочий пример для ОО: http://cacxa.narod.ru/ooExample.rar, создание счета. Проект для 7-х Дельфей, но, полагаю, пойдет на каких угодно, начиная с 5-х.

Единственное чего не научился - выгружать ОО из памяти. Если у кого есть мысли на этот счет - пишите плиз.


03-03-2007 08:53
Прошу прощения. Неправильно задал размерность массива (был один пустой элемент), все прекрасно работает.


03-03-2007 08:31
При работе с диспетчером дает ошибку "The VARIANT does not contain an object type", при условии что массив с параметрами заполнен. Если же передавать пустой массив (VarArrayCreate([0, -1], varVariant)), то все в порядке. Создание и заполнение массива, а также использование диспетчера взято из статьи...
В чем может быть проблема?
ps: пробую в Writer-е сделать Search and Replace


23-02-2007 15:23
Писал подобную вещь пару лет назад - замучился, особенно большие проблемы были с форматированием в Calc-е.


21-02-2007 04:38
А можно готовый компонент для этой статьи?


20-02-2007 13:10
Ну и замечание!!!
Сообщение не подписано


20-02-2007 03:18
Код оформлен небрежно и не по правилам.
Сообщение не подписано


Добавьте свое cообщение

Вашe имя:  [Войти]
Ваш адрес (e-mail):На Королевстве все адреса защищаются от спам-роботов
контрольный вопрос:
Кто съел Красную шапочку?
в качестве ответа на вопрос или загадку следует давать только одно слово в именительном падеже и именно в такой форме, как оно используется в оригинале.
Надоело отвечать на странные вопросы? Зарегистрируйтесь на сайте.

Оценка содержания
 
Содержит полезные и(или) интересные сведения
 
Ничего особенно нового и интересного
 
Написано неверно (обязательно укажите почему)


Оценка стиля изложения
 
Все понятно, материал читается легко
 
Есть неясности в изложении
 
Непонятно написано, трудно читается

Текст:
Жирный шрифт  Наклонный шрифт  Подчеркнутый шрифт  Выравнивание по центру  Список  Заголовок  Разделительная линия  Код  Маленький шрифт  Крупный шрифт  Цитирование блока текста  Строчное цитирование
  • вопрос Круглого стола № XXX

  • вопрос № YYY в тесте № XXX Рыцарской Квинтаны

  • сообщение № YYY в теме № XXX Базарной площади
  • обсуждение темы № YYY Базарной площади
  •  
     Правила оформления сообщений на Королевстве
      
    Время на сайте: GMT минус 5 часов

    Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
    Функция может не работать в некоторых версиях броузеров.

    Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
    Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

     
    © При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
    Все используемые на сайте торговые марки являются собственностью их производителей.

    Яндекс цитирования