On-line: Dr. Oldwarez, PSP, tnsr2, гостей 1. Всего: 4 [подробнее..]
АвторСообщение



Пост N: 14
Зарегистрирован: 04.12.07
ссылка на сообщение  Отправлено: 05.02.08 09:48. Заголовок: Вывод на принтер в Linux


Привет всем.

Поделитесь, пожалуйста, опытом вывода отчетов и прочего на печать под Linux и Windows.
Желательно, чтобы это было универсально. Очевидно, что проще всего формировать отчет
в текстовый файл и затем открывать подходящим редактором, но, если для Win есть win32prn,
то чем формировать отчеты в Linux ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 12 [только новые]





Пост N: 15
Зарегистрирован: 04.12.07
ссылка на сообщение  Отправлено: 05.02.08 09:59. Заголовок: Хочу уточнить: речь ..


Хочу уточнить: речь идёт о печатных формах с использованием разных системных шрифтов.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 82
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 07.02.08 14:34. Заголовок: HwGUI. Наверное, и F..


HwGUI. Наверное, и FiveWin.
Из HwGUI вы можете взять только те модули, что работают на печать, тогда печатать в графике можно даже из консольных программ.
Так же из консоли можно печатать и отчеты, подготовленные Дизайнером отчетов из HwGUI. У меня так оно и работает, одни и те же формы ( счета-фактуры, например, платежки, ... ) печатаются из GUI и консольных, Linux и Windows программ.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 17
Зарегистрирован: 04.12.07
ссылка на сообщение  Отправлено: 08.02.08 07:47. Заголовок: Спасибо...


Спасибо.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 17
Зарегистрирован: 22.03.06
ссылка на сообщение  Отправлено: 21.04.08 15:25. Заголовок: alkresin пишет: Та..


alkresin пишет:

 цитата:

Так же из консоли можно печатать и отчеты, подготовленные Дизайнером отчетов из HwGUI. У меня так оно и работает, одни и те же формы ( счета-фактуры, например, платежки, ... ) печатаются из GUI и консольных, Linux и Windows программ.


Как правильно определять строковые константы в prg-файле для клавиш, заголовков окна/отчета, лейблов и т.д. если кодировка в Linux utf-8 а в виндовозе 1251?
Например:

 цитата:
INIT WINDOW oMainWindow MAIN TITLE "Пример заголовка" ;
AT 200,0 SIZE 400,150


Можно ли сделать чтобы один и тотже код работал и в Linux и виндовозе?


Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 164
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 22.04.08 08:51. Заголовок: Как правильно опреде..



 цитата:
Как правильно определять строковые константы в prg-файле для клавиш, заголовков окна/отчета, лейблов и т.д. если кодировка в Linux utf-8 а в виндовозе 1251?


В консольном режиме Harbour, если я что-то не упустил, пока не поддерживает utf8. Я обычно ставлю на Linux машинах koi8-r.
В GUI другая ситуация. Utf8 - родная кодировка для GTK, т.е. все строки, передающиеся в gtk-функции, должны предварительно перекодироваться в utf8. HwGUI это делает сама, но при этом предполагает, что строки - в той кодировке, что установлена в системе. Т.е., поскольку у меня стоит koi8-r, то и строки в программах - в koi8-r, и HwGUI, используя GTK функцию g_locale_to_utf8(), преобразует их в utf8. По-хорошему, надо конечно использовать не g_locale_to_utf8(), а g_convert() и указывать, в какой кодировке исходный текст, но я это писал под свои нужды, а времени переписать не было. Короче, если у вас локаль - utf8, то с русским текстом будут проблемы.

 цитата:
Можно ли сделать чтобы один и тотже код работал и в Linux и виндовозе?


Да. У меня, собственно, так и есть. Но все строки я держу в ini-файле:

aStrings := { "Пример заголовка", ... }
...
INIT WINDOW oMainWindow MAIN TITLE aStrings[1] AT 200,0 SIZE 400,150

и эти ini - в разной кодировке для Windows и Linux ( или на другом языке, если надо ).
Это в GUI режиме. В консольном все проще. Там тексты программ обычно в дос-кодировке 866 и чтобы все автоматически перекодировалось в koi8 ( или 1251 ) в gtcrs предусмотрены специальные файлы с таблицами перекодировки - hb_charmap.def.

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




Пост N: 544
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 22.04.08 08:59. Заголовок: kia пишет: Можно ли..


kia пишет:

 цитата:
Можно ли сделать чтобы один и тотже код работал и в Linux и виндовозе?



Да конечно можно, нужно просто сделать чтоб препроцессор сам определял где Windows, а где Linux.
Типа как используем одни и те же исходники для Клипера и Харбора.
#ifndef __HARBOUR__
// код для клипера
#else
// код для Харбора
#endif
// общий код для Клипера и Харбора.

А вообще-то я попробовал делать отчеты под FastReport (смотри об нем в этой ветке), и просто получил удовольствие от этой штуки. Проковырялся 1,5 часа чтоб разобраться и теперь формы делать одно УДОВОЛЬСТВИЕ и БЫСТРО !
Делать свою печать НЕ БУДУ, там есть все, а тратить свое время на создание подобной штуки - это всеравно что "изобретать велосипед" !!!
Надо бы спросить Спирина, есть ли этот FastReport для Linux ?




Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 18
Зарегистрирован: 22.03.06
ссылка на сообщение  Отправлено: 22.04.08 09:10. Заголовок: Александр, спасибо з..


Александр, спасибо за ответ.

С консолью нет проблем, проблемы с GUI.
Решение понятно, спасибо. Я думал что проглядел как это делать автоматом.
Правильно ли я понял, что

 цитата:
Короче, если у вас локаль - utf8, то с русским текстом будут проблемы.


проблемы будут не только с самим GUI, но и с показом/редакцией текстовых данных из dbf-файла использую GUI и utf8?

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 165
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 22.04.08 10:33. Заголовок: С консолью нет пробл..



 цитата:
С консолью нет проблем, проблемы с GUI.


Т.е., консольные программы работают с utf8 в качестве локали ? Или вы просто консоль не используете ?

 цитата:
проблемы будут не только с самим GUI, но и с показом/редакцией текстовых данных из dbf-файла использую GUI и utf8?


Вот это я не понял. В чем разница между самим GUI и "показом/редакцией текстовых данных из dbf-файла используя GUI" ?
Чтобы показать текст из dbf или откуда-то еще в GUI (GTK) виджете ( label или edit ), надо его переконвертировать в utf8. Как я уже писал, HwGUI делает это автоматически с помошью g_locale_to_utf8(), т.е. из текущей локали. Поэтому надо предварительно конвертировать полученные из dbf данные в кодировку локали - в вашем случае - в utf8.
Ну и, вообще-то, надо это дело в HwGUI продумать лучше. Я особенно не дергался насчет этого, т.к. у меня этой проблемы пока нет.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 19
Зарегистрирован: 22.03.06
ссылка на сообщение  Отправлено: 22.04.08 11:32. Заголовок: alkresin пишет: Т...


alkresin пишет:

 цитата:

Т.е., консольные программы работают с utf8 в качестве локали ? Или вы просто консоль не используете ?


Я проверил в консоле с локалью utf8 такие комбинации:
Исходный текст (строковые константы) в 866 и Hb_SetCodepage( "RU866" )
Исходный текст (строковые константы) в 1251 и Hb_SetCodepage( "RU1251" )
работает отлично.

т.е. текст вида

 цитата:

local cMsg866, cMsg1251
cMsg866 := '...' //текст в кодировке 866
cMsg1251 := '...' //текст в кодировке 1251

Hb_SetCodepage( "RU866" )
? 'Hb_SetCodepage( "RU866" )'
? cMsg866
? cMsg1251
? '====================='
Hb_SetCodepage( "RU1251" )
? 'Hb_SetCodepage( "RU1251" )'
? cMsg866
? cMsg1251


выдаст на экран

 цитата:

Hb_SetCodepage( "RU866" )
Проверка кодировки 866
╧ЁютхЁър ъюфшЁютъш 1251
=====================
Hb_SetCodepage( "RU1251" )
Џа®ўҐаЄ Є®¤Ёа®ўЄЁ 866
Проверка кодировки 1251



 цитата:

Чтобы показать текст из dbf или откуда-то еще в GUI (GTK) виджете ( label или edit ), надо его переконвертировать в utf8. Как я уже писал, HwGUI делает это автоматически с помошью g_locale_to_utf8(), т.е. из текущей локали. Поэтому надо предварительно конвертировать полученные из dbf данные в кодировку локали - в вашем случае - в utf8.


Я это и имел ввиду т.е. в этом случае весь ввод/вывод из dbf будет требовать дополнительной перекодировки из кодировки dbf в utf8. Было очень удобно если можно было задать исходную кодировку dbf/"текста строк" один раз в программе. А HwGUI делала бы автоматически дальнейшее преобразование.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 166
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 22.04.08 11:54. Заголовок: Я проверил в консоле..



 цитата:
Я проверил в консоле с локалью utf8 такие комбинации:
Исходный текст (строковые константы) в 866 и Hb_SetCodepage( "RU866" )
Исходный текст (строковые константы) в 1251 и Hb_SetCodepage( "RU1251" )
работает отлично.


А какая GT библиотека ? И имеется ввиду чисто текстовая консоль или терминал из под GUI оболочки ?

 цитата:
Было очень удобно если можно было задать исходную кодировку dbf/"текста строк" один раз в программе. А HwGUI делала бы автоматически дальнейшее преобразование.


Согласен.. Может, сделаю.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 20
Зарегистрирован: 22.03.06
ссылка на сообщение  Отправлено: 22.04.08 13:34. Заголовок: alkresin пишет: А к..


alkresin пишет:

 цитата:
А какая GT библиотека ? И имеется ввиду чисто текстовая консоль или терминал из под GUI оболочки ?


Пока проверил два варианта gttrm - работает, gtcrs - не работает.

alkresin пишет:

 цитата:
Согласен.. Может, сделаю.


Спасибо.

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 175
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 04.05.09 11:59. Заголовок: С некоторой задержко..


С некоторой задержкой :), но ... лучше поздно, чем никогда.
Добавил в GTK версию HwGUI функцию hwg_SetAppLocale( cLocale ), которая устанавливает локаль приложения.
Допустим, оно у вас было под Windows и все строки - в кодировке 1251. Тогда вы добавляете строчку:

hwg_SetAppLocale( "WINDOWS-1251" )

и весь ваш экранный вывод и вывод на печать будет преобразовываться из 1251 в UTF8 и, соответственно, выглядеть как положено, независимо от того какая локаль установлена в системе.

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 169
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет