Difference between revisions of "Zeos tutorial/ru"

From Free Pascal wiki
Jump to navigationJump to search
Line 79: Line 79:
 
* Теперь пакет должен скомпилироваться.
 
* Теперь пакет должен скомпилироваться.
  
= Make your first Zeos application =
+
= Делаем свое первое приложение Zeos =
  
* Drop a '''ZConnection'''.
+
* Бросьте на форму '''ZConnection'''.
** Set your User, Password, Host, Port and Protocol (and any other params if needed).
+
** Задайте свои User, Password, Host, Port и Protocol (и любые другие параметры, если необходимо).
** Set Connected to True.
+
** Установите Connected в True.
  
* Drop a '''ZQuery''' (<font color=red>do not mistake with ZReadOnlyQuery</font>).
+
* Бросьте на форму '''ZQuery''' (<font color=red>не перепутайте с ZReadOnlyQuery</font>).
** Set the Connection to your active ZConnection.
+
** Задайте свойству Connection значение ZConnection.
** Set the Sql property to something like '''SELECT * FROM MyTable'''
+
** Задайте для свойства Sql что-то вроде '''SELECT * FROM MyTable'''
** Set Active to True.
+
** Установите Active в True.
  
* Drop a '''DataSource''' from the '''[Data Access]''' tab.
+
* Бросьте на форму '''DataSource''' с вкладки '''[Data Access]'''.
** Set the DataSet to your active ZQuery.
+
** Задайте свойству DataSet ваш ZQuery.
  
* Drop a '''DBGrid''' from the '''[Data Controls]''' tab.
+
* Бросьте на форму '''DBGrid''' с вкладки '''[Data Controls]'''.
** Set the Datasource to your DataSource.
+
** Задайте свойству Datasource ваш DataSource.
** If all is ok you should now be able to see the records from your table.
+
** Если все в порядке, вы должны увидеть записи из своей таблицы..
  
 
= Possible Bugs and Issues =
 
= Possible Bugs and Issues =

Revision as of 16:06, 19 May 2021

Deutsch (de) English (en) español (es) français (fr) português (pt) русский (ru) 中文(中国大陆)‎ (zh_CN)

Databases portal

References:

Tutorials/practical articles:

Databases

Advantage - MySQL - MSSQL - Postgres - Interbase - Firebird - Oracle - ODBC - Paradox - SQLite - dBASE - MS Access - Zeos

Обзор

Это руководство посвящено получению, установке и использованию Zeoslib с Lazarus и FPC.

Получение Zeos

Zeos недавно был перенесен на Lazarus, и пока нет выпусков, которые официально поддерживают его, но вы можете легко получить его из SVN, если выполните следующие действия:

SVN

Windows

Linux/BSD

  • FreeBSD поставляется с предустановленным svnlite (клиент svn)
  • получите клиент SVN (esvn, kdesvn и т.д.)
  • создайте каталог zeosdbo, перейдите в этот каталог и выполните
  • svn checkout http://svn.code.sf.net/p/zeoslib/code-0/trunk

ZIP

Вы можете скачать последнюю версию в виде ZIP-файла с sourceforge.net:

Установка компонентов

Это сложная часть, поэтому вам следует проявить немного терпения и внимательно прочитать эту часть.

  • Убедитесь, что у вас последний снапшот Lazarus и версия FPC 2.0.3 не ранее 6 марта 2006г.
  • Запустите один экземпляр Lazarus.
  1. Используйте Components/Open Package File(.lpk) из главного меню.
  2. Перейдите в zeosdbo_rework\packages\lazarus\ и откройте zcomponent.lpk
  3. Нажмите только [Compile] в том случае, если вы не хотите устанавливать компоненты в IDE
  4. Нажмите [Install]
  5. Вас спросят, хотите ли вы перекомпилировать Lazarus.
  • Ответьте [Yes] на этот раз.
  • Дождитесь завершения компиляции, после этого Lazarus должен перезапуститься.
  • Если все в порядке, теперь вы должны увидеть вкладку [Zeos Access] на палитре компонентов.

Прим.перев: на момент перевода статьи (май 2021г) установка немного изменилась:

  • качаете исходный код отсюда https://svn.code.sf.net/p/zeoslib/code-0/trunk
  • открываете файл zeos\packages\lazarus\zcomponentdesign.lpk
  • жмете последовательно [Compile] и [Install]
  • пересобираете Лазарус

Zeos Components.png

Если вы получаете сообщение об ошибке "Cannot find unit ZClasses"(Не удается найти модуль ZClasses) или что-то подобное, вам необходимо внимательно проверить регистр имен файлов в исходном дистрибутиве Zeos.

  • Даже если случаи полностью совпадают, автоматически сгенерированный исходный файл пакета может сгенерировать неправильное имя случая в разделе uses (Lazarus 0.9.18), то есть:
{ This file was automatically created by Lazarus. Do not edit!
  This source is only used to compile and install the package.
}
unit Zcore; 
interface
uses
  Zclasses, Zcollections, Zcompatibility, Zexprparser, Zexprtoken, Zexpression, 
  Zfunctions, Zmatchpattern, Zmessages, Zsysutils, Ztokenizer, Zvariables, 
  Zvariant; 
implementation
end.
  • Обратите внимание, что Lazarus переименовал модуль ZClasses на Zclasses, что привело к конфликту имен. Предположительно это ошибка в Lazarus, а не в пакетах Zeos. Один из способов обойти это - переименовать все исходные файлы zeos в нижний регистр. Просмотрите каждый подкаталог в src/ и выполните эту команду в окне bash:
 rename -v 'y/A-Z/a-z/' *
  • Затем в Lazarus повторно откройте пакет (.lpk) и исправьте регистры имен файлов, нажав "More..."/"Fix Files Case"(Еще .../Исправить регистр файлов).
  • Теперь пакет должен скомпилироваться.

Делаем свое первое приложение Zeos

  • Бросьте на форму ZConnection.
    • Задайте свои User, Password, Host, Port и Protocol (и любые другие параметры, если необходимо).
    • Установите Connected в True.
  • Бросьте на форму ZQuery (не перепутайте с ZReadOnlyQuery).
    • Задайте свойству Connection значение ZConnection.
    • Задайте для свойства Sql что-то вроде SELECT * FROM MyTable
    • Установите Active в True.
  • Бросьте на форму DataSource с вкладки [Data Access].
    • Задайте свойству DataSet ваш ZQuery.
  • Бросьте на форму DBGrid с вкладки [Data Controls].
    • Задайте свойству Datasource ваш DataSource.
    • Если все в порядке, вы должны увидеть записи из своей таблицы..

Possible Bugs and Issues

  • I have noticed that sometimes when building Lazarus it cannot find some Zeos files, as a quick workaround try this:
    • Use Components/Package Graph from the main menu.
    • Open the ZComponent package.
    • Right Click on the Files item in the list.
    • Choose [Recompile all required].
    • When asked "Re-Compile this and all required packages?" answer [Yes].
    • Recompile Lazarus normally (with packages).

See also