Difference between revisions of "Zeos tutorial/de"

From Lazarus wiki
Jump to navigationJump to search
 
(20 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 
{{Zeos tutorial}}
 
{{Zeos tutorial}}
 
+
<br>
 +
Zurück zu den [[Additional information/de|Zusätzlichen Informationen]].<br>
 +
<br>
 +
__TOC__
 +
<br>
 
== Überblick ==
 
== Überblick ==
  
Dieses Tutorial ist über das Bekommen, Installieren und Verwenden von [http://zeos.firmos.at/portal.php Zeoslib] mit [[Glossary#Lazarus|Lazarus]] und [[Glossary#FreePascal|FPC]].
+
Dieses Tutorial handelt vom Bekommen, Installieren und Verwenden von [http://zeoslib.sourceforge.net/index.php Zeoslib] mit [[Glossary#Lazarus|Lazarus]] und [[Glossary#FreePascal|FPC]].
<br>
 
<br>
 
Das Zeos Team hat vor kurzem ein neues Forum erstellt. Bitte besuchen sie das neue Forum für mehr Informationen über ZeosLib und um Fragen zu stellen / zu beantworten über die Verwendung von Zeos und um Bugs zu melden. Das neue Forum ist hier zu finden [http://forum.zeoslib.net.ms Forum für ZeosLib]
 
  
 
== Erhalten von Zeos ==
 
== Erhalten von Zeos ==
  
Sie können Zeos einfach mittels SVN erhalten, wenn sie diesen Schritten folgen:
+
===SVN===
  
=== Windows ===
+
Sie können Zeos einfach mittels SVN erhalten, wenn Sie diesen Schritten folgen:
  
* Besorgen sie sich einen SVN Client (z.B.[http://tortoisesvn.tigris.org TortoiseSVN]) und installieren sie diesen.
+
==== Windows ====
 +
 
 +
* Besorgen Sie sich einen SVN Client (z.B.[http://tortoisesvn.tigris.org TortoiseSVN]) und installieren Sie diesen.
 
* Siehe [http://tortoisesvn.net/docs/release/TortoiseSVN_en/help-onepage.html#tsvn-dug-general Getting Started with TortoiseSVN]
 
* Siehe [http://tortoisesvn.net/docs/release/TortoiseSVN_en/help-onepage.html#tsvn-dug-general Getting Started with TortoiseSVN]
* machen sie einen Checkout vom Windows Explorer aus: svn://zeos.firmos.at/zeos/trunk
+
* machen Sie einen Checkout vom Windows Explorer aus: <nowiki>http://svn.code.sf.net/p/zeoslib/code-0/branches/testing</nowiki>
  
=== Linux/BSD ===
+
==== Linux/BSD ====
  
* Besorgen sie sich einen SVN Client (esvn, kdesvn, etc.)
+
* Besorgen Sie sich einen SVN Client (esvn, kdesvn, etc.)
* Erstellen sie ein Verzeichnis ''zeosdbo'', gehen in das Verzeichnis und starten
+
* Erstellen Sie ein Verzeichnis ''zeosdbo'', gehen in das Verzeichnis und starten
* svn checkout svn://zeos.firmos.at/zeos/trunk
+
* svn checkout <nowiki>http://svn.code.sf.net/p/zeoslib/code-0/branches/testing</nowiki>
 +
 
 +
===ZIP===
 +
 
 +
Sie können sich die aktuelle Version als ZIP-Datei von sourceforge.net herunterladen: [http://sourceforge.net/projects/zeoslib/ http://sourceforge.net/projects/zeoslib/]
  
 
== Installieren der Komponenten ==
 
== Installieren der Komponenten ==
  
* Stellen sie sicher, dass sie den neuesten [http://www.de.freepascal.org/lazarus/ Lazarus Snapshot] haben und mindestens FPC 2.0.3 nicht älter als vom 6. März 2006.
+
* Starten Sie eine Instanz von Lazarus.
 
 
* Starten sie eine Instanz von Lazarus.
 
  
# Benutzen sie '''Komponenten/Paketdatei (.lpk) öffnen''' im Hauptmenü.
+
# Benutzen Sie '''Package -> Packagedatei (.lpk) öffnen''' im Hauptmenü.
# Gehen sie zu '''zeosdbo_rework\packages\lazarus\''' und öffnen '''zcomponent.lpk'''
+
# Gehen Sie in das '''\packages\lazarus\''' Unterverzeichnis von Zeoslib und öffnen Sie '''zcomponent.lpk'''
# Drücken sie '''[Kompilieren]''' nur dann, wenn sie die Komponenten nicht in die IDE installieren wollen
+
# Drücken Sie '''Kompilieren''', um (vor allem) die Abhängigkeiten des Packages zu kompilieren
# Drücken sie '''[Installieren]'''
+
# Drücken Sie '''Nutzung... -> Installieren'''
# Sie werden gefragt, ob sie Lazarus rekompileren wollen.  
+
# Sie werden gefragt, ob Sie Lazarus rekompileren wollen.  
# Antworten sie diesmal mit '''[Yes]''' .
+
# Antworten Sie diesmal mit '''Ja''' .
# Warten sie bis die Kompilierung beendet ist. Lazarus sollte sich danach selbst neu starten.
+
# Warten Sie bis die Kompilierung beendet ist. Lazarus sollte sich danach selbst neu starten.
# Wenn alles ok ist, sollten sie jetzt den '''[Zeos Access]''' Tab in der Komponentenpalette sehen.
+
# Wenn alles ok ist, sollten Sie jetzt den '''Zeos Access''' Tab in der Komponentenpalette sehen.
  
 
[[image:Zeos_Components.png]]
 
[[image:Zeos_Components.png]]
  
If you receive the error "Cannot find unit ZClasses" or something similar, then you need to carefully check the case of the filenames in your Zeos source distribution.
+
Wenn Sie die Fehlermeldung "Cannot find unit ZClasses" oder Ähnliches erhalten, prüfen Sie sorgfältig die Groß/Klein-Schreibung des Dateinamens Ihrer Zeos Dateien (orig.: Zeos source distribution).
  
Change all file and directory names of then zeoslib-directory to lowercase. (easy to do with freeware tool "freecommander" for example)
+
Schreiben Sie alle Datei- und Verzeichnisnamen des zeoslib-Verzeichnisses in '''Klein'''buchstaben. (Mit dem freeware programm "freecommander" geht das z.B. ganz einfach)
Then, in Lazarus, reopen all packages (.lpk) and fix the filename cases by clicking on "More..."/"Fix Files Case". Compile them.  
+
In Lazarus öffen Sie danach wieder alle Packages (.lpk) und passen die Schreibweise der Dateinamen an, indem Sie anklicken :
 +
"More..."/"Fix Files Case". Compile them.  
  
* Even if the cases match exactly, the autogenerated package source file can generate the wrong case name in the uses clause (Lazarus 0.9.18), i.e.:
+
* Auch wenn die Groß/Klein-Schreibung genau passt, können die automatisch erzeugten Package Quell-Dateien Namen mit falscher Schreibweise (Groß/klein) in der uses Clause erzeugen : (Lazarus 0.9.18), i.e.:
  
 +
<syntaxhighlight lang="pascal">
 
   { This file was automatically created by Lazarus. Do not edit!
 
   { This file was automatically created by Lazarus. Do not edit!
 
     This source is only used to compile and install the package.
 
     This source is only used to compile and install the package.
Line 59: Line 66:
 
   implementation
 
   implementation
 
   end.           
 
   end.           
 +
</syntaxhighlight>
  
* Notice that Lazarus has named the unit ZClasses Zclasses, resulting in a naming conflict. Presumably this is a bug in Lazarus, not the Zeos packages. One way around this is to rename all the zeos source files to lowercase. Trawl through each subdirectory under src/ and execute this command in a bash window:
+
* Beachten Sie, dass Lazarus die unit ZClasses in Zclasses umgeschrieben hat, so dass sich ein Namenskonflikt ergibt. Das scheint ein Lazarus-Fehler zu sein, keiner des Zeos-Packages. Eine Möglichkeit, diesen Konflikt zu umgehen ist es, alle Zeos-Quelldateinamen kleinzuschreiben. Gehen Sie durch alle Unterverzeichnisse unter src/ and führen den Sie folgenden Befehl in einer bash-Kommandozeile aus:
  
 
   rename -v 'y/A-Z/a-z/' *
 
   rename -v 'y/A-Z/a-z/' *
Line 66: Line 74:
 
== Anmerkungen ==
 
== Anmerkungen ==
  
== Erstellen ihrer ersten Zeos Anwendung ==
+
== Erstellen Ihrer ersten Zeos-Anwendung ==
  
* Legen sie eine '''ZConnection''' ab (auf ihrem Formular).
+
* Legen Sie eine '''ZConnection''' ab (auf Ihrem Formular).
** Setzen sie ihren User, Password, Host, Port und Protocol (und jeden anderen Parameter falls benötigt).
+
** Setzen Sie ihren User, Password, Host, Port und Protocol (und jeden anderen Parameter falls benötigt). '''Hinweis für SQLite3-Nutzer''': Auch wenn Sie "sqlite-3" als Protokoll wählen, setzen Sie als Hostname einen Wert (z.B. localhost) ein, auch wenn man für sqlite3-Datenbanken diese Angabe naturgemäß nicht benötigt. Zeos verwendet intern als Trenner zwischen den Parametern ein Slash "/". Lässt man den Paramenter "Hostname" leer, so verwendet Zeos unter *NIX-Systemen (bei denen ein Slash "/" als Trenner in Pfadnamen verwendet wird) das erste Verzeichnis im Feld "Database" als Hostnamen, wodurch Zeos die Datenbank-Datei nicht mehr finden kann.
** Setzen sie Connected auf True.
+
** Setzen Sie Connected auf True.
  
* Legen sie eine '''ZQuery''' ab (<font color=red>nicht mit ZReadOnlyQuery verwechseln</font>).
+
* Legen Sie eine '''ZQuery''' ab (<font color=red>nicht mit ZReadOnlyQuery verwechseln</font>).
** Setzen sie Connection auf ihre aktive ZConnection.
+
** Setzen Sie Connection auf ihre aktive ZConnection.
** Setzen sie die SQL Eigenschaft auf etwas wie '''SELECT * FROM MyTable'''
+
** Setzen Sie die SQL-Eigenschaft auf etwas wie '''SELECT * FROM MyTable'''
** Setzen sie Active auf True.
+
** Setzen Sie Active auf True.
  
* Legen sie eine '''DataSource''' vom '''[Data Access]''' Tab ab.
+
* Legen Sie eine '''DataSource''' vom '''[Data Access]''' Tab ab.
** Setzen sie DataSet auf ihre aktive ZQuery.
+
** Setzen Sie DataSet auf Ihre aktive ZQuery.
  
* Legen sie ein '''DBGrid''' vom '''[Data Controls]''' Tab ab.
+
* Legen Sie ein '''DBGrid''' vom '''[Data Controls]''' Tab ab.
** Setzen sie Datasource auf ihre DataSource.
+
** Setzen Sie Datasource auf Ihre DataSource.
** Wenn alles ok ist, sollten sie jetzt die Datensätze aus ihrer Tabelle sehen.
+
** Wenn alles ok ist, sollten Sie jetzt die Datensätze aus Ihrer Tabelle sehen.
  
== Mehr Informationen über das Arbeiten mit Zeos ==
+
== Mögliche Bugs und Probleme ==
  
Hier können sie einige wirklich hilfreiche Artikel finden, welche die Verwendung von Zeos beschreiben und seine Interna, einige von ihnen handeln auch über Delphi spezifischen Stoff aber meistens können die gleichen Techniken ebenfalls in Lazarus verwendet werden.<br>
+
# Ich habe bemerkt, dass manchmal wenn Lazarus erstellt wird, einige Zeos-Dateien nicht gefunden werden, als provisorische Hilfe versuchen Sie dies:
 +
#* Benutzen Sie '''Komponenten/Paketgraph''' im Hauptmenü.
 +
#* Öffnen Sie das '''ZComponent''' Package.
 +
#* Klicken Sie rechts auf den '''Dateien''' Punkt in der Liste.
 +
#* Wählen Sie '''[Recompile all required]'''.
 +
#* Wenn gefragt wird "Re-Compile this and all required packages?" antworten Sie '''[Ja]'''.
 +
#* Rekompilieren Sie Lazarus normal (mit Packages).<br><br>
  
* [http://zeos.firmos.at/kb.php?mode=article&k=6 Die ZeosLib DBOs 6.1.5 - Mit Delphi 7 und Firebird 1.5]
+
==Weitere Informationen==
* [http://zeos.firmos.at/kb.php?mode=article&k=4 Überblick über die Zeos Database Objects Architecture]
 
* [http://zeos.firmos.at/kb.php?mode=article&k=5 Eine Einführung in das ZDBC API]
 
* Prüfen sie auch den [http://zeos.firmos.at/downloads.php Downloads] Abschnitt für echte Beispiele, welche einfach nach  Lazarus portiert werden können.
 
<br>
 
'''Bitte ergänzen sie diesen Bereich'''
 
  
== Mögliche Bugs und Probleme ==
+
* [http://zeoslib.sourceforge.net/index.php Forum für ZeosLib]
 +
* [[ZeosDBO]]
 +
* [https://lazarus.intern.es/tutorial_firebird_lazarus_zeos_2.html Tutorial Lazarus/Zeos/Firebird (Windows)] deutsch [https://lazarus.intern.es/download_tutorials_lazarus_zeos_firebird.html download]
  
# Ich habe bemerkt, dass manchmal wenn Lazarus erstellt wird, einige Zeos Dateien nicht gefunden werden, als provisorische Hilfe versuchen sie dies:
+
[[Category:Tutorials/de]][[Category:Databases/de]]{{AutoCategory}}
#* Benutzen sie '''Komponenten/Paketgraph''' im Hauptmenü.
 
#* Öffnen sie das '''ZComponent''' Package.
 
#* Klicken sie rechts auf den '''Dateien''' Punkt in der Liste.
 
#* Wählen sie '''[Recompile all required]'''.
 
#* Wenn gefragt wird "Re-Compile this and all required packages?" antworten sie '''[Ja]'''.
 
#* Rekompilieren sie Lazarus normal (mit Packages).<br><br>
 
# Es gibt einen Bug in [[Glossary#Freepascal|FPC's]] [http://lazarus-ccr.sourceforge.net/docs/rtl/sysutils/ansistrcomp.html AnsiStrComp], welcher einen unzuverlässigen PChar Vergleich verursacht, das ist deutlich wenn ein DBGrid zum Bearbeiten der Daten verwendet wird, '''AnsiStrComp('abc', 'abcd')''' kann sie nicht als unterschiedlich erkennen aber es erkennt '''AnsiStrComp('abd', 'abcd')''' ignorierend mehrere Zeichen in der zweiten Zeichenkette. Dieser Bug wurde von [[User:Jesusrmx|Jesusrmx]] gefunden. Er wird wahrscheinlich bald bereinigt, siehe [http://www.freepascal.org/bugs/showrec.php3?ID=4325 Bug Report].
 

Latest revision as of 06:48, 29 August 2019

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

Zurück zu den Zusätzlichen Informationen.


Überblick

Dieses Tutorial handelt vom Bekommen, Installieren und Verwenden von Zeoslib mit Lazarus und FPC.

Erhalten von Zeos

SVN

Sie können Zeos einfach mittels SVN erhalten, wenn Sie diesen Schritten folgen:

Windows

  • Besorgen Sie sich einen SVN Client (z.B.TortoiseSVN) und installieren Sie diesen.
  • Siehe Getting Started with TortoiseSVN
  • machen Sie einen Checkout vom Windows Explorer aus: http://svn.code.sf.net/p/zeoslib/code-0/branches/testing

Linux/BSD

  • Besorgen Sie sich einen SVN Client (esvn, kdesvn, etc.)
  • Erstellen Sie ein Verzeichnis zeosdbo, gehen in das Verzeichnis und starten
  • svn checkout http://svn.code.sf.net/p/zeoslib/code-0/branches/testing

ZIP

Sie können sich die aktuelle Version als ZIP-Datei von sourceforge.net herunterladen: http://sourceforge.net/projects/zeoslib/

Installieren der Komponenten

  • Starten Sie eine Instanz von Lazarus.
  1. Benutzen Sie Package -> Packagedatei (.lpk) öffnen im Hauptmenü.
  2. Gehen Sie in das \packages\lazarus\ Unterverzeichnis von Zeoslib und öffnen Sie zcomponent.lpk
  3. Drücken Sie Kompilieren, um (vor allem) die Abhängigkeiten des Packages zu kompilieren
  4. Drücken Sie Nutzung... -> Installieren
  5. Sie werden gefragt, ob Sie Lazarus rekompileren wollen.
  6. Antworten Sie diesmal mit Ja .
  7. Warten Sie bis die Kompilierung beendet ist. Lazarus sollte sich danach selbst neu starten.
  8. Wenn alles ok ist, sollten Sie jetzt den Zeos Access Tab in der Komponentenpalette sehen.

Zeos Components.png

Wenn Sie die Fehlermeldung "Cannot find unit ZClasses" oder Ähnliches erhalten, prüfen Sie sorgfältig die Groß/Klein-Schreibung des Dateinamens Ihrer Zeos Dateien (orig.: Zeos source distribution).

Schreiben Sie alle Datei- und Verzeichnisnamen des zeoslib-Verzeichnisses in Kleinbuchstaben. (Mit dem freeware programm "freecommander" geht das z.B. ganz einfach) In Lazarus öffen Sie danach wieder alle Packages (.lpk) und passen die Schreibweise der Dateinamen an, indem Sie anklicken : "More..."/"Fix Files Case". Compile them.

  • Auch wenn die Groß/Klein-Schreibung genau passt, können die automatisch erzeugten Package Quell-Dateien Namen mit falscher Schreibweise (Groß/klein) in der uses Clause erzeugen : (Lazarus 0.9.18), i.e.:
  { 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.
  • Beachten Sie, dass Lazarus die unit ZClasses in Zclasses umgeschrieben hat, so dass sich ein Namenskonflikt ergibt. Das scheint ein Lazarus-Fehler zu sein, keiner des Zeos-Packages. Eine Möglichkeit, diesen Konflikt zu umgehen ist es, alle Zeos-Quelldateinamen kleinzuschreiben. Gehen Sie durch alle Unterverzeichnisse unter src/ and führen den Sie folgenden Befehl in einer bash-Kommandozeile aus:
 rename -v 'y/A-Z/a-z/' *

Anmerkungen

Erstellen Ihrer ersten Zeos-Anwendung

  • Legen Sie eine ZConnection ab (auf Ihrem Formular).
    • Setzen Sie ihren User, Password, Host, Port und Protocol (und jeden anderen Parameter falls benötigt). Hinweis für SQLite3-Nutzer: Auch wenn Sie "sqlite-3" als Protokoll wählen, setzen Sie als Hostname einen Wert (z.B. localhost) ein, auch wenn man für sqlite3-Datenbanken diese Angabe naturgemäß nicht benötigt. Zeos verwendet intern als Trenner zwischen den Parametern ein Slash "/". Lässt man den Paramenter "Hostname" leer, so verwendet Zeos unter *NIX-Systemen (bei denen ein Slash "/" als Trenner in Pfadnamen verwendet wird) das erste Verzeichnis im Feld "Database" als Hostnamen, wodurch Zeos die Datenbank-Datei nicht mehr finden kann.
    • Setzen Sie Connected auf True.
  • Legen Sie eine ZQuery ab (nicht mit ZReadOnlyQuery verwechseln).
    • Setzen Sie Connection auf ihre aktive ZConnection.
    • Setzen Sie die SQL-Eigenschaft auf etwas wie SELECT * FROM MyTable
    • Setzen Sie Active auf True.
  • Legen Sie eine DataSource vom [Data Access] Tab ab.
    • Setzen Sie DataSet auf Ihre aktive ZQuery.
  • Legen Sie ein DBGrid vom [Data Controls] Tab ab.
    • Setzen Sie Datasource auf Ihre DataSource.
    • Wenn alles ok ist, sollten Sie jetzt die Datensätze aus Ihrer Tabelle sehen.

Mögliche Bugs und Probleme

  1. Ich habe bemerkt, dass manchmal wenn Lazarus erstellt wird, einige Zeos-Dateien nicht gefunden werden, als provisorische Hilfe versuchen Sie dies:
    • Benutzen Sie Komponenten/Paketgraph im Hauptmenü.
    • Öffnen Sie das ZComponent Package.
    • Klicken Sie rechts auf den Dateien Punkt in der Liste.
    • Wählen Sie [Recompile all required].
    • Wenn gefragt wird "Re-Compile this and all required packages?" antworten Sie [Ja].
    • Rekompilieren Sie Lazarus normal (mit Packages).

Weitere Informationen