FAQ Lazarus

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

FAQ Lazarus

Сообщение ev » 20.05.2005 13:38:13

Последний раз редактировалось ev 16.05.2006 01:07:09, всего редактировалось 2 раз(а).
ev
долгожитель
 
Сообщения: 1772
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

Сообщение Sniper » 01.07.2005 13:19:33

Вопроc:
Ошибка "Fatal: Can't find unit Interfaces" что делать?
Ответ:
она происходит из за ошибки сборки Lazarus из самого Lazarus, поэтому нужно просто его пересобрать при помощи обычного make.
1. поместите make.exe в корень папки с Lazarus
2. введите команду make clean команда очистит всё от предыдущих сборок
(Внимание: эту команду нужно обязательно использовать после неудачной компиляции!)
3. введите команду make
Sniper
постоялец
 
Сообщения: 472
Зарегистрирован: 28.05.2005 13:02:42

Сообщение Sniper » 01.07.2005 13:22:48

Вопрос:
скомпилированный Lazarus получается в размере 20Mb! Можно ли уменьшить его?
Ответ:
Можно воспользуйтесь утилитой strip (например: strip lazarus.exe)
точно также можно уменьшить в размере startlazarus.exe : strip startlazarus.exe
Sniper
постоялец
 
Сообщения: 472
Зарегистрирован: 28.05.2005 13:02:42

Сообщение Saemon Zixel » 24.09.2005 20:37:38

Проблема:
При попытке смены визуального интерфейса при компеляции своей программы (восновном в Линуксе) на gtk1, gt2, gnome...
Появляется ошибка Fatal: Can't find unit Interfaces
Решение:
Надо отдельно скомпилить новый интерфейс.
Заходим Lazarus/lcl/interfases/<новый интерфейс>/ и говорим make.
Saemon Zixel
новенький
 
Сообщения: 78
Зарегистрирован: 20.09.2005 18:19:54
Откуда: Sochi

Сообщение @lex » 21.06.2006 08:38:01

Вопрос
А как можно обновить (перерисовать) форму во время выполнения процедуры?
Ситуация следующая: процедура выполняется несколько секунд, в процессе чего изменяется Label.caption, но эти изменения прорисовываются только после окончания процедуры. Пробовал вызывать следующие методы формы:
Update, Paint, Repaint, Refresh, UpdateShowing, Release - ничего не помогает. В Delphi, если не ошибаюсь, проблема отсутствовала.
Ответ
использовать
Код: Выделить всё
Application.ProcessMessages;
@lex
постоялец
 
Сообщения: 180
Зарегистрирован: 19.06.2006 13:16:29
Откуда: Невинномысск

Сообщение SergKam » 14.11.2006 06:07:17

Вопрос:
Как быстро определить в каком юните та или иная процедура,
в дельфе я можно написать IntToStr и незная в какои юните она обитает жемкнуть F1 и срузу увидеть что мне надо подключить.
Ответ от tria
Я пока нашел один способ: меню Поиск->Поиск в файлах.
Указываешь каталог Лазаря и ищешь юнит, в котором эта функция определена. Его и подключаешь.
Ответ от SergKam
Ну зачеже. Есть уже в lazaruse привычный хелп.
только его сначала скачать
файлы fpc-doc (rtl,fcl)надо и lcl(идет вместе с лазарусом ./docs/html
если нет надо запустить там update_lcl_html.sh )
и настроить в раделе "Справка->настроить справку"
на последней закладке указать пути к rtl,fcl и lcl.
дальше справка работает как обычно, только браузер запускает вместо встроеной справки
Поправка от Attid
update_lcl_html.sh работает только под линуксом.
можно скачать архивом отсюда там же есть многовсего полезного (компоненты\примеры)
или выкачать сайт от сюда или читать наше wiki.
Но есть одно НО справка подключенная таким образом в лазарус выдает описание только подключеных юнитов. на первичный вопрос только первый способ работает на 100%
SergKam
постоялец
 
Сообщения: 251
Зарегистрирован: 16.11.2005 21:31:11
Откуда: Украина,Харьков

Сообщение Attid » 28.11.2006 14:48:56

Вопрос:
после запуска программы по F9 и её остновка вылазиет окошко "программа закрылась" как убрать ?
Ответ
в настройках отлатчика галочка "Показвать сообщение об остановке"

Вопрос:
горячие клавиши компиляция и прочее где изменить ?
панель кнопок "Бестрого доступа IDE" где изменить ?
Ответ
в исходниках лазаруса ?
Последний раз редактировалось Attid 12.05.2007 10:50:02, всего редактировалось 1 раз.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение @lex » 08.01.2007 17:21:51

Вопрос:
А как можно отследить Right Click (в частности по TPanel) ? Я чёт не понял: есть только MouseClick, который срабатывает по любой кнопке.
Ответ :
используй свойство MouseDown какой кнопкой нажали можно узнать в пераметре Shift. +узнаешь зажаты ли ctrl\alt\shift
@lex
постоялец
 
Сообщения: 180
Зарегистрирован: 19.06.2006 13:16:29
Откуда: Невинномысск

Сообщение alexs » 27.12.2007 01:34:02

Вопрос
Как сделать так, чтобы в Лазарусе когда рисуешь графику и потом форму сворачиваешь и розворачиваешь графика не исчезала

Ответ
отрабатывать событие OnPaint у компоненты или переопределять у наследника метод Paint
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение Сергей Смирнов » 30.12.2007 20:12:21

Про UTF8 и кроссплатформенность:

Mattias Gaertner 29 дек. (21 час. назад) wrote:

> * "Vasily I. Volchenko" <daesher@mail.ru> [Sat, 29 Dec 2007 19:29:19
> +0300]:
> > It's a known problem, Win32 (for now except for compiled with option
> > -dWindowsUnicodeSupport or something like it) and gtk-1 interfaces
> > use native 1-byte encoding while gtk2 interface uses utf8 anyway
> > (even if LANG=ru_RU.CP1251).
>
> Is there no way to make cross-platform application without writing
> different code
> for widgetset Win32 and GTK2?

Compiled with -dWindowsUnicodeSupport the LCL uses UTF-8 under windows
too. That means all LCL control strings expect UTF8.
The missing piece is the RTL. All filenames still use the system
encoding. For example:

StringList.LoadFromFile(UTF8ToAnsi(Edit1.Text));

This should work under all platforms, but I didn't test.

Mattias
Аватара пользователя
Сергей Смирнов
энтузиаст
 
Сообщения: 595
Зарегистрирован: 28.04.2005 13:23:25
Откуда: Москва

Сообщение sobee » 05.02.2008 01:07:29

Вопрос: Если в Лазарусе компонент на подобии RichEdit? Очень надо. Спасибо!
Ответ:
Нет - но можно воспользоваться TIpHtmlPanel - отбражение HTML страниц
sobee
новенький
 
Сообщения: 84
Зарегистрирован: 05.02.2008 00:23:46
Откуда: Снежинск, Челябинская обл.

Сообщение Attid » 18.02.2008 16:22:33

как начать пользоваться svn версией

устанавливаем официального svn клиента более точная сылка под венду в лине
Код: Выделить всё
sudo apt-get install subversion


скачиваем нужный архив чтобы меньше качать

SVN FPC 2.3.1 (r8292) ~11Mb
http://rapidshare.com/files/50192875/Cu ... PC_231.exe
или
http://freepascal.ru/download/SVN_FPC_231_r8292.exe

SVN Lazarus 0.9.23 (r11836) ~6Mb
http://rapidshare.com/files/50133145/Cu ... AZARUS.exe
или
http://freepascal.ru/download/SVN_LAZAR ... r11836.exe

потом заходим в распакованую директорию
и выполняем
Код: Выделить всё
svn up

через 5 - 30 минут у нас будет
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение shade » 23.02.2008 17:37:26

Проблема с кодировкой в MySQL?

матчасть:
Использование кодировок в MySQL >= 4.1
Любой mysql-клиент при соединении с сервером может установить несколько переменных:
* character_set_client - указывает, в какой кодировке будут поступать данные от клиента;
* character_set_connection - указывает, в какую кодировку следует преобразовать данные полученые от клиента перед выполнением запроса;
* collation_connection - указывает, каким образом сравнивать между собой строки в запросах;
* character_set_results - указывает серверу не необходимость перекодировать результаты запроса в определенную кодировку перед выдачей их клиенту.


Если имеющеся таблицы в MySQL в кодировке latin1 или какой-то другой нерусской и не юникодовской, то вам сначала нужно перевести все данные в русскую кодировку или в юникод. Иначе у вас будет не правильно работать сравнения и сортировка. О том, как это сделать читайте в статье

Изменение кодировки таблиц в MySQL

Допустим у нас таблицы в базе вкодировке cp1251, но наша программа хочет работать в кодировке UTF8, то нам нужно после подключения к MySQL установить переменые
character_set_client = UTF8 (мы работаем с UTF8 и передаем данные в UTF8)
character_set_connection = cp1251 (данные у нас храняться в табличках в cp1251)
character_set_results = UTF8 (мы работаем с UTF8 и хотим получать данные в UTF8)
Для этого мы можем выполнить запрос:
Код: Выделить всё
SET
  character_set_client = UTF8,
  character_set_connection = cp1251,
  character_set_results = UTF8;


Код: Выделить всё
SQLQuery.SQL.Text:='SET character_set_client="UTF8", character_set_connection="cp1251", character_set_results="UTF8"';
SQLQuery.ExecSQL;


Если все годировки совпадают, то их можно задать запросом SET NAMES <кодировка>
Код: Выделить всё
SQLQuery.SQL.Text:='SET NAMES cp1251';
SQLQuery.ExecSQL;


Если есть вопросы по кодировкам в MySQL, пишите в тему
кодировка в MySQL
Аватара пользователя
shade
энтузиаст
 
Сообщения: 879
Зарегистрирован: 21.02.2006 20:15:48
Откуда: http://shamangrad.net/

Сообщение @lex » 28.02.2008 08:40:06

Вопрос: Как сделать в Lazarus под Linux так, чтобы он не создавал на панели задач кучу кнопок под все свои окошки и чтобы при щелчке по его главной кнопке, на передний план вылазили сразу все окна (как в Windows) ?
Вроде раньше если его пересобрать под gtk2 куча кнопок заменялись одной, но всё равно вылазило только главное окно и приходилось много раз нажимать Alt+TAB чтобы увидеть все.

1, если в KDE дело происходит, то c помощью kde-addons можно убрать с панели задач все окна, кроме редактора..
2, запускать на другом рабочем столе
3, В багтреккер жаловаться и надеятся¸ что когда-нибудь пофиксят
@lex
постоялец
 
Сообщения: 180
Зарегистрирован: 19.06.2006 13:16:29
Откуда: Невинномысск

Сообщение Padre_Mortius » 24.03.2008 01:32:01

Вопрос: Проблема с "Fatal: Can't find unit Contnrs used by Graphics" при компиляции Lazarus.

Ответ: Нет конфигурационого файла для fpc или он лежит не на месте. Для создания конфигурационного файла fpc.cfg необходимо запустить файл samplecfg, который находится рядом с ppc386 (у меня он лежит в папке /usr/lib/fpc/{fpc_version}). Файл fpc.cfg должен лежать в папке /etc
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: MailRu[bot] и гости: 11

Рейтинг@Mail.ru