:: Visual Foxpro, Foxpro for DOS
Re: Как через фокс взять в ОО Калк форматы ячеек в выделенной области?
rvc44

Сообщений: 2211
Откуда: Тамбов
Дата регистрации: 06.12.2005
Да ну?
А как "это" назвать, когда:
1. в строке:
loMgr = CREATEOBJECT("com.sun.star.ServiceManager")
создаешь объект loMgr,
а затем в строке:
Dispatcher = oMgr.createInstance("com.sun.star.frame.DispatchHelper")
обращаешься уже к объекту oMgr

2. В коде на StarBasic напИсано:
args(0).Value = "T"
а в твоем коде уже
args[1] = OOoPropertyValue( "Flags", "$T" )

Дальше продолжать...?
Вывод: Если этот код и работает - то это СЛУЧАЙНОСТЬ!
Нельзя быть таким невнимательным и не видеть в упор очевидные вещи!
Ratings: 0 negative/0 positive
Re: Как через фокс взять в ОО Калк форматы ячеек в выделенной области?
sphinx
Автор

Сообщений: 31166
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
Неплохая библиотека OOClass.prg. Но где брать функции/процедуры:
Unknown LANG - Undefined
Unknown PRESS - Undefined
Unknown NUM2LAT - Undefined
Unknown RANGE_N2C - Undefined
Unknown SAY - Undefined
Unknown RANGE_C2N - Undefined
Unknown ARRAYPASSER - Undefined


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: Как через фокс взять в ОО Калк форматы ячеек в выделенной области?
Аспид

Сообщений: 3475
Откуда: Москва
Дата регистрации: 01.04.2005
Сашь))) Ты то чего некро оживляешь?)))


------------------




Исправлено 1 раз(а). Последнее : Аспид, 29.03.17 19:43
Ratings: 0 negative/0 positive
Re: Как через фокс взять в ОО Калк форматы ячеек в выделенной области?
sphinx
Автор

Сообщений: 31166
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
Да мне как-то пофиг, что некро, а что нет.
Надо бесплатное решение для выгрузки в XLS (без Excel). А эта библиотека очень стройная, на каждую часто встречающуюся манипуляцию (открыть файл, закрыть файл, сохранить, записать значение в ячейку и пр.) - своя функция.
Буду сидеть допиливать, уж сильно хочется иметь нормально работающую библиотеку под это дело.


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: Как через фокс взять в ОО Калк форматы ячеек в выделенной области?
sphinx
Автор

Сообщений: 31166
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
Почти все функции удалось найти поиском по форуму. SAY() банально заменил на MESSAGEBOX, родная функция ближе к телу. ;)
LANG() вообще выбросил - это функция, дающая альтернативу, на каком языке делать сообщения (русский/украинский). Оставляем русский, и вперед!

Остальные функции приведу здесь, чтоб люди больше не мучались:

FUNCTION ArrayPasser(lcName)
RETURN @&lcName
ENDFUNC
FUNCTION Num2Lat
LPARA lnNum
LOCAL lc, ln1, ln2
lc="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
IF lnNum<27
RETU SUBS(lc,lnNum,1)
ENDIF
ln1=FLOOR(lnNum/26)
ln2=lnNum-ln1*26
IF ln2=0
ln1=ln1-1
ln2=26
ENDIF
RETU SUBS(lc,ln1,1)+SUBS(lc,ln2,1)
FUNCTION Range_N2C
LPARAMETERS lnRow,lnColumn
RETURN Num2Lat(lnColumn)+ALLTRIM(STR(lnRow))
FUNCTION Range_C2N
LPARAMETERS lcRange,lnRow,lnColumn, lnRowOffset, lnColumnOffset
LOCAL lnLeft
lnLeft=IIF(ISDIGIT(SUBSTR(lcRange,2,1)),1,2)
lnColumn=Lat2Num(LEFT(lcRange,lnLeft))
lnRow=VAL(SUBSTR(lcRange,lnLeft+1))
IF !EMPTY(lnRowOffset) OR !EMPTY(lnColumnOffset)
lnRow=lnRow+EVL(lnRowOffset,0)
lnColumn=lnColumn+EVL(lnColumnOffset,0)
lcRange=Range_N2C(lnRow,lnColumn)
ENDIF
RETURN lcRange

Осталась PRESS().. Ну, это тоже не такая уж и большая проблема. Во-первых, она применяется в 1-2 функциях (т.е. можно перебиться). Во-вторых, ее можно воспроизвести (пусть и не совсем в оригинальной версии, главное, чтобы возвращала тот же результат. В-третьих, можно переписать и сами функции - уже без участия PRESS().




------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: Как через фокс взять в ОО Калк форматы ячеек в выделенной области?
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
forum.foxclub.ru
Раз это код Александра, то у него они и есть - функции эти
P.S. Если я правильно понимаю, это решение требует наличия OpenOffice - т.е. оно как бы и "без экселя", но таки требует наличия другого здоровенного офисного пакета...


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Как через фокс взять в ОО Калк форматы ячеек в выделенной области?
sphinx
Автор

Сообщений: 31166
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
Igor Korolyov
Раз это код Александра, то у него они и есть - функции эти

Видимо да. Но раз они так и не были выложены - сомневаюсь, что и теперь появятся.

Видишь ли, Игорь.. ОО хоть и тоже ПАКЕТ.. но бесплатный, его установить при каком-то конструктивном разговоре вполне можно. А вот платные вещи (которые при масштабах предприятия - пусть и копейки, но такова политическая воля) - поставить порой никак нельзя, табу.

Библиотеку под свои нужды допилил, косяки заодно выявил и поправил - но пока лишь там, где отлаживал/рыл. Там еще полно, а что-то просто надо переписать под Liboooo - у нее в целом вроде функционал богаче, но именование процедур/функций уж очень неудобно.

P.S.
По ходу дела пришлось написать на коленке свою функцию LAT2NUM (выложу позднее, с собой нет) - благо идея понятна из обратной функции. А PRESS я тоже (ПОКА!) выкинул, заменив на прямое считывание aX (там ведь не зря все к символьному виду сводилось!). Значит в _CLIPBOARD можно вписать.. Как думаю. А подробнее будем будем препарировать, когда или проблема встанет, или руки дойдут.

No pasaran!


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: Как через фокс взять в ОО Калк форматы ячеек в выделенной области?
sphinx
Автор

Сообщений: 31166
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
В функции закрытия документа (CloseDocument) отсутствует закрытие диспетчера, поэтому процесс soffice.exe и/или soffice.bin висит в памяти, да еще держит файл. Я, правда, еще прикрутил функцию, чтобы этот процесс по имени искала и убивала.

На базе библиотеки написал процедуру OO_HeaderRus, которой передается 3 параметра: название файла с английскими названиями полей (тот файл, который получился после COPY TO.. TYPE XLS), название выходного файла (они могут и совпадать - дело вкуса... но я еще его выкладываю по заданному пути, а первоначальный может где-то в TEMPe валяться) и список полей с русскими названиями). Так что сейчас отчет с русскими полями делается вызовом парой функций (можно и в одну, да не всегда надо, пусть будут раздельно).

Вообще-то есть идея формировать XLS-файл вручную, как делал Влад Колосов с RTF-форматом, благо описание где-то на днях нашел. Ну, это когда руки дойдут... ;)

P.S. Библиотеку оформил в VCX, пока пообкатываю немного.


------------------
"Veni, vidi, vici!"(с)




Исправлено 1 раз(а). Последнее : sphinx, 05.04.17 20:30
Ratings: 0 negative/0 positive
Re: Как через фокс взять в ОО Калк форматы ячеек в выделенной области?
pasha_usue

Сообщений: 3647
Откуда: Е-бург
Дата регистрации: 06.10.2006
Саня. BIFF это не вариант. Упахаться можно. А вот XLSX, который XML. Да ещё и документированный по самое немогу. Вот это вариант.
Ratings: 0 negative/0 positive
Re: Как через фокс взять в ОО Калк форматы ячеек в выделенной области?
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Сейчас OOO читает/создает xlsx ?
wikitest.openoffice.org
Ratings: 0 negative/0 positive
Re: Как через фокс взять в ОО Калк форматы ячеек в выделенной области?
pasha_usue

Сообщений: 3647
Откуда: Е-бург
Дата регистрации: 06.10.2006
of63
Сейчас OOO читает/создает xlsx ?
wikitest.openoffice.org
Нее... У сани возникла идея:
sphinx
Вообще-то есть идея формировать XLS-файл вручную, как делал Влад Колосов с RTF-форматом, благо описание где-то на днях нашел. Ну, это когда руки дойдут...
Идея хорошая, но BIFF документирован слабо. И расковыривается плохо.
Ratings: 0 negative/0 positive
Re: Как через фокс взять в ОО Калк форматы ячеек в выделенной области?
sphinx
Автор

Сообщений: 31166
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
Паш, Сань! Спасибо, я учту ваши замечания/предложения.

Паш, видишь ли... XLSX на моей работе могут и не прочитать, передавать файлы с вьюером.. хм.. может быть идеей.


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: Как через фокс взять в ОО Калк форматы ячеек в выделенной области?
sphinx
Автор

Сообщений: 31166
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
Класс продолжает развиваться! Добавил функции форматирования текста - поворот на 90 градусов, выделение жирным шрифтом, установка размера шрифта, и др. Класс пишу для своих нужд, там сырых мест еще полно (а вылизывать нет времени).


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive
Re: Как через фокс взять в ОО Калк форматы ячеек в выделенной области?
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Почему в личку никто не написал. Я не все смотрю. Давно бы ответил.



Исправлено 2 раз(а). Последнее : Ydin, 29.04.17 19:20
Ratings: 0 negative/0 positive
Re: Как через фокс взять в ОО Калк форматы ячеек в выделенной области?
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005



Исправлено 2 раз(а). Последнее : Ydin, 29.04.17 09:34
Ratings: 0 negative/0 positive
Re: Как через фокс взять в ОО Калк форматы ячеек в выделенной области?
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Say просто вызывает Messagebox



Исправлено 2 раз(а). Последнее : Ydin, 29.04.17 09:32
Ratings: 0 negative/0 positive
Re: Как через фокс взять в ОО Калк форматы ячеек в выделенной области?
Ydin

Сообщений: 7648
Откуда: Киев
Дата регистрации: 16.12.2005
Позже что-то менял. Что-то связанное с более поздней версией ОО
Сам давно от темы ушел. Тот заказчик, для которого делали OO, он ушел и для меня тема была закрыта.
Я там уже мало, что помню.



Исправлено 4 раз(а). Последнее : Ydin, 29.04.17 19:23
Ratings: 0 negative/0 positive
Re: Как через фокс взять в ОО Калк форматы ячеек в выделенной области?
sphinx
Автор

Сообщений: 31166
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
Спасибо, Александр!


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 27 (Гостей: 27)

© 2000-2024 Fox Club 
Яндекс.Метрика