Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Lazarus. Need help. Вопрос Доку и др. LazGurus / 21 сообщений из 21, страница 1 из 1
20.04.2019, 11:43
    #39804215
Gator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lazarus. Need help. Вопрос Доку и др. LazGurus
Добрый день, господа!
После всех приключений с аварией поставил Lazarus (по ссылке из его wiki). FPC специально не ставил - он сам поставился при установке Лазаря). Ваше мнение? Надо ли их ставить раздельно? Чтобы, например, их транки разделять...

Где почитать про пакеты? (кроме lazwiki). Какие пакеты нужны при нормальном старте IDE?
Я добавил только
- AncorDocking 1.0
- AncorDockingDsgn 1.0
- ChmHelpPkg 0.2
- CodeTools 1.0.1

Среда выглядит как на картинке. Цвета изменю позже.
___________________
Пока всё.
...
Рейтинг: 0 / 0
20.04.2019, 21:21
    #39804312
Док
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lazarus. Need help. Вопрос Доку и др. LazGurus
Gator,

1. если ставишь стабильный релиз Лазаря, отдельно компилятор можно уже не ставить (версия 3.0.4 позволяет спокойно пользоваться дженериками, юникодом и проч., на подходе версия 3.2 с ожидаемыми фишками ). Стандартный инсталлятор Лазаря ставит fpc внутрь своей корневой папки.

2. Отдельно компилятор имеет смысл ставить только в том случае, если в транке запилили что-то новое, без чего нельзя прожить (ну, или ты любитель только нового
). Причем, транковые версии компилятора достаточно собрать в отдельной папке и подключить к среде в ее настройках (Tools --> Options ... --> Environment). Но для сборки транка обязательно нужен стабильный релиз в качестве донора некоторых бинарных утилит.

3. Инсталлятор устанавливает среду с опцией bigide (посмотри Makefile в корне каталога с IDE), т.е. с максимальным набором пакетов (их раз в 100 меньше, чем в CodeTyphon, но достаточно, чтобы запустить среду и работать).

4. Пакеты можно установить тремя сопособами:
1) Package --> Open package file (.lpk) ...
2) Package --> Install/Uninstall package
3) Package --> Online Package Manager

Первые два требуют наличие скачанных на диск пакетов ("в комплекте" они лежат в папке Components в корне среды), последний выкачивает их из репов с предопределенным адресом (меняется в настройках) и ставит в свою подпапку /onlinepackagemanager/ в папке с настройками Лазаря (ее расположение можно спокойно задать в lazarus.cfg, который лежит в корне IDE).

Правила для пакетов те же, что и в дельфях, только IDE после установки design-time пакетов требуется пересобрать из-за их статической линковки.

5. Из установленных тобой пакетов я обычно сразу ставлю AnchorDockingDsgn, чтобы окна не гуляли по экрану, можно еще поставить sparta_dockedformeditor, чтобы получить "пристыкованную" форму а-ля дельфи.

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

зы. приложил на всякий случай пример батника, чтобы не шариться в поисках инфы на хосте ucos'а, там рекламы, как г@вна в коровнике, без адблокеров не пройдешь. Думаю, в батнике спокойно разберешь, на комментарии внимания не обращай - у меня склероз, писал для себя, чтобы не забыть
...
Рейтинг: 0 / 0
20.04.2019, 22:18
    #39804323
Gator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lazarus. Need help. Вопрос Доку и др. LazGurus
Док,

Спасибо, дорогой!

Идею уяснил. И да. FPC сидит внутри каталога Лазаря, который пересобирается после установки пакетов, когда кнопка "созранить и перезапустить IDE" доступна.
Единственно, не понял, нужен ли просто AnchorDocking 1.0 сразу установи их оба (+ AnchorDockingDsgn 1.0)

Какие ещё пакеты рекомендуется установить на постоянку?
т.е. у меня постоянно фигачит MSSQL, MSOffice(Word/Excel), всегда нужны WinAPI, часто OLE

Док> можно глянуть ко мне в блог
какой "порт приписки"? :)

Батник разъясню за чаем.
...
Рейтинг: 0 / 0
21.04.2019, 00:10
    #39804350
Док
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lazarus. Need help. Вопрос Доку и др. LazGurus
Gatorкакой "порт приписки"? :)
В профиле :)

Ну, например, тут описал все шишки и кочки, которые мне встретились на первых порах.


GatorКакие ещё пакеты рекомендуется установить на постоянку?
т.е. у меня постоянно фигачит MSSQL, MSOffice(Word/Excel), всегда нужны WinAPI, часто OLE
Зависит от ...
Компоненты доступа ставь отдельно (на Laz Wiki есть ссылки), встроенные некомильфо. С Экселем прекрасно работает FPSpreadsheet , ставится через Online Package Manager (OPM), а вот с вордом - пичалька. В OPM лежит FpOdf для работы c OOWriter, но и он находится в зачаточном состоянии.

При работе с винапи всегда имей ввиду, что кодировка строк в лазаре утф8, поэтому пользуйся презер функцией WinCPToUFT8/UTF8ToWinCP (еще тынц ) из модуля LazUTF8.

Gatorнужен ли просто AnchorDocking
нет, это девелоперский пакет для проектов. Насколько я понял (я не работал с ним ни разу), он нужен, если собираешься делать приложение с докающимися окнами :)

Ну, и напоследок еще немного лайфхаков (можно настроить гуй, чтобы не очень отличался от родного дельфевого)
прячем границы между панельками
красим инспектор объектов в привычные цвета
убираем вырвиглазные цвета в окне сообщений
красим в привычные цвета окно редактора





(кстати, здесь тем для Лазаря больше, чем дофига :) Их нужно положить в каталог с настройками Лазаря в папке /userschemes/ и после перезапуска Лазаря просто выбрать из списка)
...
Рейтинг: 0 / 0
21.04.2019, 00:39
    #39804361
Док
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lazarus. Need help. Вопрос Доку и др. LazGurus
Да, про справку забыл. Качаешь последний (уже скомпилированный) транк отсюда
https://svn.freepascal.org/svn/lazarus/binaries/docs
и копируешь все файлы в ../docs/chm. По F1 запускается LHelp с Reference Guide.

Всегда можно самому собрать chm- или html-файлы батником или shell-файлом (см. ../docs/html/readme.txt)
...
Рейтинг: 0 / 0
21.04.2019, 00:49
    #39804363
Gator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lazarus. Need help. Вопрос Доку и др. LazGurus
Док,

thanks a lot
...
Рейтинг: 0 / 0
21.04.2019, 01:22
    #39804371
Док
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lazarus. Need help. Вопрос Доку и др. LazGurus
еще чуть-чуть настроек, которые могут пригодиться :)
отступы



Отключаю "умные" табы, отступы ставлю стандартные, шоткаты в Лазаре по дефолту <Ctrl>+<I>/<U>, поэтому меняю на привычные дельфевые
подсветка слов и кода
--->



Если включить Outline(global), редактор кода заиграет новыми красками :) Включение Markup(on caret) будет выделять все операторы, относящиеся к данной конструкции, пока один из них в фокусе
мышь



прячу ее вовремя набора
пустые методы/функции
фолдинг
--->



удобная штука, практически в лобом месте код можно свернуть. Одна беда, нельзя из контекстного меню свернуть все, можно только все развернуть :)
code insight
--->



Можно для красоты добавить картинки в code insight. Автопоказ справки включать не советую, мешает жутко
...
Рейтинг: 0 / 0
21.04.2019, 18:31
    #39804527
Gator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lazarus. Need help. Вопрос Доку и др. LazGurus
Док,

Ну... Завалил настройками... Это я наГалкал уже, Где-то взвёл, а где-то сбросил. Кстати, названия в IDE на каком языке рекомендуешь? РУС/ENG. У меня пока русский стоит - прикольно. Хотя привычнее ENG, но неважно. Поменяю нафиг.

А вот ещё вопросик.
Стандартные компоненты Лазаря и Delphi совместимы по названиям? Ну там, вид, свойства, методы и т.п.?
Напр. в TStatusBar особых различий не заметил. А датамодуль мне кровушки хорошо попил...
Но теперь всё хорошо!
__________
Удачи везде!!!
...
Рейтинг: 0 / 0
22.04.2019, 08:38
    #39804640
Док
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lazarus. Need help. Вопрос Доку и др. LazGurus
Gator,

мне привычнее на буржуйском. Да и в случае ошибок можно сразу на ихний форум жаловаться идти.

Совместимость компонентов не всегда сохраняется, всё-таки кроссплатформа, виджетсеты и все такое. Именно непохожесть мешает тупо слизать компонент из дельфей (тот же TPageControl, который в Лазаре чуть больше, чем никакой).

Но в последнее время наблюдается стойкая тенденция пилить Лазарь в сторону похожести на Делфи. Может ситуация и изменится
...
Рейтинг: 0 / 0
22.04.2019, 10:21
    #39804693
Gator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lazarus. Need help. Вопрос Доку и др. LazGurus
Док,
Понятненько... Ну... приложу к.-н. мозги с руками.
С кроссплатформенностью тоже ясно. IMHO пока LLVM не реализуют в D и Л, совместимость высокой не станет.
Зато реальный ассемблер видно, а не какой-нить байткод отлаживать. :)
___
Пока перевариваю инфу и пытаюсь перелопатить свой собачий проект на Лазаря. Эх, забыл всё - в 2004 начал.
Потом менял годами. Теперь заново...
Короче, скучать не дадут.
А тебе - классного лета, солнца, моря и еды!
...
Рейтинг: 0 / 0
22.04.2019, 10:35
    #39804708
Док
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lazarus. Need help. Вопрос Доку и др. LazGurus
GatorДок,
А тебе - классного лета, солнца, моря и еды!
Про женщин забыл


Насчёт Лазаря сильно не общайся - там UI не всегда отображается, как задумано. Особенно в никсах, даже в пределах одной ветки (яркий пример - Убунта и Дебиан). Потому придется проверять, что весьма утомляет
...
Рейтинг: 0 / 0
22.04.2019, 12:11
    #39804807
Док
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lazarus. Need help. Вопрос Доку и др. LazGurus
Доксильно не общайся
* не обольщайся

"Проклятый Т9!" ©
...
Рейтинг: 0 / 0
22.04.2019, 13:40
    #39804885
Gator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lazarus. Need help. Вопрос Доку и др. LazGurus
Док,

Т9 отключаю везде и сразу
*nix ы не интересую теперь уже.
_____
Женщины - неотделимы и подразумеваются всегда. Иначе - скука смертная.
...
Рейтинг: 0 / 0
23.04.2019, 06:18
    #39805137
ain-2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lazarus. Need help. Вопрос Доку и др. LazGurus
Дока вот с вордом - пичалька. В OPM лежит FpOdf для работы c OOWriter, но и он находится в зачаточном состоянии.
Всё прекрасно в вордом в Лазарусе.
Скачать http://yuri.elmeh.ru - unit uOpenOffice. Малая подработка напильником, просто некоторые типы нужно в ячном виде указать и всё отлично работает. Как с вордом, так и с, например, с либром.
Я лично работаю и с тем, и с тем.
...
Рейтинг: 0 / 0
23.04.2019, 09:01
    #39805172
Док
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lazarus. Need help. Вопрос Доку и др. LazGurus
ain-2,

да, упустил из виду. Но из прочтения соответствующего топика у меня как-то в голове отложилось, что этот компонент больше заточен под эксель. Кстати, он кроссплатформенный?

зы. автору не мешало бы выложить его на гитхаб.
...
Рейтинг: 0 / 0
25.04.2019, 07:18
    #39805970
ain-2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lazarus. Need help. Вопрос Доку и др. LazGurus
Докain-2,

да, упустил из виду. Но из прочтения соответствующего топика у меня как-то в голове отложилось, что этот компонент больше заточен под эксель.

Он работает с файлами *.doc, *.odt, *.xls, *.ods

ДокКстати, он кроссплатформенный?
Не знаю. Автор сделал модуль для Делфи.
Но, все обращения идут через установленный офис, например LibreOffice или OpenOffice. Ёкселя не нужно.
Чуть тронув напильником, модуль прекрасно ставится и на Лазарус. Все изменения вызваны использованием ключевого слова Type.

Исходный текст Дельфи.
Код: pascal
1.
2.
3.
4.
function TOOCalcCell.GetDataType:TOpenDT;
begin
  Result:=FCellObj.Type;
end;


Исправленный для Лазаруса
Код: pascal
1.
2.
3.
4.
function TOOCalcCell.GetDataType:TOpenDT;
begin
  Result:=FCellObj.getType;
end;




Модули в uOpenOffice исходные:
uses Graphics, Windows ,Variants,Classes,ComObj
uses SysUtils, ComServ, Common;

Мои изменения в uOpenOffice относительно модулей:
uses Graphics,LCLIntf, LCLType,Variants,Classes,ComObj
uses SysUtils, URLSubs, LazUTF8, LConvEncoding;
...
Рейтинг: 0 / 0
25.04.2019, 09:25
    #39806011
Док
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lazarus. Need help. Вопрос Доку и др. LazGurus
ain-2Все изменения вызваны использованием ключевого слова Type.
Не все. Там еще есть места, на которые Лазарь жутко ругается (без кода перед глазами не вспомню, навскидку, он не находит какое-то из свойств одного из рекорда). Короче, скачал неск. вариантов правок (от разных "производителей"
) uopenoffice.pas - везде не взлетело.
...
Рейтинг: 0 / 0
25.04.2019, 10:29
    #39806039
Док
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lazarus. Need help. Вопрос Доку и др. LazGurus
ДокТам еще есть места, на которые Лазарь жутко ругается
ага, вот по демке Yuric74
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
procedure TfrmMain.btGetSelectedClick(Sender: TObject);
var
  SR:TOpenRangeAddress;
begin
  SR:=OC.Sheets.Active.SelectedCellRange;
  if SR.Sheet=-1 then
    ShowMessage('No cells selected!')
  else
    ShowMessage(IntToStr(SR.StartColumn)+'  '+IntToStr(SR.StartRow)+'  '+IntToStr(SR.EndColumn)+'  '+IntToStr(SR.EndRow));
end;



Код: pascal
1.
umain.pas(416,24) Error: Identifier idents no member "SelectedCellRange"





Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
procedure TfrmMain.btCalcFindFirstClick(Sender: TObject);
begin
  if not OC.FindFirst('Test', []) then
    ShowMessage('Match not found!');
end;

procedure TfrmMain.btCalcFindNextClick(Sender: TObject);
begin
  if not OC.FindNext then
    ShowMessage('Match not found!')
end; 



Соответственно
Код: pascal
1.
umain.pas(683,13) Error: Identifier idents no member "FindFirst"


и
Код: pascal
1.
umain.pas(689,13) Error: Identifier idents no member "FindNext"



Если заремить некоторые строки при работе с принтерами, все равно лезут ошибки на
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
procedure TOpenOffice.SetConnect(const Value: Boolean);
var
  SM: Variant;
begin
  if Value then
    begin
      try
        SM:=CreateOleObject('com.sun.star.ServiceManager');   




Код: pascal
1.
2.
3.
4.
Project project1 raised exception class 'EOleSysError' with message:
Недопустимая строка с указанием класса

 At address 58AF36



И так по ходу всей демки. Было б классно, если б кто-то адаптировал вышеозначенную демку под Лазарь. А так, придется разбираться книжками и опытным путем :) А это - время. Может проще будет заюзать FPSpreadsheet.
...
Рейтинг: 0 / 0
26.04.2019, 10:03
    #39806593
ain-2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lazarus. Need help. Вопрос Доку и др. LazGurus
ДокДокТам еще есть места, на которые Лазарь жутко ругается
ага, вот по демке Yuric74
[spoiler ]
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
procedure TfrmMain.btGetSelectedClick(Sender: TObject);
var
  SR:TOpenRangeAddress;
begin
  SR:=OC.Sheets.Active.SelectedCellRange;
  if SR.Sheet=-1 then
    ShowMessage('No cells selected!')
  else
    ShowMessage(IntToStr(SR.StartColumn)+'  '+IntToStr(SR.StartRow)+'  '+IntToStr(SR.EndColumn)+'  '+IntToStr(SR.EndRow));
end;



Код: pascal
1.
umain.pas(416,24) Error: Identifier idents no member "SelectedCellRange"



И так по ходу всей демки. Было б классно, если б кто-то адаптировал вышеозначенную демку под Лазарь. А так, придется разбираться книжками и опытным путем :) А это - время. Может проще будет заюзать FPSpreadsheet.

Нечего там разбираться.
У вас собственно, документ OC открыт?

Смотрите:
...
Рейтинг: 0 / 0
26.04.2019, 17:09
    #39806925
Док
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lazarus. Need help. Вопрос Доку и др. LazGurus
ain-2,

Я вижу поля записи и ..? Лазарь то ругается на selectedcellrange
...
Рейтинг: 0 / 0
27.04.2019, 05:06
    #39807105
Tactical Nuclear Penguin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Lazarus. Need help. Вопрос Доку и др. LazGurus
Докain-2,

Я вижу поля записи и ..? Лазарь то ругается на selectedcellrange

на вопрос не ответили...

авторУ вас собственно, документ OC открыт?
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Lazarus. Need help. Вопрос Доку и др. LazGurus / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]