On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение
Vlad04
постоянный участник


Пост N: 420
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 19.12.13 18:16. Заголовок: TsBrowse в Минигуи (продолжение)


TsBrows определяется в виде строки ПАРМЕТРОВ объекта и их значений
К примеру

 цитата:

DEFINE TBROWSE oBrw2 ;
AT 60,450 ;
ALIAS cAlias ;
OF Form1 ;
WIDTH 330 ;
HEIGHT 340 ;
FONT "Verdana" ;
SIZE 9 ;
ON DBLCLICK CopyRec();
ON GOTFOCUS fModelo_Hab(2) ;
AUTOFILTER ;
CELLED EDIT;
VALUE nRec;
GRID


Здесь я собрал параметры из разных tBrows
Можно или нет и какие парметры заменить
выражением ( и каким) ?
oBrw2:....
oBrw2:....



Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]


Vlad04
постоянный участник


Пост N: 769
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 31.01.18 07:58. Заголовок: А есть примеры много..


А есть примеры многострочных бровсов ?
Вариантов может быть несколько:
в одной строке
- Поле 1
- Поле 2
или
- Часть1(Поле 1)
- Часть2(Поле 1)


Спасибо: 0 
Профиль
SergKis
постоянный участник




Пост N: 1715
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 31.01.18 09:37. Заголовок: Vlad04 пишет А есть ..


Vlad04 пишет
 цитата:
А есть примеры многострочных бровсов ?


сделать пример не сложно Tsb_array_2 demo.prg
 
STATIC FUNCTION CreateDatos()
...
FOR i := 1 TO k
aDatos[ i ] := { " ", ; // 1
i, ; // 2
ntoc( i ) + CRLF + "_123", ; // 3
Date() + i, ; // 4
...



Спасибо: 0 
Профиль
Haz
администратор




Пост N: 1169
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 31.01.18 11:12. Заголовок: SergKis пишет: А ес..


SergKis пишет:

 цитата:
А есть примеры многострочных бровсов ?


В примерах есть только вариант с широкими строками , где в ячейке может быть многострочный текст.
Такой вариант удобно использовать в виде календарика с событиями , привычно смотрится и можно каждую ячейку развернуть в окно с подробным описанием.
Все остальные случаи многострочного бровса можно поделить условно на 2 вида :
1) когда заранее готовятся многострочные данные для скармливания бровсу , это может быть подготовка массива, временной базы или результат SQL запроса к таблице.
Получаем многострочность в однострочном бровсе.

2) когда под задачу пишется свой Skipper() и FieldWblock().
Этот путь не простой , но проходимый.

Я использую вариант 1 , нет желания и времени возиться с 2

PS дополню
вариант 1 предпочтителен еще и тем что позволяет фильтровать ( срывать подразделы )



Спасибо: 0 
Профиль
Vlad04
постоянный участник


Пост N: 770
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 01.02.18 11:03. Заголовок: Haz В примерах ес..


Haz


 цитата:

В примерах есть только вариант с широкими строками , где в ячейке может быть многострочный текст.
Такой вариант удобно использовать в виде календарика с событиями , привычно смотрится и можно каждую ячейку развернуть в окно с подробным описанием.



О каких примерах конкретно идёт речь ?

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 1171
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 01.02.18 17:51. Заголовок: Vlad04 пишет: О как..


Vlad04 пишет:

 цитата:
О каких примерах конкретно идёт речь ?


О базовом примере MiniGUI\SAMPLES\Advanced\TsBrowse\demo.exe
Menu -> Samples on Windows -> Sample 4 -> колонка Address

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 5718
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.02.18 14:27. Заголовок: Всем привет. Использ..


Всем привет.
Использую многострочный Tsbrowse (из 2х строк). Всё работает отлично.
При экспорте в Эксель высота строк ставиться почему то как одна строка.
И приходиться твблицу в Экселе вручную высоту править... Убийственная работа.
Нельзя там в исходниках исправить высоту ячеек, сделать её зависимой от высоты таблицы ячеек ?

Спасибо: 0 
Профиль
Vlad04
постоянный участник


Пост N: 775
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 10.02.18 07:15. Заголовок: в Эксель высота стр..



 цитата:
в Эксель высота строк ставиться почему то как одна строка.


А у Эксель для данного столбца нельзя ли установить свойство - ПЕРЕНОСИТЬ ПО СЛОВАМ.
Тогда Эксель будет сам высоту строк править

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 5719
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.02.18 09:08. Заголовок: Vlad04 пишет: А у Э..


Vlad04 пишет:

 цитата:
А у Эксель для данного столбца нельзя ли установить свойство


Я там исходник глянул .... и ничего не понял...

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 1173
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 10.02.18 10:54. Заголовок: Andrey пишет: Я там..


Andrey пишет:

 цитата:
Я там исходник глянул .... и ничего не понял...


Надо внимательнее глядеть .
Вся запись в методе ::Excel2() идет в так называемом двоичном формате BIFF. Этот формат был основным форматом Excel до 2007 года.
Дальше используется Open XML , а BIFF поддерживается только с целью совместимости. Именно с форматом BIFF связаны все ограничения
Excel до 2007 года ( одно из них это 65535 строк , но есть много других)

Так вот про внимательность, Excel в методе заполняется в цикле через вызов BiffRec( opCode , ... ), где этот самый opCode - константа Excel по кодам операций ( в инете ссылок полно ).
В самой функции BiffRec() отсутствует обработка кода 8 ( код операции ROWHEIGHT ) и 37 ( код операции DEF_ROWHEIGHT). Видимо автору метода она была не нужна. Но это не мешает ее туда добавить самостоятельно. Функция живет в TSColumn.prg и ее содержимое понятно без каких либо тайных знаний.

PS Подарок тем , кому лень искать константы:
http://www.purebasic.fr/english/viewtopic.php?p=267584

PPS Добавлю свое мнение, которое может не совпадать со мнгоми форумчанами.
Формат BIFF считаю устаревшим, и не уверен что его следует развивать библиотеке.
В 2007 микрософт формально его похоронил перейдя на xml. В исходнках harbour есть что то типа xlsxml.
Пишу с мобильного и точно не помню.
Уверен xml более перспективен как экспорт данных, т. к. микрософт теперь его использует в основе движка.
И вот в xml готов поучаствовать. Тестовые примеры выгрузки в Excel из harbour у меня идут отлично и по скорости и по оформлению. Прикрутить класс к Tsbrowse, например как :Excel3() считаю вопросом времени (свободного времени)

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 1174
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 10.02.18 16:03. Заголовок: PPS Добавлю свое мнение, которое может не совпадать со мнгоми форумчанами. Формат BIFF считаю устар


И в новое сообщение тоже
PPS Добавлю свое мнение, которое может не совпадать со мнгоми форумчанами.
Формат BIFF считаю устаревшим, и не уверен что его следует развивать библиотеке.
В 2007 микрософт формально его похоронил перейдя на xml. В исходнках harbour есть что то типа xlsxml.
Пишу с мобильного и точно не помню.
Уверен xml более перспективен как экспорт данных, т. к. микрософт теперь его использует в основе движка.
И вот в xml готов поучаствовать. Тестовые примеры выгрузки в Excel из harbour у меня идут отлично и по скорости и по оформлению. Прикрутить класс к Tsbrowse, например как :Excel3() считаю вопросом времени (свободного времени)


Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 5720
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.02.18 16:10. Заголовок: Haz пишет: Но это н..


Haz пишет:

 цитата:
Но это не мешает ее туда добавить самостоятельно.


* ============================================================================ 
* FUNCTION BiffRec() Version 9.0 Nov/01/2009
* Excel BIFF record wrappers (Biff2)
* ============================================================================

Function BiffRec( nOpCode, uData, nRow, nCol, lBorder, nAlign, nPic, nFont )
....

Блин, да это только для шаманов ....




Спасибо: 0 
Профиль
Haz
администратор




Пост N: 1175
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 10.02.18 16:57. Заголовок: Andrey пишет: Блин,..


Andrey пишет:

 цитата:
Блин, да это только для шаманов


Шаманом себя не считаю, но проблем не вижу.
В понед гляну с компа.
И прочитай мое последнее сообщение по поводу BIFF



Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 5721
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.02.18 17:40. Заголовок: Haz пишет: И вот в ..


Haz пишет:

 цитата:
И вот в xml готов поучаствовать. Тестовые примеры выгрузки в Excel из harbour у меня идут отлично и по скорости и по оформлению. Прикрутить класс к Tsbrowse, например как :Excel3() считаю вопросом времени (свободного времени)



Очень хочется иметь этот новый класс в исходниках.
Я так же готов поучаствовать в тестировании и настройке этого класса, по мере своей квалификации.


Спасибо: 0 
Профиль
Vlad04
постоянный участник


Пост N: 776
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 11.02.18 11:43. Заголовок: Haz Тестовые пример..


Haz

 цитата:
Тестовые примеры выгрузки в Excel из harbour у меня идут отлично



Это не OLE и Excel 2007 и выше? Тогда может в начале с примерами ознакомить ? Выгрузка в Tsbrows частный случай.

Спасибо: 0 
Профиль
Vlad04
постоянный участник


Пост N: 777
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 11.02.18 11:44. Заголовок: из Tsbrows..


из Tsbrows

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 1176
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 11.02.18 12:24. Заголовок: Vlad04 пишет: Это ..


Vlad04 пишет:

 цитата:

Это не OLE и Excel 2007 и выше? Тогда может в начале с примерами ознакомить ? Выгрузка в Tsbrows частный случай.


Это не OLE, до 2007 микрософт отстегивал стороннему разработчику за использование xml позже написал свою компоненту.
Поддержка xml была и до 2007.
Примеры все в исходниках харбура. Знакомся на здоровье, все в свободном доступе. Ссылки на исходники есть в разделе Harbour на этом форуме

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6723
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 11.02.18 14:34. Заголовок: Andrey пишет: Я так..


Andrey пишет:

 цитата:
Я так же готов поучаствовать в тестировании и настройке этого класса, по мере своей квалификации.


+1
Потестю на древнем Excel 2003

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 1177
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 11.02.18 16:48. Заголовок: Dima пишет: Потестю..


Dima пишет:

 цитата:
Потестю на древнем Excel 2003


Так ты уже потестил)

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6724
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 11.02.18 18:56. Заголовок: Haz пишет: Так ты у..


Haz пишет:

 цитата:
Так ты уже потестил)


Это было не с Минигуи

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 1178
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 12.02.18 12:01. Заголовок: Andrey пишет: Блин,..


Andrey пишет:

 цитата:
Блин, да это только для шаманов ....


Глянул с компа. Какие шаманы ??? примитив в 4 строки кода

Чтоб ::Excel2 был зависим от высоты строк бровса нужно всего - то
1) перейти по ссылке которую я давал и найти там установку высоты строки по умолчанию увидеть там код команды, ее длину и прочитать про размерность единицы высоты
 
DEFHEIGHT.DEF_ROWHEIGHT_RECORD
DEFHEIGHT\opcode = 37
DEFHEIGHT\length = 2


2) Открыть исходник BiffRec() и после команды 36 ( ну чтоб попорядку ) вставить нашу 37
 
Case nOpCode == 37 // DEF_ROWHEIGHT_RECORD record
Default nCol := nRow
cHead := I2Bin( 37 ) + ; // opCode
I2Bin( 2 ) // body length
cBody := I2BIN( uData )



3) Открыть исходник Excel2() и задать высоту строк по умолчанию по высоте строки бровса ( про размерность по ссылке конечно прочитали - поэтому *20, но мне точнее показалось на 15 )
 
FWrite( nHandle, BiffRec( 66, GetACP() ) )
FWrite( nHandle, BiffRec( 12 ) )
FWrite( nHandle, BiffRec( 13 ) )
FWrite( nHandle, BiffRec( 37 , ::nHeightCell * 20) )


PS Кто тут увидел шаманов

Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 196
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет