From 3848b4648aa436b8b2edba9e4ad65ec050e1b74a Mon Sep 17 00:00:00 2001 From: "Marc G. Fournier" Date: Mon, 20 Sep 1999 22:32:50 +0000 Subject: [PATCH] fixing it more.. --- src/bin/pgaccess/doc/html/a_right.gif | Bin 0 -> 207 bytes src/bin/pgaccess/doc/html/addindex.gif | Bin 0 -> 11402 bytes src/bin/pgaccess/doc/html/api.html | 232 ++++++++ src/bin/pgaccess/doc/html/ball.gif | Bin 0 -> 176 bytes src/bin/pgaccess/doc/html/contents.html | 29 + src/bin/pgaccess/doc/html/copyright.html | 39 ++ src/bin/pgaccess/doc/html/documentation.html | 19 + src/bin/pgaccess/doc/html/download.html | 42 ++ src/bin/pgaccess/doc/html/faq.html | 85 +++ src/bin/pgaccess/doc/html/features.html | 52 ++ src/bin/pgaccess/doc/html/formdemo.sql | 216 +++++++ src/bin/pgaccess/doc/html/forms.gif | Bin 0 -> 20106 bytes src/bin/pgaccess/doc/html/forms.html | 203 +++++++ src/bin/pgaccess/doc/html/function.gif | Bin 0 -> 10022 bytes src/bin/pgaccess/doc/html/help.gif | Bin 0 -> 7082 bytes src/bin/pgaccess/doc/html/index.html | 11 + src/bin/pgaccess/doc/html/irix.html | 133 +++++ src/bin/pgaccess/doc/html/linux1.gif | Bin 0 -> 789 bytes src/bin/pgaccess/doc/html/maillist.html | 43 ++ src/bin/pgaccess/doc/html/main.html | 34 ++ src/bin/pgaccess/doc/html/mainwindow.gif | Bin 0 -> 8857 bytes src/bin/pgaccess/doc/html/newtable.gif | Bin 0 -> 9317 bytes src/bin/pgaccess/doc/html/newuser.gif | Bin 0 -> 3965 bytes src/bin/pgaccess/doc/html/old_index.html | 143 +++++ src/bin/pgaccess/doc/html/permissions.gif | Bin 0 -> 10414 bytes src/bin/pgaccess/doc/html/pg93patch.html | 25 + src/bin/pgaccess/doc/html/pga-rad.html | 65 +++ src/bin/pgaccess/doc/html/qbtclet.html | 45 ++ src/bin/pgaccess/doc/html/qbtclet.tcl | 529 +++++++++++++++++ src/bin/pgaccess/doc/html/screenshots.html | 43 ++ src/bin/pgaccess/doc/html/specialchars.html | 47 ++ src/bin/pgaccess/doc/html/todo.html | 11 + src/bin/pgaccess/doc/html/tutorial/addref.jpg | Bin 0 -> 28655 bytes .../pgaccess/doc/html/tutorial/altern_q.jpg | Bin 0 -> 13639 bytes .../pgaccess/doc/html/tutorial/altern_v.jpg | Bin 0 -> 16987 bytes .../pgaccess/doc/html/tutorial/copyright.html | Bin 0 -> 20480 bytes src/bin/pgaccess/doc/html/tutorial/index.html | 33 ++ src/bin/pgaccess/doc/html/tutorial/intro.html | 39 ++ src/bin/pgaccess/doc/html/tutorial/irix.html | 133 +++++ src/bin/pgaccess/doc/html/tutorial/newref.txt | 1 + .../pgaccess/doc/html/tutorial/newtable.jpg | Bin 0 -> 29164 bytes .../pgaccess/doc/html/tutorial/newtable.tga | Bin 0 -> 44583 bytes .../pgaccess/doc/html/tutorial/problems.html | 83 +++ .../pgaccess/doc/html/tutorial/screen1.jpg | Bin 0 -> 15331 bytes .../pgaccess/doc/html/tutorial/sel_tbl.jpg | Bin 0 -> 15983 bytes src/bin/pgaccess/doc/html/tutorial/start.html | 74 +++ src/bin/pgaccess/doc/html/tutorial/tut.html | 50 ++ .../pgaccess/doc/html/tutorial/tut_edit.html | 39 ++ .../pgaccess/doc/html/tutorial/tut_new.html | 36 ++ .../pgaccess/doc/html/tutorial/tut_sel1.html | 36 ++ .../pgaccess/doc/html/tutorial/tut_user.html | 28 + src/bin/pgaccess/doc/html/vdesigner.gif | Bin 0 -> 15903 bytes src/bin/pgaccess/doc/html/whatsnew.html | 50 ++ src/bin/pgaccess/doc/html/win32.html | 45 ++ src/bin/pgaccess/images/icon_button.gif | Bin 0 -> 896 bytes src/bin/pgaccess/images/icon_checkbutton.gif | Bin 0 -> 873 bytes src/bin/pgaccess/images/icon_entry.gif | Bin 0 -> 907 bytes src/bin/pgaccess/images/icon_frame.gif | Bin 0 -> 908 bytes src/bin/pgaccess/images/icon_label.gif | Bin 0 -> 80 bytes src/bin/pgaccess/images/icon_listbox.gif | Bin 0 -> 896 bytes src/bin/pgaccess/images/icon_query.gif | Bin 0 -> 897 bytes src/bin/pgaccess/images/icon_radiobutton.gif | Bin 0 -> 870 bytes src/bin/pgaccess/images/icon_text.gif | Bin 0 -> 911 bytes src/bin/pgaccess/lib/languages/francais | 525 +++++++++++++++++ src/bin/pgaccess/lib/languages/italiano | 539 ++++++++++++++++++ src/bin/pgaccess/lib/languages/magyar | 525 +++++++++++++++++ src/bin/pgaccess/lib/languages/romana | 526 +++++++++++++++++ 67 files changed, 4808 insertions(+) create mode 100644 src/bin/pgaccess/doc/html/a_right.gif create mode 100644 src/bin/pgaccess/doc/html/addindex.gif create mode 100644 src/bin/pgaccess/doc/html/api.html create mode 100644 src/bin/pgaccess/doc/html/ball.gif create mode 100644 src/bin/pgaccess/doc/html/contents.html create mode 100644 src/bin/pgaccess/doc/html/copyright.html create mode 100644 src/bin/pgaccess/doc/html/documentation.html create mode 100644 src/bin/pgaccess/doc/html/download.html create mode 100644 src/bin/pgaccess/doc/html/faq.html create mode 100644 src/bin/pgaccess/doc/html/features.html create mode 100644 src/bin/pgaccess/doc/html/formdemo.sql create mode 100644 src/bin/pgaccess/doc/html/forms.gif create mode 100644 src/bin/pgaccess/doc/html/forms.html create mode 100644 src/bin/pgaccess/doc/html/function.gif create mode 100644 src/bin/pgaccess/doc/html/help.gif create mode 100644 src/bin/pgaccess/doc/html/index.html create mode 100644 src/bin/pgaccess/doc/html/irix.html create mode 100644 src/bin/pgaccess/doc/html/linux1.gif create mode 100644 src/bin/pgaccess/doc/html/maillist.html create mode 100644 src/bin/pgaccess/doc/html/main.html create mode 100644 src/bin/pgaccess/doc/html/mainwindow.gif create mode 100644 src/bin/pgaccess/doc/html/newtable.gif create mode 100644 src/bin/pgaccess/doc/html/newuser.gif create mode 100644 src/bin/pgaccess/doc/html/old_index.html create mode 100644 src/bin/pgaccess/doc/html/permissions.gif create mode 100644 src/bin/pgaccess/doc/html/pg93patch.html create mode 100644 src/bin/pgaccess/doc/html/pga-rad.html create mode 100644 src/bin/pgaccess/doc/html/qbtclet.html create mode 100644 src/bin/pgaccess/doc/html/qbtclet.tcl create mode 100644 src/bin/pgaccess/doc/html/screenshots.html create mode 100644 src/bin/pgaccess/doc/html/specialchars.html create mode 100644 src/bin/pgaccess/doc/html/todo.html create mode 100644 src/bin/pgaccess/doc/html/tutorial/addref.jpg create mode 100644 src/bin/pgaccess/doc/html/tutorial/altern_q.jpg create mode 100644 src/bin/pgaccess/doc/html/tutorial/altern_v.jpg create mode 100644 src/bin/pgaccess/doc/html/tutorial/copyright.html create mode 100644 src/bin/pgaccess/doc/html/tutorial/index.html create mode 100644 src/bin/pgaccess/doc/html/tutorial/intro.html create mode 100644 src/bin/pgaccess/doc/html/tutorial/irix.html create mode 100644 src/bin/pgaccess/doc/html/tutorial/newref.txt create mode 100644 src/bin/pgaccess/doc/html/tutorial/newtable.jpg create mode 100644 src/bin/pgaccess/doc/html/tutorial/newtable.tga create mode 100644 src/bin/pgaccess/doc/html/tutorial/problems.html create mode 100644 src/bin/pgaccess/doc/html/tutorial/screen1.jpg create mode 100644 src/bin/pgaccess/doc/html/tutorial/sel_tbl.jpg create mode 100644 src/bin/pgaccess/doc/html/tutorial/start.html create mode 100644 src/bin/pgaccess/doc/html/tutorial/tut.html create mode 100644 src/bin/pgaccess/doc/html/tutorial/tut_edit.html create mode 100644 src/bin/pgaccess/doc/html/tutorial/tut_new.html create mode 100644 src/bin/pgaccess/doc/html/tutorial/tut_sel1.html create mode 100644 src/bin/pgaccess/doc/html/tutorial/tut_user.html create mode 100644 src/bin/pgaccess/doc/html/vdesigner.gif create mode 100644 src/bin/pgaccess/doc/html/whatsnew.html create mode 100644 src/bin/pgaccess/doc/html/win32.html create mode 100644 src/bin/pgaccess/images/icon_button.gif create mode 100644 src/bin/pgaccess/images/icon_checkbutton.gif create mode 100644 src/bin/pgaccess/images/icon_entry.gif create mode 100644 src/bin/pgaccess/images/icon_frame.gif create mode 100644 src/bin/pgaccess/images/icon_label.gif create mode 100644 src/bin/pgaccess/images/icon_listbox.gif create mode 100644 src/bin/pgaccess/images/icon_query.gif create mode 100644 src/bin/pgaccess/images/icon_radiobutton.gif create mode 100644 src/bin/pgaccess/images/icon_text.gif create mode 100644 src/bin/pgaccess/lib/languages/francais create mode 100644 src/bin/pgaccess/lib/languages/italiano create mode 100644 src/bin/pgaccess/lib/languages/magyar create mode 100644 src/bin/pgaccess/lib/languages/romana diff --git a/src/bin/pgaccess/doc/html/a_right.gif b/src/bin/pgaccess/doc/html/a_right.gif new file mode 100644 index 0000000000000000000000000000000000000000..386e27c304feb300eb29248ae887e13fb338bf70 GIT binary patch literal 207 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 Y*T4PWKmO;x{_j8k_rL#_b_f6fJK5uimH+?% literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/doc/html/api.html b/src/bin/pgaccess/doc/html/api.html new file mode 100644 index 0000000000..7630fd2054 --- /dev/null +++ b/src/bin/pgaccess/doc/html/api.html @@ -0,0 +1,232 @@ + + + + + + + + +

+PgAccess developer API

+ +
+
Starting with PgAccess 0.98 I am planning to make available a complete +API for the PgAccess developers. I plan to make PgAccess not just an administrative +tool, but also a tool for easy build of small applications. +

That's why PgAccess 0.98 has been internally restructured, every main +module of PgAccess has became a namespace (see Tcl namespaces) in order  +to hide the variables and internal procedures to the user. Also, all the +global variables that have been used before were grouped under a single +big associative array called PgAcVar (PgAccess variables) so they +should not interfere with user defined global variables. +
  +
  +

Global variables available +
  +

+ + + + + + + + + + + + + + + + + + + + + + + +
PgAcVarThe main global associative array that hold together various information +needed by PgAccess. User should NOT +alter it under any circumstances.
CurrentDBThe handler of the current opened database. Can be used for database +operations as selects or command execution.
MessagesThe associative array that holds the translation for the current +language. Loaded from the appropriate language file from lib/languages +directory
PGACCESS_HOMEKeep the system directory of PgAccess root installation
+ +
  +

Window naming convention +

Every toplevel window defined by PgAccess has the following naming convention. +Every window name starts with .pgaw (PgAccess window) followed +by a colon and a name. Example: +

.pgaw:User , .pgaw:About , .pgaw:ImportExport
+Namespaces available +

For every tab from the main database window there is a namespace defined +(Tables, Queries, Views, Functions, Sequences, Reports, Forms, Scripts, +Users, Schema). Every namespace has by default the following  procedures: +

    +
  • +new  , no parameter needed
  • + +
  • +open , need a single parameter, the object name
  • + +
  • +design , need a single parameter, the object name
  • +
+You can use these procedures if you want to produce the same efects as +clicking on the desired tab and then on the "New", "Open" or "Design" buttons +from the main database window. +
Example: +
Tables::open "customers" +
Queries::open "Invoices received" +
Forms::open "Add new invoice"
+The Tables::open procedure accepts two optional parameters, filter +and order. +
Example: +
Tables::open "phonebook" "name ~* 'joe'" "age desc"
+will open a table view window with predefined filter "name ~* 'joe'" and +ordered by descending age. +

There is also a special namespace called Database.  Here are some +procedures and functions defined for this namespace available to the user: +
  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameParametersTypeReturnsDescription
vacuumnoneprocedurenothingvacuums the current database
getTablesListnonefunctionlistreturns the list of tables from the current database
executeUpdatesqlcmdfunctionintegerexecute the sqlcmd command on the current database returning +1 if no errors ocurred or 0 if the command failed
+ +

Global functions available +
  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameParametersDescription
setCursortypeSet the cursor for all PgAccess windows, type of cursor can +be WAIT or CLOCK or WATCH for the hourglass , anything else (or none) to +return to the normal cursor shape
parametermsgShows a modal input dialog with the msg message, wait for user +to enter the data and returns it as a string
showErrormsgShows a modal dialog window with an error message
+ + + diff --git a/src/bin/pgaccess/doc/html/ball.gif b/src/bin/pgaccess/doc/html/ball.gif new file mode 100644 index 0000000000000000000000000000000000000000..02d203471ed785ff5148f6ce7193cee8b248c447 GIT binary patch literal 176 zcmZ?wbhEHbwn(@puhMC3;X+Xrl;KK0k-MhPY@9y5c zd)2B{KxO6S<)NXWN=ix$qyWXAEQ}!aIv@gMrvt05f^ryYhp{tqcs-07g_U^#A|> literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/doc/html/contents.html b/src/bin/pgaccess/doc/html/contents.html new file mode 100644 index 0000000000..971f3f43dc --- /dev/null +++ b/src/bin/pgaccess/doc/html/contents.html @@ -0,0 +1,29 @@ + + + + + + + + +
What is PgAccess? +
What's new? +
Features +
Screenshots +
FAQ +
Documentation +
To-Do list +
Download +
  +


+

+

+ +

Other links +
PostgreSQL +
Visual Tcl +
Tcl/Tk +
Linux +
vTcLava + + diff --git a/src/bin/pgaccess/doc/html/copyright.html b/src/bin/pgaccess/doc/html/copyright.html new file mode 100644 index 0000000000..d67654b88e --- /dev/null +++ b/src/bin/pgaccess/doc/html/copyright.html @@ -0,0 +1,39 @@ + + + + + PgAccess - Copyright notice + + +--------------------------------------------------------------------------- +
  +
  + +

Copyright (c) 1994-7 Regents of the University of California + +

Permission to use, copy, modify, and distribute this software and +its +
documentation for any purpose, without fee, and without a written +agreement +
is hereby granted, provided that the above copyright notice and +this +
paragraph and the following two paragraphs appear in all copies. + +

IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY +PARTY FOR +
DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, +INCLUDING +
LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS +
DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED +OF THE +
POSSIBILITY OF SUCH DAMAGE. + +

THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, +
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +
AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER +IS +
ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS +TO +
PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + diff --git a/src/bin/pgaccess/doc/html/documentation.html b/src/bin/pgaccess/doc/html/documentation.html new file mode 100644 index 0000000000..48d3fa5ec1 --- /dev/null +++ b/src/bin/pgaccess/doc/html/documentation.html @@ -0,0 +1,19 @@ + + + + + + + + +

+Documentation

+ +
+

Still need to be written. Some information can be found in the help +included in the main program. +

Jim Lemon <Jim.Lemon@uts.EDU.AU> has started writing a tutorial. +Thought it is based on earlier versions than 0.98 it is a beginning after +all, isn't it ? + + diff --git a/src/bin/pgaccess/doc/html/download.html b/src/bin/pgaccess/doc/html/download.html new file mode 100644 index 0000000000..efbe7bf50a --- /dev/null +++ b/src/bin/pgaccess/doc/html/download.html @@ -0,0 +1,42 @@ + + + + + + + + +

+Download

+ +
+
The primary site for PgAccess downloads is: + + +

Another one (just with a little bit faster, try this one first) would +be : +

+ +
  + + diff --git a/src/bin/pgaccess/doc/html/faq.html b/src/bin/pgaccess/doc/html/faq.html new file mode 100644 index 0000000000..f66dd8321a --- /dev/null +++ b/src/bin/pgaccess/doc/html/faq.html @@ -0,0 +1,85 @@ + + + + + + + + +

+PgAccess - FAQ

+ +
+
1. When I run PgAccess I got a message complaining about the crypt +library! What should I do? +
Versions of PostgreSQL prior to 6.5.1 couldn't reliably detect +the presence of the crypt library on RedHat 5.x systems. That's why the +libpgtcl library does not include reference to crypt. You will need to +get a proper copy of libpgtcl.so library or to compile one. Go to the postgresql +source directory into src/interfaces/libpgtcl and edit Makefile adding +-lcrypt to the end of the line SHLIB_LINKS. Make clean and make again. +Your libpgtcl.so is now prepare to run PgAccess. I strongly recommend you +to upgrade to PostgreSQL 6.5.1 where this problem has been solved.
+2. I cannot connect to a database from another machine +
There may be two problems here. First of all, PgAccess running +on the localhost is using two PostgreSQL dependent libraries, libpq and +libpgtcl. Each of them are compiled for a specific PostgreSQL version. +If the PostgreSQL version running on your server is different you might +experience problems. The other problem is related to access rights. On +the PostgreSQL server, in data directory there is a file pg_hba.conf that +will grant access rights to users based on host authentication. Ask your +database administrator to check if your workstation is listed there with +the appropriate access rights. Try for the beginning the 'trust' mode, +allowing full access to the databases.
+3. I am experiencing core dumps when trying to run PgAccess. Is PgAccess +broken? +
No. There were NEVER reported crashes because of PgAccess. +All of them were related to bad libraries usage. The most frequent was +the installing of a new PostgreSQL on a RedHat 5.x server where the postgresql-clients +rpm still exists. So, PgAccess was trying to use the old libpgtcl.so library +suitable for an older version of PostgreSQL. Before installing a new PostgreSQL +(either by compiling it ot by rpm packages) remove ANY TRACE of old PostgreSQL. +PgAccess is fully relying on libpgtcl library in order to get access to +the database so when you are experiencing that kind of problems, double-check +libpq and libpgtcl libraries.
+4. When I try to run PgAccess I get the following error : Application +initialization failed: couldn't connect to display "" +
That kind of error was reported on some Linux RedHat 5.x systems +when user has su - to root and tried to run PgAccess. Some unknown errors +in login scripts are not defining the DISPLAY environment and the wish +application cannot connect to the X display. Try typing export DISPLAY=localhost:0.0 +and run PgAccess again.
+5. Cannot run PgAccess on a Windows machine. +
In order to use PgAccess on Windows you must have installed +two libraries libpq.dll and libpgtcl.dll suitable for your Tcl/Tk package +and your PostgreSQL server. Note that libraries that work with Tcl/Tk 8.0.x +won't work with Tcl/Tk 8.1.x and libraries that work with 6.4.2 backend +won't work with 6.5.x. So, you must properly identify your Tcl/Tk package +version and your PostgreSQL version and download from the Downloads section +(or pick from the win32/dll directory of PgAccess distribution) the right +files. Copy them into your Windows/System directory and try again. Also, +you should be able to access over the network the machine running the PostgreSQL +server (try ping-ing it) and have the proper access rights to the database.
+6. How much costs PgAccess? +
PgAccess is a free tool. You won't have to pay anything in +order to use it. It is protected by the following copyright +as PostgreSQL is. I cannot guarantee technical support but I will try to +answer to your questions as much as I can.
+7. I want to translate PgAccess messages for xxx language. What should +I do? +
In the PgAccess distribution in lib/languages directory there +are files with messages translated for different languages. Copy one of +them and name it after your native language and then start editing it translating +all the messages. Save it into the same directory and that's all. Don't +forget to send me a copy in order to include it into the standard distribution.
+ +


8. I am receiving the following error: message invalid command +name "namespace" while executing "namespace eval Mainlib  ..." +

That means 100% that you have an older version of Tcl/Tk that +don't recognize namespaces command. Please upgrade to Tcl/Tk 8.0.x minimum
+ +
  +
  +
  + + diff --git a/src/bin/pgaccess/doc/html/features.html b/src/bin/pgaccess/doc/html/features.html new file mode 100644 index 0000000000..4531663be3 --- /dev/null +++ b/src/bin/pgaccess/doc/html/features.html @@ -0,0 +1,52 @@ + + + + + + + +Tables +
- opening multiple tables for viewing, max. n records (changed by preferences +menu) +
- column resizing, dragging the vertical grid line (better in table +space rather than in the table header) +
- text wrap in cells - layout saved for every table +
- import/export to external files (SDF,CSV) +
- filter capabilities (enter filter like (price>3.14) +
- sort order capabilities (enter manually the sort field(s)) +
- editing in place +
- improved table generator assistant +
- improved field editing +
Queries +
- define , edit and stores "user defined queries" +
- store queries as views +
- execution of queries with optional user input parameters ( select +* from invoices where year=[parameter "Year of selection"] ) +
- viewing of select type queries result +
- query deleting and renaming +
- visual query builder with drag & drop capabilities. For any of +you who had installed the Tcl/Tk plugin for Netscape Navigator, you can +see it at work clicking here +
Sequences +
- defines sequences, delete them and inspect them +
Functions +
- define, inspect and delete functions in SQL, plpgsql and pgtcl languages +
Reports +
- design and display simple reports from tables +
- fields and labels, font changing, style and size +
- saves and loads report description from database +
- show report previews, sample postscript output file +
Forms +
- open user defined forms +
- form design module available +
- query widget available, controls bound to query results +
- click here for a description of forms and +how they can be used +
Scripts +
- define, modify and call user defined scripts +
Users +
- define and modify user information +

PgAccess API for developing small applications +
  + + diff --git a/src/bin/pgaccess/doc/html/formdemo.sql b/src/bin/pgaccess/doc/html/formdemo.sql new file mode 100644 index 0000000000..73bf1c5027 --- /dev/null +++ b/src/bin/pgaccess/doc/html/formdemo.sql @@ -0,0 +1,216 @@ +\connect - teo +CREATE SEQUENCE "cities_id_seq" start 7 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ; +SELECT nextval ('cities_id_seq'); +CREATE TABLE "pga_queries" ( + "queryname" character varying(64), + "querytype" character, + "querycommand" text, + "querytables" text, + "querylinks" text, + "queryresults" text, + "querycomments" text); +CREATE TABLE "pga_forms" ( + "formname" character varying(64), + "formsource" text); +CREATE TABLE "pga_scripts" ( + "scriptname" character varying(64), + "scriptsource" text); +CREATE TABLE "pga_reports" ( + "reportname" character varying(64), + "reportsource" text, + "reportbody" text, + "reportprocs" text, + "reportoptions" text); +CREATE TABLE "phonebook" ( + "name" character varying(32), + "phone_nr" character varying(16), + "city" character varying(32), + "company" bool, + "continent" character varying(16)); +CREATE TABLE "pga_layout" ( + "tablename" character varying(64), + "nrcols" int2, + "colnames" text, + "colwidth" text); +CREATE TABLE "pga_schema" ( + "schemaname" character varying(64), + "schematables" text, + "schemalinks" text); +REVOKE ALL on "pga_schema" from PUBLIC; +GRANT ALL on "pga_schema" to PUBLIC; +CREATE TABLE "cities" ( + "id" int4 DEFAULT nextval('"cities_id_seq"') NOT NULL, + "name" character varying(32) NOT NULL, + "prefix" character varying(16) NOT NULL); +CREATE FUNCTION "getcityprefix" (int4 ) RETURNS varchar AS 'select prefix from cities where id = $1 ' LANGUAGE 'SQL'; +COPY "pga_queries" FROM stdin; +Query that can be saved as view S select * from phonebook where continent='usa' \N \N \N \N +\. +COPY "pga_forms" FROM stdin; +Working with Tables namespace f3 13 {3 4 5 6 7 9 10 11 12 13} 377x263+59+127 {radio usa {36 24 138 36} {} USA selcont} {radio europe {36 45 141 60} {} Europe selcont} {radio africa {36 66 147 81} {} Africa selcont} {label label6 {9 99 339 114} {} {Select one of the above continents and press} {}} {button button7 {270 93 354 117} {Tables::open phonebook "continent='$selcont'" $selorder} {Show them} {}} {button button9 {66 189 312 213} {Tables::design phonebook} {Show me the phonebook table structure} {}} {button button10 {141 228 240 252} {destroy .f3} {Close the form} {}} {button button11 {93 141 282 165} {Tables::open phonebook "company=true"} {Show me only the companies} {}} {radio name {183 24 261 36} {} {Order by name} selorder} {radio phone_nr {183 45 267 57} {} {Order by phone number} selorder} +A simple demo form asdf 14 {FS {set color none}} 370x310+50+75 {label label1 {15 36 99 57} {} {Selected color} {} label1 flat #000000 #d9d9d9 1} {entry entry2 {111 36 225 54} {} entry2 color entry2 sunken #000000 #fefefe 1} {radio red {249 21 342 36} {} {Red as cherry} color red flat #900000 #d9d9d9 1} {radio green {249 45 342 60} {} {Green as a melon} color green flat #008800 #d9d9d9 1} {radio blue {249 69 342 84} {} {Blue as the sky} color blue flat #00008c #d9d9d9 1} {button button6 {45 69 198 99} {set color spooky} {Set a weird color} {} button6 ridge #0000b0 #dfbcdf 2} {label label7 {24 129 149 145} {} {The checkbox's value} {} label7 flat #000000 #d9d9d9 1} {entry entry8 {162 127 172 145} {} entry8 cbvalue entry8 sunken #000000 #fefefe 1} {checkbox checkbox9 {180 126 279 150} {} {Check me :-)} cbvalue checkbox9 flat #000000 #d9d9d9 1} {button button10 {219 273 366 303} {destroy .asdf} {Close that simple form} {} button10 raised #000000 #d9d9d9 1} {button button11 {219 237 366 267} {Forms::open "Phone book"} {Open my phone book} {} button11 raised #000000 #d9d9d9 1} {listbox lb {12 192 162 267} {} listbox12 {} lb sunken #000000 #fefefe 1} {button button13 {12 156 162 186} {.asdf.lb insert end red green blue cyan white navy black purple maroon violet} {Add some information} {} button13 raised #000000 #d9d9d9 1} {button button14 {12 273 162 303} {.asdf.lb delete 0 end} {Clear this listbox} {} button14 raised #000000 #d9d9d9 1} +Working with listboxes f2 5 {FS {set thestudent ""}} 257x263+139+147 {listbox lb {6 6 246 186} {} listbox1 {} lb sunken #000000 #ffffd4 1} {button button2 {9 234 124 258} {# Populate the listbox with some data\ +#\ +\ +foreach student {John Bill Doe Gigi} {\ +\ .f2.lb insert end $student\ +}\ +\ +\ +\ +# Binding the event left button release to the\ +# list box\ +\ +bind .f2.lb {\ +\ set idsel [.f2.lb curselection]\ +\ if {$idsel!=""} {\ +\ \ set thestudent [.f2.lb get $idsel]\ +\ }\ +}\ +\ +# Cleaning the variable thestudent\ +\ +set thestudent {}} {Show students} {} button2 groove #000000 #d9d9d9 2} {button button3 {132 234 247 258} {destroy .f2} {Close the form} {} button3 groove #000000 #d9d9d9 1} {label label4 {9 213 119 228} {} {You have selected} {} label4 flat #000000 #d9d9d9 1} {label label5 {129 213 219 228} {} {} thestudent label5 flat #00009a #d9d9d9 1} +The simplest form mf 5 {FS {set thename {}}} 306x136+82+146 {label label {42 45 99 60} {} Name {} label flat #000000 #d9d9d9 1 {Helvetica 12 bold italic}} {entry ename {120 42 219 63} {} entry2 thename ename sunken #000000 #fefefe 1 n} {button button3 {6 96 108 129} {set thename Teo} {Set the name} {} button3 raised #000000 #d9d9d9 1 n} {button button4 {192 96 300 129} {destroy .mf} {Close the form} {} button4 raised #000000 #d9d9d9 1 n} {button button5 {114 96 186 129} {set thename {}} {Clear it} {} button5 raised #000000 #d9d9d9 1 n} +Full featured form full 21 {FS {set entrydemo {nice}\ +set color {no color selected}}} 377x418+50+130 {label label1 {3 396 165 411} {} {Status line} {} {} sunken #000000 #d9d9d9 2 n} {label label2 {171 396 369 411} {} {Grooved status line} {} {} groove #000098 #d9d9d9 2 f} {label label3 {108 9 270 31} {} { Full featured form} {} {} ridge #000000 #d9d9d9 4 {Times 16 bold italic}} {button button4 {15 210 144 243} {.full.lb insert end {it's} a nice demo form} {Java style button} {} {} groove #6161b6 #d9d9d9 2 b} {label label5 {15 42 115 58} {} {Java style label} {} {} flat #6161b6 #d9d9d9 1 b} {entry entry6 {123 39 279 60} {} entry6 entrydemo {} groove #000000 #fefefe 2 {Courier 13}} {listbox lb {12 69 147 201} {} listbox8 {} {} ridge #000000 #ffffc8 2 n} {button button9 {18 264 39 282} {} 1 {} {} flat #000000 #d9d9d9 1 n} {button button10 {48 264 68 282} {} 2 {} {} flat #000000 #d9d9d9 1 n} {button button11 {78 264 234 282} {} {and other hidden buttons} {} {} flat #000000 #d9d9d9 1 n} {text txt {153 69 372 201} {} text12 {} {} sunken #000000 #d4ffff 1 n} {button button13 {150 210 369 243} {.full.txt tag configure bold -font {Helvetica 12 bold}\ +.full.txt tag configure italic -font {Helvetica 12 italic}\ +.full.txt tag configure large -font {Helvetica -14 bold}\ +.full.txt tag configure title -font {Helvetica 12 bold italic} -justify center\ +.full.txt tag configure link -font {Helvetica -12 underline} -foreground #000080\ +.full.txt tag configure code -font {Courier 13}\ +.full.txt tag configure warning -font {Helvetica 12 bold} -foreground #800000\ +\ +# That't the way help files are written\ +\ +.full.txt delete 1.0 end\ +.full.txt insert end {Centered title} {title} "\ +\ +You can make different " {} "portions of text bold" {bold} " or italic " {italic} ".\ +Some parts of them can be written as follows" {} "\ +SELECT * FROM PHONEBOOK" {code} "\ +You can also change " {} "colors for some words " {warning} "or underline them" {link} } {Old style button} {} {} raised #000000 #d9d9d9 2 n} {checkbox checkbox14 {48 297 153 309} {} different {} {} flat #00009c #d9d9d9 1 b} {checkbox checkbox15 {48 321 156 336} {} {fonts and} {} {} flat #cc0000 #d9d9d9 1 i} {checkbox checkbox16 {48 345 156 360} {} colors {} {} flat #00b600 #dfb2df 1 f} {radio radio17 {207 297 330 315} {} {red , rosu , rouge} color red flat #9c0000 #d9d9d9 1 n} {radio radio18 {207 321 324 333} {} {green , verde , vert} color green flat #009000 #d9d9d9 1 n} {radio radio19 {207 345 327 363} {} {blue , albastru, bleu} color blue flat #000000 #d9d9d9 1 n} {label selcolor {210 369 345 384} {} {} color {} flat #000000 #d9d9d9 1 n} {button button21 {285 258 363 285} {destroy .full} Exit {} {} raised #7c0000 #dfdbb8 1 b} +Phone book pb 28 {FS {}} 444x307+284+246 {label label1 {33 10 68 28} {} Name {} label1 flat #000000 #d9d9d9 1 n} {entry name_entry {87 9 227 27} {} entry2 DataSet(.pb.qs,name) name_entry sunken #000000 #fefefe 1 n} {label label3 {33 37 73 52} {} Phone {} label3 flat #000000 #d9d9d9 1 n} {entry entry4 {87 36 195 54} {} entry4 DataSet(.pb.qs,phone_nr) entry4 sunken #000000 #fefefe 1 n} {label label5 {33 64 78 82} {} City {} label5 flat #000000 #d9d9d9 1 n} {entry entry6 {87 63 195 81} {} entry6 DataSet(.pb.qs,city) entry6 sunken #000000 #fefefe 1 n} {query qs {3 6 33 33} {} query7 {} qs flat {} {} 1 n} {button button8 {174 177 246 203} {namespace eval DataControl(.pb.qs) {\ +\ setSQL "select oid,* from phonebook where name ~* '$what' order by name"\ +\ open\ +\ set nrecs [getRowCount]\ +\ updateDataSet\ +\ fill .pb.allnames name\ +\ bind .pb.allnames {\ +\ set ancr [.pb.allnames curselection]\ +\ if {$ancr!=""} {\ +\ \ DataControl(.pb.qs)::moveTo $ancr\ +\ \ DataControl(.pb.qs)::updateDataSet\ +\ }\ +\ }\ +}} {Start search} {} button8 raised #000000 #d9d9d9 1 n} {button button9 {363 276 433 300} {DataControl(.pb.qs)::close\ +DataControl(.pb.qs)::clearDataSet\ +set nrecs {}\ +set what {}\ +destroy .pb\ +} Exit {} button9 raised #000000 #d9d9d9 2 n} {button button10 {291 237 313 257} {namespace eval DataControl(.pb.qs) {\ +\ moveFirst\ +\ updateDataSet\ +}\ +} |< {} button10 ridge #000092 #d9d9d9 2 n} {button button11 {324 237 346 257} {namespace eval DataControl(.pb.qs) {\ +\ movePrevious\ +\ updateDataSet\ +}\ +} << {} button11 ridge #000000 #d9d9d9 2 n} {button button12 {348 237 370 257} {namespace eval DataControl(.pb.qs) {\ +\ moveNext\ +\ updateDataSet\ +}} >> {} button12 ridge #000000 #d9d9d9 2 n} {button button13 {381 237 403 257} {namespace eval DataControl(.pb.qs) {\ +\ moveLast\ +\ updateDataSet\ +}\ +} >| {} button13 ridge #000088 #d9d9d9 2 n} {checkbox checkbox14 {33 87 126 105} {} {Is it a company ?} DataSet(.pb.qs,company) checkbox14 flat #000000 #d9d9d9 1 n} {radio usa {63 108 201 120} {} U.S.A. DataSet(.pb.qs,continent) usa flat #000000 #d9d9d9 1 n} {radio europe {63 126 204 141} {} Europe DataSet(.pb.qs,continent) europe flat #000000 #d9d9d9 1 n} {radio africa {63 144 210 159} {} Africa DataSet(.pb.qs,continent) africa flat #000000 #d9d9d9 1 n} {entry entry18 {129 180 169 198} {} entry18 what entry18 sunken #000000 #fefefe 1 n} {label label19 {108 219 188 234} {} {records found} {} label19 flat #000000 #d9d9d9 1 n} {label label20 {90 219 105 234} {} { } nrecs label20 flat #000000 #d9d9d9 1 n} {label label21 {3 252 33 267} {} OID= {} label21 flat #000000 #d9d9d9 1 n} {label label22 {39 252 87 267} {} { } pbqs(oid) label22 flat #000000 #d9d9d9 1 n} {button button23 {9 276 79 300} {set oid {}\ +catch {set oid $DataSet(.pb.qs,oid)}\ +if {[string trim $oid]!=""} {\ + sql_exec noquiet "update phonebook set name='$DataSet(.pb.qs,name)', phone_nr='$DataSet(.pb.qs,phone_nr)',city='$DataSet(.pb.qs,city)',company='$DataSet(.pb.qs,company)',continent='$DataSet(.pb.qs,continent)' where oid=$oid"\ +} else {\ + tk_messageBox -title Error -message "No record is displayed!"\ +}\ +\ +} Update {} button23 raised #000000 #d9d9d9 1 n} {button button24 {210 276 280 300} {set thisname $DataSet(.pb.qs,name)\ +if {[string trim $thisname] != ""} {\ +\ sql_exec noquiet "insert into phonebook values (\ +\ \ '$DataSet(.pb.qs,name)',\ +\ \ '$DataSet(.pb.qs,phone_nr)',\ +\ \ '$DataSet(.pb.qs,city)',\ +\ \ '$DataSet(.pb.qs,company)',\ +\ \ '$DataSet(.pb.qs,continent)'\ +\ )"\ +\ tk_messageBox -title Information -message "A new record has been added!"\ +} else {\ +\ tk_messageBox -title Error -message "This one doesn't have a name?"\ +}\ +\ +} {Add record} {} button24 raised #000000 #d9d9d9 1 n} {button button25 {141 276 204 300} {DataControl(.pb.qs)::clearDataSet\ +# clearcontrols stillinitialise\ +# incorectly booleans controls to {}\ +# so I force it to 'f' (false)\ +set DataSet(.pb.qs,company) f\ +focus .pb.name_entry} {Clear all} {} button25 raised #000000 #d9d9d9 1 n} {listbox allnames {249 6 435 231} {} listbox26 {} allnames sunken #000000 #fefefe 1 n} {label label27 {33 252 90 267} {} {} DataSet(.pb.qs,oid) label27 flat #000000 #d9d9d9 1 n} {label label28 {3 182 128 197} {} {Find name containing} {} {} flat #000000 #d9d9d9 1 n} +\. +COPY "pga_scripts" FROM stdin; +How are forms keeped inside ? Tables::open pga_forms\ +\ +\ +\ + +Opening a table with filters Tables::open phonebook "name ~* 'e'" "name desc"\ +\ +\ + +Autoexec Mainlib::tab_click Forms\ +Forms::open {Full featured form}\ +\ +\ + +\. +COPY "pga_reports" FROM stdin; +My phone book phonebook set PgAcVar(report,tablename) "phonebook" ; set PgAcVar(report,y_rpthdr) 21 ; set PgAcVar(report,y_pghdr) 47 ; set PgAcVar(report,y_detail) 66 ; set PgAcVar(report,y_pgfoo) 96 ; set PgAcVar(report,y_rptfoo) 126 ; .pgaw:ReportBuilder.c create text 10 35 -font -Adobe-Helvetica-Bold-R-Normal--*-120-*-*-*-*-*-* -anchor nw -text {name} -tags {t_l mov ro} ; .pgaw:ReportBuilder.c create text 10 52 -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -anchor nw -text {name} -tags {f-name t_f rg_detail mov ro} ; .pgaw:ReportBuilder.c create text 141 36 -font -Adobe-Helvetica-Bold-R-Normal--*-120-*-*-*-*-*-* -anchor nw -text {city} -tags {t_l mov ro} ; .pgaw:ReportBuilder.c create text 141 51 -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -anchor nw -text {city} -tags {f-city t_f rg_detail mov ro} ; .pgaw:ReportBuilder.c create text 231 35 -font -Adobe-Helvetica-Bold-R-Normal--*-120-*-*-*-*-*-* -anchor nw -text {phone_nr} -tags {t_l mov ro} ; .pgaw:ReportBuilder.c create text 231 51 -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -anchor nw -text {phone_nr} -tags {f-phone_nr t_f rg_detail mov ro} \N \N +\. +COPY "phonebook" FROM stdin; +FIAT 623463445 t europe +Gelu Voican 01-32234 Bucuresti f europe +Radu Vasile 01-5523423 Bucuresti f europe +MUGADUMBU SRL +92 534662634 Cairo t africa +Jimmy Page 66323452 f europe +IBM 623346234 \N t usa +John Doe +44 35 2993825 Washington f usa +Bill Clinton +44 35 9283845 New York f usa +Monica Levintchi +44 38 5234526 Dallas f usa +Bill Gates +42 64 4523454 Los Angeles f usa +COMPAQ 623462345 \N t usa +SUN 784563253 \N t usa +DIGITAL 922644516 \N t usa +Frank Zappa 6734567 Montreal f usa +Constantin Teodorescu +40 39 611820 Braila f europe +Ngbendu Wazabanga 34577345 f africa +Mugabe Kandalam 7635745 f africa +Vasile Lupu 52345623 Bucuresti f europe +Gica Farafrica +42 64 4523454 Los Angeles f usa +Victor Ciorbea 634567 Bucuresti f europe +\. +COPY "pga_layout" FROM stdin; +pga_forms 2 formname formsource 82 713 +Usaisti 5 name phone_nr city company continent 150 150 150 150 150 +q1 5 name phone_nr city company continent 150 150 150 150 150 +view_saved_from_that_query 5 name phone_nr city company continent 150 150 150 150 150 +phonebook 5 name phone_nr city company continent 150 105 80 66 104 +Query that can be saved as view 5 name phone_nr city company continent 150 150 150 150 150 +cities 3 id name prefix 150 150 150 +\. +COPY "pga_schema" FROM stdin; +Simple schema cities 10 10 phonebook 201.0 84.0 {cities name phonebook city} +\. +COPY "cities" FROM stdin; +3 Braila 4039 +4 Galati 4036 +5 Dallas 5362 +6 Cairo 9352 +1 Bucuresti 4013 +7 Montreal 5325 +\. +CREATE UNIQUE INDEX "cities_id_key" on "cities" using btree ( "id" "int4_ops" ); diff --git a/src/bin/pgaccess/doc/html/forms.gif b/src/bin/pgaccess/doc/html/forms.gif new file mode 100644 index 0000000000000000000000000000000000000000..947d920b04b475628599d8d586d8eff253588553 GIT binary patch literal 20106 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 CIMVb0 literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/doc/html/forms.html b/src/bin/pgaccess/doc/html/forms.html new file mode 100644 index 0000000000..57ecff52fc --- /dev/null +++ b/src/bin/pgaccess/doc/html/forms.html @@ -0,0 +1,203 @@ + + + + + + + + +

+FORMS

+ +
+

This version (0.97) of PgAccess has changed the form API : variable +handling, query results interface and control bindings naming convention. +Please read it carefully, download the database demo and practice a while +before trying to design your own forms. +

For the moment, it has only some basic widgets : labels, entries, buttons +, listboxes , checkboxes and radiobuttons. +

Also there is a pseudo data control widget that allows you yo have access +to a query results. +

How do you generate widgets : +

    +
  1. +select a widget from the toolbox by clicking the appropriate radiobutton
  2. + +
  3. +move to the canvas , point with the mouse at the desired location and click +the mouse button to begin
  4. + +
  5. +keeping the mouse-button pressed move the mouse in order to draw a rectangle +that will hold the widget
  6. + +
  7. +release the mouse-button
  8. +
+In the rectangle that you have designed it will appear the selected object. +
Move now to the attribute window to change some of its properties. +

Renaming, resizing items are possible (for the moment) only by modifying +appropriate parameters in attribute window. You must press Enter +in the edit field after changing a value in order to be accepted. +

You can also move items by dragging them or delete them by pressing +Del key after selecting them. +

In attribute window, there are some fields named Command +and +Variable. +

The field Command have meaning +only for Button widgets and holds the command that will be invoked when +the button is pressed. +

    The field Variable have +meaning only for EditField , Label widgets , checkboxes and radiobuttons +and it is the name of the global variable that will hold the value for +that widget. For checkboxes the values are t and f (from +true and false) in order to simplify binding to logical data fields (PgAccess +0.82 used 0 and 1). +

    For radiobuttons, it is usual to assign the same +variable to the same radiobuttons within the same group. That variable +will contain the name of the widget of the radiobutton that has been pressed. +Let's presume that you have entered 3 radiobuttons named red, green and +blue, all of them having the same variable named color. If you will press +them, they will assign their names to global variable. +

    In order to make a simple test, put an entry field +and set it's variable to v1 and a button who's command is "set v1 +whisky". Press the button "Test form" and click on the button. In that +entry should appear whisky. +
Another test is defining in Script module a script called "My first +script" having the following commands: +
tk_messageBox -title Warning -message "This is my +first message!" +
and then define a button who's command is execute_script +"My first script". +
  +

+Database manipulation

+Let's presume that our form have the internal name mf (my +form). Don't forget that the Tk window names could not start with +an uppercase letter. +
The window will be referred inside the Tcl/Tk source as .mf +
If you want to close the form in run-time you have to issue the command +destroy +.mf +

Also, any widget created inside this window (form) will have the name +prefixed by .mf ,so we will have .mf.button1 +or .mf.listbox1 . +

We can name the data control widget dc for example. +The fully qualified name for that "virtual widget" will be .mf.dc +then. A new namespace called DataControl(.mf.dc) will be +automatically defined. +
The Command property of the data control widget must +contain the SQL command that will be executed. +
When the form will be in run-time, automatically you will have access +to the following procedures and functions from the namespace: +

open - opens the connection and execute the query (returns +nothing) +
setSQL newsql - set the command query that will be +executed at the next open +
getRowCount - returns the number of records of the +result set +
getRowIndex - returns the current record number inside +the result set +
getFieldList - returns a Tcl list containing the fields +names from the current result set +
moveFirst - move the cursor to the first record in +the recordset +
moveLast , moveNext , movePrevious- +moves the cursor there +
moveTo newrecno - move the cursor to that new record +number (first is 0) +
updateDataSet - update the variables inside the designed +form that have a particular name (I'll explain later) +
clearDataSet - clear the associated DataSet variables +
fill listbox field - fill the named listbox (whole +widget name as .mf.listbox1) with the all the values of +that field from the current result set +
close - close the result set (if +you don't close it, you will loose some memory) +

These procedures and functions should be called in the normal Tcl namespace +mode as in the following example: +

DataControl(.mf.dc)::setSQL "select * from phonebook" +
DataControl(.mf.dc)::open +
set nrecs [DataControl(.mf.dc)::getRowCount] +

If you complaint about writting to many DataControl(...) you can include +many commands into a single namespace eval as in the following example +: +

namespace eval DataControl(.mf.dc) { +
    setSQL "select * from phonebook" +
    open +
    set nrecs [getRowCount] +
    moveLast +
    updateDataSet +
} +

It's no need to close a query-result set if you want to assign it a +new SQL command and open it again. That will be done automatically releasing +the memory used for the last result set. +
Opening a new DataControl will automatically position the current +row index of the result set on the first row (index 0) and will define +a new global associative array named DataSet that will hold data +from the current row. The key into that array will be the fully qualified +name of the data control widget followed by a comma and the name of every +field in the selected rows. +

Example: +
DataSet(.mf.dc,name) +
DataSet(.mf.dc,city) +

If you want to bound some controls to the fields of the recordset, you +will have to name their associate variable like that : +

DataSet(.mf.dc,salary) to get the "salary" field , or +DataSet(.mf.dc,name) to get the "name" field. Using the +data control procedures DataControl(.mf.dc)::moveNext or +movePrevious will automatically update the DataSet(.mf.dc,...) +array so the database information from entries in the form will be refreshed. +
  +

Here it is a dumped sample database +that contains a demo database. What should you do ? +
Shift-click the above URL in order to download that tiny file (4 Kb). +Create a empty database and psql yourdatabase <formdemo.sql +

You should find a single table called "phonebook" a form called "Phone +book" and another "A simple demo form". +

First of all enter and view the phonebook table in table view. Note +the fields and their values. +
Open the "Phone book" form and enter a letter (a, e or i) in the field +to the left of "Find" button then press Find. It's fine to enter one letter +in order to get more records in query result. You will get information +about the number of records selected, in the listbox you will see all the +values of field "name" from the current data set. Use buttons to move to +first, next, previous or last record within the record set. +

In order to add a new record, press the "New" button in order to get +new, clean entries. Fill them with your data and press "Add new" button. +A new phonebook record will be added. Also, if you want to update a record, +change it's values in the displayed fields after finding it and press "Update" +button. The values will be updated in the database BUT NOT IN THE CURRENT +QUERY RESULT . If you want to see them modified, make a new query trying +to find it again. +

Before using the results from a query you should +know that the information that has been retrieved could be found only in +your computer client memory. It has no live connection to the data +from the database. That's why it isn't possible to develop a simple update +function as interface to that query-result widget. More than that : a query +result could be obtained from a SQL command that return a non-updatable +data set !!! For example fields gathered from multiple tables or summary +fields. It isn't just simple to make an automatic update procedure. The +programmer must know how to make the update or the append procedure, sometimes +using key fields to point to the desired record or an OID. There are examples +in the demo database in "Phone book" form. It may be possible that in the +future, I will develop another pseudo-widget describing a table. It would +be more simple than to implement an update or append or even a delete procedure. +

There is in the demo database also another simple form called "A simple +demo form". It will show you how to handle variables from checkboxes, radiobuttons, +how to use listboxes, open another forms and so on. I think they will help +you. +

In order to avoid naming user defined forms with  a particular +name of another PgAccess form, I would recommend naming them as udf0, udf1 +(user defined form 0 , 1 ) +

+


+

Please feel free to send me your opinion at teo@flex.ro on forms +designing and usage. +

KEEP IN MIND !       +THE FORM API MAY CHANGE IN ORDER TO BE MORE SIMPLE AND BETTER! +
SEND ME YOUR WISHES, YOUR IDEAS, YOUR OPINIONS ! +
ALSO ... DON'T BLAME ME IF YOU WILL HAVE TO RE-DESIGN +YOUR OLD FORMS DUE TO SOME INCOMPATIBILITIES WITH NEWER PGACCESS VERSIONS. + + diff --git a/src/bin/pgaccess/doc/html/function.gif b/src/bin/pgaccess/doc/html/function.gif new file mode 100644 index 0000000000000000000000000000000000000000..51634e5df9d585ddbe8b221a3fab4280e6b2abc0 GIT binary patch literal 10022 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 literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/doc/html/help.gif b/src/bin/pgaccess/doc/html/help.gif new file mode 100644 index 0000000000000000000000000000000000000000..f08fee8fd38d3e566718d8da06a16cd7d813eadc GIT binary patch literal 7082 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 UBOddp$2?k(d4BvOAVUBEI}YDhP5=M^ literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/doc/html/index.html b/src/bin/pgaccess/doc/html/index.html new file mode 100644 index 0000000000..7ccda19290 --- /dev/null +++ b/src/bin/pgaccess/doc/html/index.html @@ -0,0 +1,11 @@ + + +PgAccess + + + + + + + + diff --git a/src/bin/pgaccess/doc/html/irix.html b/src/bin/pgaccess/doc/html/irix.html new file mode 100644 index 0000000000..b678458569 --- /dev/null +++ b/src/bin/pgaccess/doc/html/irix.html @@ -0,0 +1,133 @@ + + + + PgAccess on Irix + + + + +

INSTALLING PgAccess UNDER IRIX 5.3. +

+ +

This HOWO-TO make PgAccess working under Irix +is written by Stuart Rison

+ +

These are the steps that I had to follow to get pgaccess to run on an +INDIGO2 running postgreSQL 6.3.2 under IRIX 5.3. I make no guarantee whatsoever +that the same step will work for others but at least it should point you +in the right direction. Also, I am a biologist by training so I only got +pgaccess working by fudging (that is, trial and error) this means that +some of the steps may be unnecessary (e.g. compiling $postgreSQL_source/src/interfaces/libpgtcl +as both a shared and static library) and they certainly haven't been optimised +(I know nothing about compiler switches etc.).

+ +

1) Requirements:

+ +
    +

    You will need:

    + +
      +
    • postgreSQL source (http://www.postgresql.org)
    • + +
    • tcl8.0 source (http://www.tclconsortium.org/)
    • + +
    • tk8.0 source (http://www.tclconsortium.org/)
    • + +
    • pgaccess source (http://www.flex.ro/pgaccess)
    • +
    +
+ +

2) Installation:

+ +

a) tcl/tk:

+ +
    +

    You must first install tcl and then tk (in that order). I just used +./configure, no switches and gmake. Their installation should be trouble +free. Then you must move headers and libraries to the right places so:

    + +

    Header files: both tcl and tk have a header file (tcl.h and tk.h). The +tcl.h file is in $tcl_source_dir/generic and the tk.h file is in $tk_source_dir/generic; +both should be copied to /usr/local/include.

    + +

    Libraries: compilation (with cc) of tcl and tk yield libraries libtcl8.0.a +and libtk8.0.a in $source_dir/unix. Both should be copied to /usr/local/lib.

    +
+ +

b) postgreSQL:

+ +
    +

    Make sure you have a fully patched postgreSQL source. If your ./configure +says it can't load 'IRIX' settings then you most probably will need to +patch ./configure.

    + +

    Configure using ./configure with the following switches: ./configure +--with-includes=/usr/local/include

    + +

    --with-libraries=/usr/local/lib --with-tcl [this and previous line as +one]

    + +

    Then make, make install as usual

    +
+ +

c) Compiling libpgtcl:

+ +
    +

    The source for libpgtcl is in $postgreSQL_directory/src/interfaces/libpgsql.

    + +

    I do this twice. Once with just gmake. This produces a static library +libpgtcl.a which I leave where it is (I don't know what to do with it but +it may just come in handy). The I modify Makefile manually with a text +editor. Essentially I modify two line:

    + +

    before:

    + +

    # Shared library stuff

    + +

    install-shlib-dep := shlib :=

    + +

    after:

    + +

    # Shared library stuff

    + +

    install-shlib-dep := install-shlib shlib := libpgtcl.so.1

    + +

    Then gmake -f Makefile_modified. This creates two shared (.so) libraries: +libpgtcl.so and libpgtcl.so.1. I can't tell the difference between them +so I copied them both to /usr/lib/.

    +
+ +

d) running pgaccess:

+ +
    +

    Uncompress pgaccess (usually with gunzip and tar). So long as 'wish' +(a binary produced when compiling tk8.0) is somewhere in your path, you +should be able to run pgaccess with:

    + +

    wish -f $pgaccess_dir/pgaccess.tcl [postgreSQL_database_name]

    +
+ +

e) et voila!

+ +

3) Concluding remarks:

+ +
    +

    As I stated at the start of this document, following the procedure indicated +above worked for me. I am sure, however, that a few of the steps are unnecessary/non-optimised/stupid +etc. If any Unix (IRIX) boffin is reading this and you spot anything you +would like to comment/correct etc. please e-mail me (stuart@ludwig.ucl.ac.uk). +Also, if you just have questions and think I might help, please contact +me at the same e-mail.

    + +

    Finally, I can accept no responsibility if these steps don't work for +you or if it all goes horribly wrong and you 'damage' your computer trying +them. Let common sense prevail!

    +
+ +

Good luck

+ +

Stuart Rison LICR University College London London W1P 8BT
+stuart@ludwig.ucl.ac.uk

+ + + diff --git a/src/bin/pgaccess/doc/html/linux1.gif b/src/bin/pgaccess/doc/html/linux1.gif new file mode 100644 index 0000000000000000000000000000000000000000..b98ac024d735a911da2481054ac9af3ed448282b GIT binary patch literal 789 zcmZ?wbhEHbj9`#wXklRZ4+Lk<{GU1VKZEfZAV^C)V{Ci|$Yx-e2?WN*GZ}!0Aq@nK z(-?q=!59P>j2S>IAb}q!{*!mARPatM%gj^oC{52uE!I)U2Jtc+QZq~RlJj#JbU-G6 zoa4ayUqP`iC39ZJs&zT5&0JhnN<>wYgLn=HJ?wO2b<235B+8&$G~0B_;f{&dIy!_- zv`u7HUYB4Lb*OFkJH8%y#?HMLyB^-0Q6%7P3^P7^eyXeM+d&$MFB$jbBH>gnz4XzXlJm6Wq; zZM~j-)QJ-wK4xc9EYIYHieB+K8Fek>`uw^D`Kr+qs#TMk@3%e=chFn2VBySnA3wg; zEZk7bDJ;w{V0NPQ)Vf&DwAE}YZJf82WGB9#IWsb|A;7ajC0ts;;Mjo)o0hY=2Yd-I z=_yrPw5UmR>i?LMOWKboDGvZJ|n8Q4FbvwynLrz2Nbwx!&9JVrG5% z^lGm8OQ|L5ObQQDpNlUD+1lXtEi-}PU_)JVBul4ObKhin|AVS^s%DMNoT3Uo3I(e! z%4eOva&%elO3j** + + + + + + + +

The mailing list for PgAccess is :       pgsql-interfaces@postgresql.org

+ +

If you have some questions regarding PgAccess you should mail to this +address. I will also answer to messages addresed directly to me but it +would be better to post your messages here because it might be possible +to get an answer quickly from another user of PgAccess.

+ +

+


+ +

To subscribe please send a mail message to :

+ +

     pgsql-interfaces-request@postgresql.org + 

+ +

having a single line in the body message :      subscribe

+ +

In a couple of minutes , if everything is ok, you must receive something +like that :

+ +

+


+ +

Welcome to the pgsql-interfaces mailing list!

+ +

Please save this message for future reference. Thank you.

+ +

If you ever want to remove yourself from this mailing list, you +can send mail to <Majordomo@hub.org> with the following command in +the body of your email message:

+ +

unsubscribe pgsql-interfaces yourname@yourdomain

+ + + diff --git a/src/bin/pgaccess/doc/html/main.html b/src/bin/pgaccess/doc/html/main.html new file mode 100644 index 0000000000..2bddfd61d4 --- /dev/null +++ b/src/bin/pgaccess/doc/html/main.html @@ -0,0 +1,34 @@ + + + + + + + + +

+PgAccess +

+A free graphical database management tool for PostgreSQL. +PgAccess has been written by Constantin Teodorescu +using Visual Tcl, the best tool for developing Tcl/Tk applications I've +ever seen. +

Last version +
Last stable version is 0.98 , released on 29 August 1999. Read what's +new in 0.98. +

Portability issues +
PgAccess is available for every platform where PostgreSQL was ported +and where a Tcl/Tk package is available. PgAccess has been reported running +on : +
- Linux +
- FreeBSD +
- Solaris +
- HPUX +
- Irix +
- Windows 95,98,NT +

PgAccess needs Tcl/Tk versions 8.0.x and higher thought PgAccess. For +win32 platforms there are some special DLL's that have to be downloaded +and installed, more information here. +

PgAccess is protected by the following copyright. + + diff --git a/src/bin/pgaccess/doc/html/mainwindow.gif b/src/bin/pgaccess/doc/html/mainwindow.gif new file mode 100644 index 0000000000000000000000000000000000000000..6a48792d194b5230566665f2e00725f1fb6ace27 GIT binary patch literal 8857 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 bW~EkcC0BN(SAHc}hNW1JC0QOt0000x^?_;D literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/doc/html/newtable.gif b/src/bin/pgaccess/doc/html/newtable.gif new file mode 100644 index 0000000000000000000000000000000000000000..891d05698f9d32750cf9bfd6e755b312103e61e6 GIT binary patch literal 9317 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

Ge1znX7lh|JYIgx3rz)cnm)7|x$E&g7hg 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 X7}~T>`?OFSwNg8^R67X*Apih7So?qE literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/doc/html/old_index.html b/src/bin/pgaccess/doc/html/old_index.html new file mode 100644 index 0000000000..4bbf11fcf0 --- /dev/null +++ b/src/bin/pgaccess/doc/html/old_index.html @@ -0,0 +1,143 @@ + + + + + + PgAccess - a Tcl/Tk PostgreSQL interface + + + +

+PgAccess - a free database management tool for PostgreSQL

+ +
+
  • +Download the last version of PgAccess (press +shift and click this link) (tar.gz file)  or   this +one (zip file for Windows)
  • + +
    +


    Latest stable version of PgAccess is 0.97 , released 16 August 1999 +! +

    PgAccess 0.93 and higher will not work from the beginning +with PostgreSQL 6.3.x !! +
    Read here how to apply a +simple patch in order to make it work !

    + +
    + + + + + + + + + + + +
    NEWInternational version +(english, french, italian, romanian)
    NEWContext sensitive Help
    + +
    +

    Precompiled libpgtcl and libpq binaries and dll's for i386 are here +!!!

    + +

    +Installation problems

    + + + +

    +What does PgAccess now!

    +Here are some screenshots from PgAccess windows : Main +window , table builder , table(query) +view , visual query builder . +

    Tables +
    - opening multiple tables for viewing, max. n records (changed by preferences +menu) +
    - column resizing, dragging the vertical grid line (better in table +space rather than in the table header) +
    - text wrap in cells - layout saved for every table +
    - import/export to external files (SDF,CSV) +
    - filter capabilities (enter filter like (price>3.14) +
    - sort order capabilities (enter manually the sort field(s)) +
    - editing in place +
    - improved table generator assistant +
    - improved field editing +
    Queries +
    - define , edit and stores "user defined queries" +
    - store queries as views +
    - execution of queries with optional user input parameters ( select +* from invoices where year=[parameter "Year of selection"] ) +
    - viewing of select type queries result +
    - query deleting and renaming +
    - visual query builder with drag & drop capabilities. For any of +you who had installed the Tcl/Tk plugin for Netscape Navigator, you can +see it at work clicking here +
    Sequences +
    - defines sequences, delete them and inspect them +
    Functions +
    - define, inspect and delete functions in SQL, plpgsql and pgtcl languages +
    Reports +
    - design and display simple reports from tables +
    - fields and labels, font changing, style and size +
    - saves and loads report description from database +
    - show report previews, sample postscript output file +
    Forms +
    - open user defined forms +
    - form design module available +
    - query widget available, controls bound to query results +
    - click here for a description of forms and +how they can be used +
    Scripts +
    - define, modify and call user defined scripts +
    Users +
    - define and modify user information +

    Here is a special section concerning forms and +scripts . +

    This program is protected by the following copyright +

    If you have any comment, suggestion for improvements, please feel free +to e-mail to : teo@flex.ro +

    Mailing list for PgAccess Here +you will find how to subscribe to this mailing list. +

    +


    +

    +More information about libpgtcl - downloads

    +     Also, you will need the PostgreSQL to Tcl interface +library, lined as a Tcl/Tk 'load'-able module. It is called libpgtcl and +the source is located in the PostgreSQL directory /src/interfaces/libpgtcl. +Specifically, you will need a libpgtcl library that is 'load'-able from +Tcl/Tk.      This is technically different from +an ordinary PostgreSQL loadable object file, because libpgtcl is a collection +of object files. Under Linux, this is called libpgtcl.so. +

         One of the solutions is to remove from the +source the line containing load libpgtcl.so and to load pgaccess.tcl +not with wish, but with pgwish (or wishpg) that wish that was linked with +libpgtcl library! I do not recommend this one. +

         If you have installed RedHat 5.x, you should +get the last distribution kit of PostgreSQL and compile it from scratch. +RedHat 5.x is using some new versions of libraries and you have to compile +and install again at least libpq and libpgtcl libraries. +

        PostgreSQL 6.4 release has a minor bug. I does not +include by default the crypt lib when compiling libpgtcl. So, you will +need to manually add a -lcrypt to SHLIB line in Makefile in src/interfaces/libpgtcl +and then make clean and make again. The new libpgtcl.so library is properly +configured to run pgaccess. +
      + + diff --git a/src/bin/pgaccess/doc/html/permissions.gif b/src/bin/pgaccess/doc/html/permissions.gif new file mode 100644 index 0000000000000000000000000000000000000000..06c43491e07da0fe7a9fd7bb63f23eaf2aff968a GIT binary patch literal 10414 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 VRT_F`GxQ>22v|DAL_-1)`#-H=0h9m$ literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/doc/html/pg93patch.html b/src/bin/pgaccess/doc/html/pg93patch.html new file mode 100644 index 0000000000..4c77bfac61 --- /dev/null +++ b/src/bin/pgaccess/doc/html/pg93patch.html @@ -0,0 +1,25 @@ + + + + + + + + +

    +PgAccess 0.93 patch to make it work with PostgreSQL 6.3.x +

    + +


    PgAccess 0.93 is working fine with PostgreSQL 6.4.x due to some +changes in libpgtcl ! +

    There is a small patch that you have to make in order to make it work +with 6.3.x ! +

    Replace in procedure wpg_exec the following line: +

    set pgsql(errmsg) [pg_result $pgsql(res) -error] +

    with this one : +

    set pgsql(errmsg) "NO ERROR INFORMATION SUPPLIED" +

    And it will work fine! In some error cases, you will not get the appropriate +error message from libpgtcl. +

     Back + + diff --git a/src/bin/pgaccess/doc/html/pga-rad.html b/src/bin/pgaccess/doc/html/pga-rad.html new file mode 100644 index 0000000000..7564cf7b55 --- /dev/null +++ b/src/bin/pgaccess/doc/html/pga-rad.html @@ -0,0 +1,65 @@ + + + + + + + +

    +PgAccess - Scripts and Forms  +

    +Beginning with 0.70 version, I have introduced in PgAccess two new modules +for operating with scripts and forms. + +

       This would give to PgAccess the power of creating application +directly into PgAccess, defining new modules, procedures, forms and possibly +making it a rapid development tool for PostgreSQL. The "scripts" and "forms" +modules are using two new tables called pga_forms and pga_scripts. PgAccess +take care of creating them if user is opening a new database and grant +ALL permissions on them to PUBLIC. +
      +
       Of course, when Designing a script, a simple text editor +is opened and text is saved as is in pga_scripts table. When "designing" +a form, a "form editor" that would be very similar with "Visual Tcl" is +invoked. + +

       This mechanism and the extremely versatile scripting mode +of Tcl/Tk would give PgAccess a great power for creating end user application +using PostgreSQL. The most important thing is that the user could call +procedures and functions that I have used for building up PgAccess ! +

    +Forms

    +   Forms are used for creating windows and placing widgets inside +it. When PgAccess interpret them, a new window appear, with buttons as +defined that could call "user defined scripts", "user defined procedures" +or "internal PgAccess procedures". +
       Forms can hold all the widgets allowed in Tcl/Tk , buttons, +check-boxes, radio-buttons, list-boxes, frames, canvases, etc. With these +forms, you can control your application so PgAccess would become just a +"shell", a startup point for you applications. See the  special +section concerning forms. +

    +Scripts

    +   Scripts are normal Tcl/Tk code that is interpreted by Tcl/Tk. +You can define your own procedures inside a script called "Library" for +example. You can call your procedures from within another script, from +another procedure. +
       The most important thing is that you have total access +to the PgAccess core of functions and procedures used by me in building +PgAccess as an application. Just write open_table +"Your sample table" and you'll see the result. +
       If you are writing a script called "Autoexec" then it +will be executed every time the database is opened. You can put inside +different commands that you want to be executed such as : running scripts +that would define your own procedures such as execute_script +"My own procedure library" or open a form with open_form +"Main window with menu buttons" , and so on. + +

    +


    +
    Remember : I'm waiting your messages at teo@flex.ro + +

    +


    + + diff --git a/src/bin/pgaccess/doc/html/qbtclet.html b/src/bin/pgaccess/doc/html/qbtclet.html new file mode 100644 index 0000000000..b990c0f15c --- /dev/null +++ b/src/bin/pgaccess/doc/html/qbtclet.html @@ -0,0 +1,45 @@ + + + Visual Query Builder in Tcl/Tk + +

    Visual Query Builder

    +
    +This visual query builder is included in +PgAccess, a visual interface to + PostgreSQL written entirely in +vTcl , (Visual Tcl). + + +

    + + + +

    + +
    + + +Visual Query Designer demo
    +Click here to download the source +created by Constantin Teodorescu with vTcl (visual Tcl), teo@flex.ro +
    +Facitilies
    + - drag and drop selection of fields
    + - drag and drop fields from a table to another do create links
    + - move table position by dragging
    + - point and click any link or table then press delete to delete them
    + - modify sort order by clicking on (unsorted)
    + - enter filter conditions as criteria (>2000 , ='item')
    + - easy panning of table and result panels
    + - show SQL command
    +
    +If you want to use it for your database, modify ql_read_struct in order to read + your table structure. +
    +Feel free to use, modify or copy this software for non-commercial purposes.
    +In any other case, please contact me. +
    +FLEX Consulting Braila, ROMANIA is able to deliver high end interfaces +and any other commercial products written in Tcl/Tk just like that you have seen. + + diff --git a/src/bin/pgaccess/doc/html/qbtclet.tcl b/src/bin/pgaccess/doc/html/qbtclet.tcl new file mode 100644 index 0000000000..9d086a3390 --- /dev/null +++ b/src/bin/pgaccess/doc/html/qbtclet.tcl @@ -0,0 +1,529 @@ +################################# +# GLOBAL VARIABLES +# +global qlvar; +global widget; + +################################# +# USER DEFINED PROCEDURES +# +proc init {argc argv} { +global qlvar +set qlvar(yoffs) 360 +set qlvar(xoffs) 50 +set qlvar(reswidth) 150 +} + +init $argc $argv + +proc main {argc argv} { + +} + +proc show_message {usrmsg} { +global msg +set msg $usrmsg +after 2000 {set msg {}} +} + +proc ql_delete_object {} { +global qlvar +# Checking if there +set obj [.c find withtag hili] +if {$obj==""} return +if {[ql_get_tag_info $obj link]=="s"} { +# if {[tk_messageBox -title WARNING -icon question -message "Remove link ?" -type yesno -default no]=="no"} return + show_message "Deleting the link from tables ..." + set linkid [ql_get_tag_info $obj lkid] + set qlvar(links) [lreplace $qlvar(links) $linkid $linkid] + .c delete links + ql_draw_links +} else { + set tablename [ql_get_tag_info $obj tab] + if {$tablename==""} return +# if {[tk_messageBox -title WARNING -icon question -message "Remove table $tablename from query ?" -type yesno -default no]=="no"} return + show_message "Deleting table from query ..." + for {set i [expr [llength $qlvar(restables)]-1]} {$i>=0} {incr i -1} { + if {$tablename==[lindex $qlvar(restables) $i]} { + set qlvar(resfields) [lreplace $qlvar(resfields) $i $i] + set qlvar(restables) [lreplace $qlvar(restables) $i $i] + set qlvar(rescriteria) [lreplace $qlvar(rescriteria) $i $i] + } + } + for {set i [expr [llength $qlvar(links)]-1]} {$i>=0} {incr i -1} { + set thelink [lindex $qlvar(links) $i] + if {($tablename==[lindex $thelink 0]) || ($tablename==[lindex $thelink 2])} { + set qlvar(links) [lreplace $qlvar(links) $i $i] + } + } + .c delete tab$tablename + .c delete links + ql_draw_links + ql_draw_res_panel +} +} + +proc ql_dragit {w x y} { +global draginfo +if {"$draginfo(obj)" != ""} { + set dx [expr $x - $draginfo(x)] + set dy [expr $y - $draginfo(y)] + if {$draginfo(is_a_table)} { + set taglist [.c gettags $draginfo(obj)] + set tabletag [lindex $taglist [lsearch -regexp $taglist "^tab"]] + $w move $tabletag $dx $dy + ql_draw_links + } else { + $w move $draginfo(obj) $dx $dy + } + set draginfo(x) $x + set draginfo(y) $y +} +} + +proc ql_dragstart {w x y} { +global draginfo +catch {unset draginfo} +set draginfo(obj) [$w find closest $x $y] +if {[ql_get_tag_info $draginfo(obj) r]=="ect"} { + # If it'a a rectangle, exit + set draginfo(obj) {} + return +} +. configure -cursor hand1 +.c raise $draginfo(obj) +set draginfo(table) 0 +if {[ql_get_tag_info $draginfo(obj) table]=="header"} { + set draginfo(is_a_table) 1 + .c itemconfigure [.c find withtag hili] -fill black + .c dtag [.c find withtag hili] hili + .c addtag hili withtag $draginfo(obj) + .c itemconfigure hili -fill blue +} else { + set draginfo(is_a_table) 0 +} +set draginfo(x) $x +set draginfo(y) $y +set draginfo(sx) $x +set draginfo(sy) $y +} + +proc ql_dragstop {x y} { +global draginfo qlvar +. configure -cursor top_left_arrow +set este {} +catch {set este $draginfo(obj)} +if {$este==""} return +# Re-establish the normal paint order so +# information won't be overlapped by table rectangles +# or link linkes +.c lower $draginfo(obj) +.c lower rect +.c lower links +set qlvar(panstarted) 0 +if {$draginfo(is_a_table)} { + set draginfo(obj) {} + .c delete links + ql_draw_links + return +} +.c move $draginfo(obj) [expr $draginfo(sx)-$x] [expr $draginfo(sy)-$y] +if {($y>$qlvar(yoffs)) && ($x>$qlvar(xoffs))} { + # Drop position : inside the result panel + # Compute the offset of the result panel due to panning + set resoffset [expr [lindex [.c bbox resmarker] 0]-$qlvar(xoffs)] + set newfld [.c itemcget $draginfo(obj) -text] + set tabtag [ql_get_tag_info $draginfo(obj) tab] + set col [expr int(($x-$qlvar(xoffs)-$resoffset)/$qlvar(reswidth))] + set qlvar(resfields) [linsert $qlvar(resfields) $col $newfld] + set qlvar(ressort) [linsert $qlvar(ressort) $col unsorted] + set qlvar(rescriteria) [linsert $qlvar(rescriteria) $col {}] + set qlvar(restables) [linsert $qlvar(restables) $col $tabtag] + ql_draw_res_panel +} else { + # Drop position : in the table panel + set droptarget [.c find overlapping $x $y $x $y] + set targettable {} + foreach item $droptarget { + set targettable [ql_get_tag_info $item tab] + set targetfield [ql_get_tag_info $item f-] + if {($targettable!="") && ($targetfield!="")} { + set droptarget $item + break + } + } + # check if target object isn't a rectangle + if {[ql_get_tag_info $droptarget rec]=="t"} {set targettable {}} + if {$targettable!=""} { + # Target has a table + # See about originate table + set sourcetable [ql_get_tag_info $draginfo(obj) tab] + if {$sourcetable!=""} { + # Source has also a tab .. tag + set sourcefield [ql_get_tag_info $draginfo(obj) f-] + if {$sourcetable!=$targettable} { + lappend qlvar(links) [list $sourcetable $sourcefield $targettable $targetfield $draginfo(obj) $droptarget] + ql_draw_links + } + } + } +} +# Erase information about onbject beeing dragged +set draginfo(obj) {} +} + +proc ql_draw_links {} { +global qlvar +.c delete links +set i 0 +foreach link $qlvar(links) { + # Compute the source and destination right edge + set sre [lindex [.c bbox tab[lindex $link 0]] 2] + set dre [lindex [.c bbox tab[lindex $link 2]] 2] + # Compute field bound boxes + set sbbox [.c bbox [lindex $link 4]] + set dbbox [.c bbox [lindex $link 5]] + # Compute the auxiliary lines + if {[lindex $sbbox 2] < [lindex $dbbox 0]} { + # Source object is on the left of target object + set x1 $sre + set y1 [expr ([lindex $sbbox 1]+[lindex $sbbox 3])/2] + .c create line $x1 $y1 [expr $x1+10] $y1 -tags [subst {links lkid$i}] -width 3 + set x2 [lindex $dbbox 0] + set y2 [expr ([lindex $dbbox 1]+[lindex $dbbox 3])/2] + .c create line [expr $x2-10] $y2 $x2 $y2 -tags {links} -width 3 + .c create line [expr $x1+10] $y1 [expr $x2-10] $y2 -tags [subst {links lkid$i}] -width 2 + } else { + # source object is on the right of target object + set x1 [lindex $sbbox 0] + set y1 [expr ([lindex $sbbox 1]+[lindex $sbbox 3])/2] + .c create line $x1 $y1 [expr $x1-10] $y1 -tags [subst {links lkid$i}] -width 3 + set x2 $dre + set y2 [expr ([lindex $dbbox 1]+[lindex $dbbox 3])/2] + .c create line $x2 $y2 [expr $x2+10] $y2 -width 3 -tags [subst {links lkid$i}] + .c create line [expr $x1-10] $y1 [expr $x2+10] $y2 -tags [subst {links lkid$i}] -width 2 + } + incr i +} +.c lower links +.c bind links {ql_link_click %x %y} +} + +proc ql_draw_lizzard {} { +global qlvar +ql_read_struct +.c delete all +set posx 20 +for {set it 0} {$it<$qlvar(ntables)} {incr it} { + ql_draw_table $it +# set posy 10 +# set tablename $qlvar(tablename$it) +# .c create text $posx $posy -text $tablename -anchor nw -tags [subst {tab$tablename f-oid mov tableheader}] -font -Adobe-Helvetica-Bold-R-Normal-*-*-120-*-*-*-*-* +# incr posy 16 +# foreach fld $qlvar(tablestruct$it) { +# .c create text $posx $posy -text $fld -anchor nw -tags [subst {f-$fld tab$tablename mov}] -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* +# incr posy 14 +# } +# set reg [.c bbox tab$tablename] +# .c create rectangle [lindex $reg 0] [lindex $reg 1] [lindex $reg 2] [lindex $reg 3] -fill #EEEEEE -tags [subst {rect tab$tablename}] +# .c create line [lindex $reg 0] [expr [lindex $reg 1]+15] [lindex $reg 2] [expr [lindex $reg 1]+15] -tags [subst {rect tab$tablename}] +# set posx [expr $posx+40+[lindex $reg 2]-[lindex $reg 0]] +} +.c lower rect +.c create line 0 $qlvar(yoffs) 10000 $qlvar(yoffs) -width 3 +.c create rectangle 0 $qlvar(yoffs) 10000 5000 -fill #FFFFFF +for {set i [expr 15+$qlvar(yoffs)]} {$i<500} {incr i 15} { + .c create line $qlvar(xoffs) $i 10000 $i -fill #CCCCCC -tags {resgrid} +} +for {set i $qlvar(xoffs)} {$i<10000} {incr i $qlvar(reswidth)} { + .c create line $i [expr 1+$qlvar(yoffs)] $i 10000 -fill #cccccc -tags {resgrid} +} +# Make a marker for result panel offset calculations (due to panning) +.c create line $qlvar(xoffs) $qlvar(yoffs) $qlvar(xoffs) 500 -tags {resmarker resgrid} +.c create rectangle 0 $qlvar(yoffs) $qlvar(xoffs) 5000 -fill #EEEEEE -tags {reshdr} +.c create text 5 [expr 1+$qlvar(yoffs)] -text Field: -anchor nw -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -tags {reshdr} +.c create text 5 [expr 16+$qlvar(yoffs)] -text Table: -anchor nw -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -tags {reshdr} +.c create text 5 [expr 31+$qlvar(yoffs)] -text Sort: -anchor nw -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -tags {reshdr} +.c create text 5 [expr 46+$qlvar(yoffs)] -text Criteria: -anchor nw -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -tags {reshdr} +.c bind mov {ql_dragstart %W %x %y} +.c bind mov {ql_dragit %W %x %y} +bind . {ql_dragstop %x %y} +bind . {qlc_click %x %y %W} +bind . {ql_pan %x %y} +bind . {ql_delete_object} +set qlvar(resfields) {} +set qlvar(ressort) {} +set qlvar(rescriteria) {} +set qlvar(restables) {} +set qlvar(critedit) 0 +set qlvar(links) {} +set qlvar(linktodelete) {} +} + +proc ql_draw_res_panel {} { +global qlvar +# Compute the offset of the result panel due to panning +set resoffset [expr [lindex [.c bbox resmarker] 0]-$qlvar(xoffs)] + .c delete resp + for {set i 0} {$i<[llength $qlvar(resfields)]} {incr i} { + .c create text [expr $resoffset+4+$qlvar(xoffs)+$i*$qlvar(reswidth)] [expr 1+$qlvar(yoffs)] -text [lindex $qlvar(resfields) $i] -anchor nw -fill navy -tags {resf resp} -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* + .c create text [expr $resoffset+4+$qlvar(xoffs)+$i*$qlvar(reswidth)] [expr 16+$qlvar(yoffs)] -text [lindex $qlvar(restables) $i] -anchor nw -tags {resp rest} -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* + .c create text [expr $resoffset+4+$qlvar(xoffs)+$i*$qlvar(reswidth)] [expr 31+$qlvar(yoffs)] -text [lindex $qlvar(ressort) $i] -anchor nw -tags {resp sort} -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* + if {[lindex $qlvar(rescriteria) $i]!=""} { + .c create text [expr $resoffset+4+$qlvar(xoffs)+$i*$qlvar(reswidth)] [expr $qlvar(yoffs)+46+15*0] -anchor nw -text [lindex $qlvar(rescriteria) $i] -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -tags [subst {resp cr-c$i-r0}] + } + } + .c raise reshdr + .c bind sort {ql_swap_sort %W %x %y} +} + +proc ql_draw_table {it} { +global qlvar + +set posy 10 +set allbox [.c bbox rect] +if {$allbox==""} {set posx 10} else {set posx [expr 20+[lindex $allbox 2]]} +set tablename $qlvar(tablename$it) +.c create text $posx $posy -text $tablename -anchor nw -tags [subst {tab$tablename f-oid mov tableheader}] -font -Adobe-Helvetica-Bold-R-Normal-*-*-120-*-*-*-*-* +incr posy 16 +foreach fld $qlvar(tablestruct$it) { + .c create text $posx $posy -text $fld -anchor nw -tags [subst {f-$fld tab$tablename mov}] -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* + incr posy 14 +} +set reg [.c bbox tab$tablename] +.c create rectangle [lindex $reg 0] [lindex $reg 1] [lindex $reg 2] [lindex $reg 3] -fill #EEEEEE -tags [subst {rect tab$tablename}] +.c create line [lindex $reg 0] [expr [lindex $reg 1]+15] [lindex $reg 2] [expr [lindex $reg 1]+15] -tags [subst {rect tab$tablename}] +} + +proc ql_get_tag_info {obj prefix} { +set taglist [.c gettags $obj] +set tagpos [lsearch -regexp $taglist "^$prefix"] +if {$tagpos==-1} {return ""} +set thattag [lindex $taglist $tagpos] +return [string range $thattag [string length $prefix] end] +} + +proc ql_link_click {x y} { +global qlvar + +set obj [.c find closest $x $y 1 links] +if {[ql_get_tag_info $obj link]!="s"} return +.c itemconfigure [.c find withtag hili] -fill black +.c dtag [.c find withtag hili] hili +.c addtag hili withtag $obj +.c itemconfigure $obj -fill blue +} + +proc ql_pan {x y} { +global qlvar +set panstarted 0 +catch {set panstarted $qlvar(panstarted) } +if {!$panstarted} return +set dx [expr $x-$qlvar(panstartx)] +set dy [expr $y-$qlvar(panstarty)] +set qlvar(panstartx) $x +set qlvar(panstarty) $y +if {$qlvar(panobject)=="tables"} { + .c move mov $dx $dy + .c move links $dx $dy + .c move rect $dx $dy +} else { + .c move resp $dx 0 + .c move resgrid $dx 0 + .c raise reshdr +} +} + +proc ql_read_struct {} { +global qlvar + +set qlvar(ntables) 3 +set qlvar(tablename0) Facturi +set qlvar(tablename1) Nommat +set qlvar(tablename2) Incasari +set qlvar(tablestruct0) [list factura client valoare tva] +set qlvar(tablestruct1) [list cod denumire pret greutate procent_tva] +set qlvar(tablestruct2) [list data valoare nrdoc referinta] +} + +proc ql_show_sql {} { +global qlvar + +set sqlcmd "select " +for {set i 0} {$i<[llength $qlvar(resfields)]} {incr i} { + if {$sqlcmd!="select "} {set sqlcmd "$sqlcmd, "} + set sqlcmd "$sqlcmd[lindex $qlvar(restables) $i].[lindex $qlvar(resfields) $i]" +} +set tables {} +for {set i 0} {$i<$qlvar(ntables)} {incr i} { + lappend tables $qlvar(tablename$i) +} +set sqlcmd "$sqlcmd from [join $tables ,] " +set sup1 {} +if {[llength $qlvar(links)]>0} { + set sup1 "where " + foreach link $qlvar(links) { + if {$sup1!="where "} {set sup1 "$sup1 and "} + set sup1 "$sup1 ([lindex $link 0].[lindex $link 1]=[lindex $link 2].[lindex $link 3])" + } +} +for {set i 0} {$i<[llength $qlvar(resfields)]} {incr i} { + set crit [lindex $qlvar(rescriteria) $i] + if {$crit!=""} { + if {$sup1==""} {set sup1 "where "} + if {[string range $sup1 0 4]=="where"} {set sup1 "$sup1 and "} + set sup1 "$sup1 ([lindex $qlvar(restables) $i].[lindex $qlvar(resfields) $i]$crit) " + } +} +set sqlcmd "$sqlcmd $sup1" +set sup2 {} +for {set i 0} {$i<[llength $qlvar(ressort)]} {incr i} { + set how [lindex $qlvar(ressort) $i] + if {$how!="unsorted"} { + if {$how=="Ascending"} {set how asc} else {set how desc} + if {$sup2==""} {set sup2 " order by "} else {set sup2 "$sup2,"} + set sup2 "$sup2 [lindex $qlvar(resfields) $i] $how " + } +} +set sqlcmd "$sqlcmd $sup2" +set qlvar(sql) $sqlcmd +#tk_messageBox -message $sqlcmd +.c delete sqlpage +.c create rectangle 0 0 2000 [expr $qlvar(yoffs)-1] -fill #ffffff -tags {sqlpage} +.c create text 10 10 -text $sqlcmd -anchor nw -width 550 -tags {sqlpage} -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* +.c bind sqlpage {.c delete sqlpage} +} + +proc ql_swap_sort {w x y} { +global qlvar +set obj [$w find closest $x $y] +set taglist [.c gettags $obj] +if {[lsearch $taglist sort]==-1} return +set cum [.c itemcget $obj -text] +if {$cum=="unsorted"} { + set cum Ascending +} elseif {$cum=="Ascending"} { + set cum Descending +} else { + set cum unsorted +} +set col [expr int(($x-$qlvar(xoffs))/$qlvar(reswidth))] +set qlvar(ressort) [lreplace $qlvar(ressort) $col $col $cum] +.c itemconfigure $obj -text $cum +} + +proc qlc_click {x y w} { +global qlvar +set qlvar(panstarted) 0 +if {$w==".c"} { + set canpan 1 + if {$y<$qlvar(yoffs)} { + if {[llength [.c find overlapping $x $y $x $y]]!=0} {set canpan 0} + set qlvar(panobject) tables + } else { + set qlvar(panobject) result + } + if {$canpan} { + . configure -cursor hand1 + set qlvar(panstartx) $x + set qlvar(panstarty) $y + set qlvar(panstarted) 1 + } +} +set isedit 0 +catch {set isedit $qlvar(critedit)} +# Compute the offset of the result panel due to panning +set resoffset [expr [lindex [.c bbox resmarker] 0]-$qlvar(xoffs)] +if {$isedit} { + set qlvar(rescriteria) [lreplace $qlvar(rescriteria) $qlvar(critcol) $qlvar(critcol) $qlvar(critval)] + .c delete cr-c$qlvar(critcol)-r$qlvar(critrow) + .c create text [expr $resoffset+4+$qlvar(xoffs)+$qlvar(critcol)*$qlvar(reswidth)] [expr $qlvar(yoffs)+46+15*$qlvar(critrow)] -anchor nw -text $qlvar(critval) -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -tags [subst {resp cr-c$qlvar(critcol)-r$qlvar(critrow)}] + set qlvar(critedit) 0 +} +catch {destroy .entc} +if {$y<[expr $qlvar(yoffs)+46]} return +if {$x<[expr $qlvar(xoffs)+5]} return +set col [expr int(($x-$qlvar(xoffs)-$resoffset)/$qlvar(reswidth))] +if {$col>=[llength $qlvar(resfields)]} return +set nx [expr $col*$qlvar(reswidth)+8+$qlvar(xoffs)+$resoffset] +set ny [expr $qlvar(yoffs)+76] +# Get the old criteria value +set qlvar(critval) [lindex $qlvar(rescriteria) $col] +entry .entc -textvar qlvar(critval) -borderwidth 0 -background #FFFFFF -highlightthickness 0 -selectborderwidth 0 -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* +place .entc -x $nx -y $ny -height 14 +focus .entc +bind .entc {set qlvar(panstarted) 0} +set qlvar(critcol) $col +set qlvar(critrow) 0 +set qlvar(critedit) 1 +} + +proc Window {args} { +global vTcl + set cmd [lindex $args 0] + set name [lindex $args 1] + set newname [lindex $args 2] + set rest [lrange $args 3 end] + if {$name == "" || $cmd == ""} {return} + if {$newname == ""} { + set newname $name + } + set exists [winfo exists $newname] + switch $cmd { + show { + if {$exists == "1" && $name != "."} {wm deiconify $name; return} + if {[info procs vTclWindow(pre)$name] != ""} { + eval "vTclWindow(pre)$name $newname $rest" + } + if {[info procs vTclWindow$name] != ""} { + eval "vTclWindow$name $newname $rest" + } + if {[info procs vTclWindow(post)$name] != ""} { + eval "vTclWindow(post)$name $newname $rest" + } + } + hide { if $exists {wm withdraw $newname; return} } + iconify { if $exists {wm iconify $newname; return} } + destroy { if $exists {destroy $newname; return} } + } +} + + + set base "" + bind $base { + ql_pan %x %y + } + bind $base { + qlc_click %x %y %W + } + bind $base { + ql_dragstop %x %y + } + bind $base { + ql_delete_object + } + canvas $base.c \ + -background #fefefe -borderwidth 2 -height 207 -relief ridge \ + -takefocus 0 -width 295 + label $base.msg -textvar msg -borderwidth 1 -relief sunken + button $base.b2 \ + -borderwidth 1 -command ql_draw_lizzard \ + -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -padx 9 \ + -pady 3 -text {Paint demo tables} + button $base.showbtn \ + -borderwidth 1 -command ql_show_sql \ + -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -padx 9 \ + -pady 3 -text {Show SQL} + ################### + # SETTING GEOMETRY + ################### + place $base.c \ + -x 5 -y 30 -width 578 -height 425 -anchor nw -bordermode ignore + place $base.b2 \ + -x 5 -y 5 -height 26 -anchor nw -bordermode ignore + place $base.showbtn \ + -x 130 -y 5 -height 26 -anchor nw -bordermode ignore + place $base.msg \ + -x 5 -y 460 -width 578 -anchor nw + +main $argc $argv diff --git a/src/bin/pgaccess/doc/html/screenshots.html b/src/bin/pgaccess/doc/html/screenshots.html new file mode 100644 index 0000000000..0cf3ac6b65 --- /dev/null +++ b/src/bin/pgaccess/doc/html/screenshots.html @@ -0,0 +1,43 @@ + + + + + + + + +

    +Image gallery +

    + + + + + diff --git a/src/bin/pgaccess/doc/html/specialchars.html b/src/bin/pgaccess/doc/html/specialchars.html new file mode 100644 index 0000000000..b6b82f2336 --- /dev/null +++ b/src/bin/pgaccess/doc/html/specialchars.html @@ -0,0 +1,47 @@ + + + + Special locale characters + + + + +

    Special locale characters and PgAccess +

    + +

    The problem is related with some special characters used in different +countries because PgAccess did not use fonts with `-ISO8859-1' encoding +--

    + +

    The sollution was proposed by H.P.Heidinger ( hph@hphbbs.ruhr.de) and +it's very simple.

    + +

    If you look into PgAccess, you will find fonts declared as follows :

    + +

    $ grep -e '-font' -i pgaccess.tcl
    +-font -Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-* \
    +-font -Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-* \
    +-font -Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-* \
    +-font -Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-* \

    + +

    It should be something like: -adobe-helvetica-medium-r-normal-*-*-120-*-*-*-*-iso8859-1

    + +

    You can achieve this by running the following script :

    + +

    #!/bin/sh
    +cp pgaccess.tcl pgaccess.tcl-org
    +cat pgaccess.tcl |\
    +sed -e's/\-\*\-\*\ /\-iso8859\-1\ /g' |\
    +sed -e's/\-\*\-\*\}/\-iso8859\-1}/g' |\
    +sed -e's/\-\*\-\*\]/\-iso8859\-1]/g' |\
    +sed -e's/\-\*\-\*$/\-iso8859\-1/g' |\
    +sed -e's/\-Clean\-/\-Fixed\-/g' |\
    +sed -e's/clean/fixed/g' >pgaccess.iso
    +mv pgaccess.iso pgaccess.tcl
    +chmod +x pgaccess.tcl

    + +

    The final version of PgAccess (1.0) will let the user decide what fonts +will be used through a "preferences" dialog window.

    + + + diff --git a/src/bin/pgaccess/doc/html/todo.html b/src/bin/pgaccess/doc/html/todo.html new file mode 100644 index 0000000000..f19b61ab90 --- /dev/null +++ b/src/bin/pgaccess/doc/html/todo.html @@ -0,0 +1,11 @@ + + +

    ToDo List


    + - Finish the report generator module
    + - Enhance the form designer
    + - Enhance the scripts module
    + - Translations in other languages
    +
    +Please send any suggestions by mail to Constantin Teodorescu. + + diff --git a/src/bin/pgaccess/doc/html/tutorial/addref.jpg b/src/bin/pgaccess/doc/html/tutorial/addref.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ee0525d15cecc91742d6c0a42f5cefc9195bfebd GIT binary patch literal 28655 zcmeFYcT`hN*Ebxb3xp;JA)yzQ-U$Q{!2r@!l->z7RD%?00@6E3=%9k2QbVr_(h0qX zUISIVB~E9}o zkkT`dF>+mD5+CE1kh*vO!9!H)^EAvTvx>gmzyY`cXmX06L`~3%$0dof=aLU z0lZnm!}8$IR70@e1#cm$Bh0)H9CVE0hU)Eao_$za`Z+I2*!cl%&QBzqd{e&tzG9&# zQfSC8T{0**Zt3&)fckISXB<>tt+M_km7nFbSh9UNO6{fcI)Ps<0EfyRnNHb{T5@w_ zBZXJqd&)Egsek-o#Q!G|QDEt~1}SgLa-8CBuiB2-{!qj96u%4h-Cuo~&RT8C5dIvW z{FN=bD#R*O=4SUsvK8xR5y(%PmC`1Up1VRM!@~_nUC$AFiH^s-$roDO!q)B_9Y0Z6k{t@|nAYn(wJag|laPM2=-PjGBF@5v zDVy;Zq;aF`VVqy4ihI3IUlK)BXmPJ=gv=s#%4BC)l?jf`*4cv7TMe=0H8SJcZAbe^GzKrp@$=o*ArccAs5iW7M>*-7~NFiCkJlE;+1s z;0ST~P>-q0zRRj@N%p%Pk~XjzWQv<+WzK~nq(3_@qgWjdUl6{IA1Gb@)GqxeF?@)L ze;Gs-vC6Q7oO^_Ij(QamsvSGzM!FE?V`D-DdenQgf8R!8=|kjr=uSGovuF}!vXx`W z3XNZObDe;(C!E4AQ<4AcXkngJ*XF=3NR~FxR1E?|ev{~l%D>|B+C7rle;L?IHAZCd zdVuI;=x-8Er}Hm>xqRjSHu0D7{E~$NR45V28oE;MpP++u4%OTvO&>%BZ#ypzE0Y50 z&p#!8i@E@anZEkF|)tawM!w}!o5ted+$gaUE?X_F&(ZeV|IZy+*$9|n1TJHWs*c7+9{3`TC z)yHq=3U>^MlfArZsn6$`VGTkJH0N}2?kpdea@g1AvBv{t$P61m4MIXO8-0+9@a{ET zumR8S^CmDKVLpPhI^IMc^Lni159ZU45ff+OF92hct$9IIIyKz#4d!o#=;5Wy0F8H` zW4wBBLCCf#Bz4wI%gNKaA0HDdXh_S%6W_K3To#h*ZCjxQcFHC=R4D?s>tY))%3tpX z za&EE6b@lAaT^o!)r1E{=HfC=uu?I8+E#&X3k27sM(>JXkn@qOY;ekIV?H&n~NeRqI& zXj}LCGN>vfXLg{)+u)A~cp;;%lp5{Jil7|tc@aD#*zspmIj@3?Qumm~`Ph3s8fHz| z*{6tEWBJEC2$Tc$wOhQY>9^#;!egpDmB;BHK{Gi{3UX~*H1fW7hlmQ`J>_xDlb8cx zvlNFeVj*q36m*u?5x{VBCr6=+R2FOVMc}K?_bVcguc}kKy;<$mGH29Lw_}Bn7U)sG zcS)NoVcJ&+%2H}_?h4RdDoQL5O^R;tVz#saDKxGRo0S$VZ`z}vN%O<(*NcJs9B0ix z*L+U$IFNI}N@+fyem|3iv1F{@F8KVSkk1XGh&IYfIPg6f72IxUYy@|!)r?P$a$P*S}BP#wYIXXQ~lUK`_Gpm}Iz7nS42713!%QduY4CKRzAapykd>wgNQ z2$d_J)Kymnpp-!yCneLQC#q6hKr3(Zhh& zGkYQ>hRZPt*GXM&)kaqJA@0}i(v*KcAYlhH^UDxu9e1nn!qsjV1s;0o@2@%}9C<@h zjmR}`e33yQJoiOJ+z{!_@6`u_Q_lWu{_g$w5BI70^O)4B1LYsvNr=A~yv`blSKxOT zJ9uJX&l7*Yrg`~~33Z=v3ZmMOnp+HP+KlpQ838z`q0Nxa)PtNU3zWBJjx*{-NlT_tvC z%$TQeu`#?Hq`E%f6_P)E7|?&v96e|f9z8Q+4%YQ0-NTAeeo4Fc-NH(A~6@+Tb9v;s3VQ-DfUOUu4ZMugo;pwAG|p=xDQ~ zYNz4F^n)IEY}7sp% zuFk2;;+S5#c%lOQEciSi+B4`ju7!T)n6t4J{bX8)nKV)*DtrIqzD%)VnIx>Ur&&?Y z1+j%pa2p&1 z1w{4AMzsIP?ufH;0?;9dB}`CDGwoZZ7{2J`Nulg`-Kmv4yee-XIo?0|XCS#)%k2>B z5gY#R9xXa=hmqRD;^Mo*`g5%EptbC3)J*~XYQ^M%a&9veDD_+k<*eH-?V1rmI2<_H zd+mkMke0cLLT1^B3`9EfQsd?X)yaRXp$5A4l2P8?s+a2FAj#25gBycyxR+qkqf&^e z4+7p#P<*d(=oB*wn4x+&6th&f*&tmW!%3BJGs!Z)C3u0p`8LP3uHfvY*cmXYt`4R5VJ6YZ3# z0L47<{SlS<4HJ9qdp@Vdnj z(wX~P1f$W8mgsVW$@8imK$%HkM|J{eM+CLl19Xv~ahZ^G^dr~OQW>Ll%}&Utot?MO z8(z5wIG7b!;RL_hd%jZDu)+{ojar?ze_ z6bdI75e7@wO2W4>DPx-sd97QD#Beq5z^ZMVwl7=aJVA06{1cnCMGhGmCk}6S;&N#` z2XT!r7~kUZdhv;uKCXq9Udo2hIJ*^GdBkuW1!e(%q~vOg!i{IHd>^tNH2M&y-(Ara zmW7m+d=eEELvLgUV z5&=(7ozn7fx^)AD6G}{eri*Vf*!JX<9yTd&2m zo?PV_Pv(A$2FuJ>=^d^Cc@W!7a>f9AYKFtIH`Kh};PI`U9RbZ8hCLo=#<0!zh@z7O zRq-CaF%ciC7*IyI?`nda;O&R|m@-Es3z5AJ@e2*%?@n>0i#XY}Y}So>h3e~>~nu0ZHfX2hps zNYR|f*%l=UI%~R{^*ZnRXlGb5gIy9f(bR#a_>re{79sN^rQrHcVewuQi?PK}V8l^k z_E}mqaA+mzRIQP)9(6)W-T*Gnqi^7l};L{Ae(o=d`zF#9Ct zp=o!r`(i|?sBs*1lVhcjJhj?V!qwHDx9729O;Kt<2POi+lKa-mCR3Gt=#q*nKnMW#53} z@h+YjoU6a;=mQwXDTuY9)(TzsE$2^y$NSFiMAEcX68QZH55iadX>9GYH1h>Fs71!# z4)Zp|tJ&-NA>;v$0{vK`&@v?yuI_;-z6rb~GN4DCV# zaSg;76U2S2p_0U6>ZFZ-)qTLI%9Ozy>YFJfAyuWZID&62M5vI5kOcHXb9|^-`1@_A zwk$d`j#ug^7#7hkc`RBM<2*U|2E?N=bv^Kbo5jvr{c5M{dvVjG@lHYOgIinkc4^~o z!H&F>sW+GEF(ZT{b{<39oWb;u*`#j}34;;1kgw}9AqpX9~FGjymhTbM= z05^+CuzC*J6Ngv%>pzl#%_4DvynKYQ!|XO|zA{>v8HlW)3zsLj2zjRe@g$-$b2wf2 z(F}(7fKIZnX&seYXs^M#P8E%fR@r0vG3@gLmjC=6*1g#;cs%jbrh%K_dEVYPKjrHW z(M#S37l2}p$)V`7?g6+iG-R;F#Wj+QH>C%LU+$etHSNsRa|cq@`Y*7>T1I2aA)G7v z#AoSTRl%*5!Btj2Up4KDTQ2Gc*Eeu>Ed?Sus_>ur&p#XeNS8JCyUoz*{=PO5hkBeE z__Z_$n_b%Sis|$3WcFT}?XlT{-3DES>7Pl&@8?CYg+KYXrmTiz?w2VnXSqs9qTV)X zVxJs>1Bo|1c+LXONHfaun<@X<(SNkzrzSY{n={!ZlO9526SkkrqW;fh-}`S<%65ZO z7KYI|#v}<&y%8zOgiw7hr{2}%Fm!-NW7A(X?wkDl`rbAF`L(04?SQXC>^RWg|QPrsk7j~88<`tQg803*2R8umg~;@I@|O z08X#vnVo8@r5j}~yyXqS39>Q$+6-{H-IYW$H)Jj(P5;S%@Ex{NkLGb26J16zFe z9!TxJb$kb=bx&%CnJpNFK1^Z87QhaMwT6t>pZIsVKtqEei6iV)G$z8uVtQ+sZ^TnZ zU%yPv<;{!Ph`+y+66FBS>`=wBae~czF#dYL3qY_Gi(|FON?FIU%M^xXEq<(r0+!h$ z+k4#I-oB)eGy1)HtsQ|P`KiG1LJEa*`FHS zeg>Uh05o?DeeJKDc?v;}o$m;?L(aI6v-mohYzVX zcCpFWxhw`G1;PW+| z^0;{6++ACv`Dl_*yF>x%S=EqX5kaTF7;>I`HT#zue#@>`+F1cID0)WQXm9iIoz>)= z?Uf$Kdm+QrF6gJxuW^h?BEGEal-M(-4DToE@e*cE*2~K?kDvi(5OrP_nGdb**$x|* znQGaxLuHQnU!q0UZS^C*aXXm=!SOpn04Efe2{IP3CA+YZ52*WFEzkd3R4TEPKN zRU%^lVk|X7V1MQZ(Pz%dS2KEHS+yG&TZT{;ZtH*)O=dLag}o-<8Gsx-rNpLf^GiAY zl9+fuYvxK^Ni!^D87Gw@ceIhN=li1PcFpfWVS(Wq`vUWJW~#E|l}O#`@c_FjvRa(C zn!QwGp`1MhXXss&f{HHdzG5CmSma(qr(DZTgg7zvQ^q8|0t>?C2!#{WE^EWlnl|LQ zp7b58TgMmk`V5=hUJqCnl*a>3b5-km8O-l7(E~7f zBr;%6v26@)S5D~JqBVXZ_auI;XYOQBqs*g4Y0bMLP|{0x4vj#=t%s58A>BH2mX05^ zaH+4j;z{C#SZPQSaISyXbaO;KZAi6Ar)`3)7MSzE0ldUB$3{*bu!~YZ7)~V3cd$Qp z9hVRrwO6Kb@r{#$M0E@6TuFrwY47&M2?3#>up!C$CqHlhWqx*9wT^W;zZv_hlYg>w zU90>a+avPQFg@GG*B1b;6QL5z#rnbOgYcaH007_73d5`mN@kn|!lv-cyLfYYeWH-o zsOIWe#q^!9bZPo&!+oX16#QAnv*%LJ`Hx*!<-AqjGpqmhDk>%a(3oMw;4@nph$Yo* z9RJadwSPeg51)sdmAxuLK&Y4X*Z$MfzoP}s`j*WTZ7tF%(eQ1zsyoYlY-@ITn(q5i z3RQMCYQULXCr(E+_Cq&;{UmOxB%g zyEd*D^Dukb*vcT-j}S%jbo8KjnO$b*>tfWe_RW}{PY{nTE0n*gX;H_sTLA1g?x z)x>C4HehCHJGtx|ou!Bc**an~E5sD|_jxuUUl+f{FNMu6yIG&`%~9H+9{Dwrq`h_n zpV_(4xICGi19fm)3qNOO=e>%6loHSV-KqaIvZ_s7%b{ctb$1!__-{iLg24-Y^#$MK zxn8EuBvgZE-F+7|c7%Xqx=Cg?CmyjTNv<+G|HIz;p4n$EKvH z`*=Ta0@kufTzuE^{|&tce@Dwd zd`l_yBSF+M%ku|RT|JX&mCVYj&%z631?(lD8$C)?1;2eq-*0D`wpNY0ZD|O6Zk-Wb zLH3Y?PiMn<=E3s<6r0T3gYaDuKQ9LX#9}X5jWaX^HxU69h2MZqthy@WoWeBYo12ya zJw(MJSZ+C=kgdhTKc_ys3i^z?&`!JASWc8CvCsh%Iybj@xG$4~BT@+tP3+o%ma{Tv zjnb+6zcg5y70lRHE$~XP{`eN%q&pL@+nbLsyRE;o=R}LU@<9^qyyTL<=fXkAP<~Th zHhJ%#GxVCvMmb~4rs6hWi`VUu)@f`~8Qz|U0kERvG_;2QX~xWf=EBpN*Mo%)1utHD z?C36;Ru=f};pucc zH)+?~(RO_zx8rPmV?70D-|dib=(eyOHYPw#b*kbazzIGd*9<2@7HCy-k){Q=x_|Y0 z-5lwjt#dPNC2k%sBP%DvJ&1@HWUC^s!Mtd(JYG~t*v$e1%l>mhgMaQQUFyjh#3RWJgCS}92|hut+i zwU^XgIu5QnWwR_`Ow2Tg7$)&z*vw4~wb&#lwq_UnnuS6V^hnaI9&~^CJk!ndYzk9; z%+|Ew>FBYr$M!ZyqZdyWK#AQnCB+h4v8NFbW&wU$csxv(D?mx;mKLMp0aevvgk|lMA_%#RMM%0x5+`Cf(5AZ~U5Y`K-Rl!cgn~$@I!ARw zkzlNioW*W{EHDp#7ya4-l~Tz>YifH(N3lwf zHY#>j#r}2*jd5Hoq?0+Pa(DHhY9t1HAL?ypRC!~*K5_8=b&8m`j#pXV9zfjdh^eCF zEtEF^3YQi9;FAITe%WB{<_NZNGOboG+J20Syon@gp+7STz&Nu${zf=tmH;+HywY;_ zU&KFh+!{Kk5eDSmC1V8vP(U|FR>jEgt^-o%Tv`n2jGg!%aZ~S#5ezkH@(c+Zp zNG7Y{fy!G;4FT*sI*AArzKvg*#>A;pmf4yUWFPmhj;u5<%IeD{Cl64cGNupJp1O@s z*E`TL=nIzqPo!e}hKwIAT zyt1AoUFTD;7ADNqWCnjave;F?*)f}0vNDsv5u*SucxIAty`)Epk226f94`wk{2WIq z86RF?Nyjmh6YU0Pt6_Qkq**r7xMI){W0LjGI=h%=Dk|%wr~QTOO(??a$b&;-i&>eg zVhGmKllzi+qXHE@HgL%G;)|Pu&;ix}y_ttzXMg8&h28c2#)I)jsxLaZF<_h5*FDN| zq&=_pA=GZ%vD5$^!aU1Qb~obK7YgNS80OQ;^c!9rx}FFNE7sxWCI;V~M!Y%E$skwd zVLxtoIx+=)IpjIbt^;V;v*EPkktQcs61@P>M%F3NcRg!7_BnQOefZ|npd6jsfMJ!W z@7Okc593y()s}H+5Wxu9@^BWnNmWye{r-Ec4%0du zX9ZZUA3BJs%W#EK!+qzd3uGZfruB5jg;$&PwPGXQ46E>wlRp~m^cJK~%-O+VM6h$1 zgxlCczcRnF=t0}LlAqvDGDJ~i((UC=PBguy&z){Zjwh6g=I&R+;tt1{IR_RW1*~HaLiZ83?SmL)lukE+U-(Y%KE9LrF zU8&MPmyrTlAR0iBfYHC%8Wx)>>!u(muyuKlg}LoXblEP(_&~sM{bktn`V@Fsw0qFc zw1jb%+bdEnwTG>ywly{P^(Lp}S~~GaXmznYOxDiZB**ueOHsd`J+H_P$&snWA*&gM zx#VMc*{8oYt|AGh?LE4#<`KR3J70J1Loove3nfQFszeBH@a(GUoyN5G_%SeevtfPt zCd>q+6}@%M704QGlu+xmzQG`&zRMS?QRo=g4Jk`>6jH8@d%8?XOJWa1N`!wp{bQvE zmHk`95R@V<-o~7hNT0#;n$*w)&!_I-ZLc3^qmL@5rODCtBQ$ox1q!EIIL=fm2W8yd zQq%1>ugV&wbeXV}lgAALxnhPRR?bzlJ0$lNj3qvNXWU3?`5+4?JGgnE;V3_QlaTgw z=WTnoZf*hUSl0Pbf2Z1kU94Q&*nG7Jzhj%dNwhD3;n(h91GRrL-&-8-T-%Jft~HOA zl>KyNwLaJfLsr{%HIoGdHksI)EFQn^U8y91zHp5!dVoSPa};2qdD zo5MQIRR$T{J-O+!uXfT#)h2{2aulx}0@|a~FFmg2d@L(NQ!6Jk;wWc6c#eqDVXN1( zwR51xQaz;|(?Hg2zU-97u~Ud0U&95_NR7?EbuO#}e}b2DpYI@4%1DcRYM`6Gd@vMN zZ2kZMOtyXh)pwu8QC_?3j~HoCpvsntI3W;B9d`lva3E-C=xEjHnImyozx!LdN6(VA z7enosAv=M_h{DUr-T?+3^0e< z4LNLE5u#}1HCFwpWv{%AHT0U~;G*_J#GwVcc-?xzc|A|@IZ>Q+l0fnop<&{xfBK&5 z&!rV&Xl0fjU6!SZz0&4ko|_QsHJa*xbG{yT{*sM9FH+Dpk0`*E*zbD!_e-|L!ZYT4 z0Z69yq7F~us0Wy5MgarQx}r6oG;>Sp(@rXMXf1Zv5nePa(jYGYA3u^ElKmY2;$q!k z?X+;va(yPQ4e9wT+L$7`;HCt0jFm-dpD&E_ajiRW+G@3#kHOS`@kBCJ9qu#Z^lQuE zsaWp_aRv%?vyY&>=4Q>`cQBmXz#+GH<|8}30WMI)A9^pC9IlnX4u=z*o7+5ljD8M! z1Sr)_Sywc$K2z(hY!#}#7vam}o5acvzUkpK7|)8Q((u-*!Tl)8zj_A44bTrpS%uN( z$#h&B>_MS-I+>kFcPGYHSKdjEXqsMb){9tN%6fH#>0&HelBKP*O$*zM{w9UZ^Q%|! ze%aOd3~Yv8ep_Qund87(ujk-wlqa{D&xpRnH?N-}BR^Dm!uY;wc^Zb7TuCL%iO=eK znSEtO#o-lw%@$RlezkdS<+0>yu2e^-ityDoDy#!{Tk3hLA4XF4u{Qp&`3Q3(lI)H7v&wu%>J4ZU=X5Xh5n5C{;6} zMNPNM*|(9D-JaQA$KJ1_*Ao2pp;p}HT~Hp|($BP>3ZF%2P(!v#tYS{p^yJEw`9Jeq zrg0C0_oW~C9*=bVI^gWa6^=`hQPCV-wN9i-r%f>RsxQr{*(C1N$(PU&UT6uGVi4+7 zFEUlWyUzP_AlredV8}P( zdbBZ`?19U@KG*ZQbnCAY zhWG}49^6E6*2@BWVruD$^nHZE>NXgbv!R7-2108y%eq;Ude(H-OwN>I(}$Iz0xOoM zwq_taI%z( zubg{OJ}hmfez{g5%uPvyckJ6MSxijeoR?Yrt;%QAsx%QD(#Bbv zfHBk3hhs)lEtNU#>9FvmC^^NHj(yWPJ)~2Ge!_G8_gGU(31_bTF2x z-$0AQkH>K6T1KpEtW?&Vo_tk=To^*(eTU+>uC0Yh?^>}eay8OP#{XRY?^p(sZgm#+C$(Un#bkHUuInPg(xy{$M|OiY>b&C zKLu>od>qP|M~Uz<9^&s1=*eYkS=jkvW?tI@Yr*$#_8E=yCb+Gtqn)Zoh-m$Z!3*S^ z$Nk6YWa;GY*VInMK8@a4V36RK9$ad2i2~5K_yU8^awHW6VtUn>%-sojgW3vI@fpuk z^em|nGA8GGNJK7LaA1KJshU9%`M6~#t6McmUcywf4uth%`Znpc=ym}}Gdxp$+_b>I zPJZxWVXey5n}+mdOYj-o`x58cm%xOe;WYzy>*k1$+cpt54itxI-f&jX6Lm855k(qO zceFVMLqrm^X{kEJOqtz`L*?ZH9xvox_9?YQMse13_jE6e*s5mnL^moJvC_~`m8yYS zb5cRs4%^t8yAxr|{#2#6@20X*3h>AEt+FM-G=^c(tirFjDV+aYGMm+(OH{L8jrfSY zx3}_|(IrG-h65H5re*7I0`8W(hqZJW`*D*!#P-3Tw$s{id;wr?g|`-sPqK4ep^Z>q zL31Xg;Izi3JLazY28caC-n;Snj(y?Y=`M%3BBSeg@& zlN)KuFCo@#%!ZOTAAfK1!Lz+yf>%xWO{ARkAROK$wh?*f*UDgATVA`HlidBo(f) zUu;DOR!G;~LrHJzlxZnYe@i>WuP{wR_VQymC4%!ioNK zymfDKR0cU^wbZ2T1O%M@rp!})5cIg37vqGJ<3L*~^fMnEq=BXX(ZK1xskqGblJ+aE z{mt;*d*x)!`muU;$&jew(%Aqdyg+EwH42Ec!ebXqb+4^$y?)PiCl6%QfLPptqF}xc z%w%pSznWPzT+hJlMrVA$0}Hj}&u?4CcJ?8eoVD|+>X$giD(C8q4sF_ZT2{)#z=c>Q z8&`+O2VT{a(ILBw^w%6~Gkeub)M=n!D22zn>Vg@)C;AMiu9j&@J-QqAT)Ve3dCHMn zXV4xa%c;9dx%Z9c| zH>Hhp#JmBYW1}HiwcYEuh?1iWp5$SYZ1eXm5lTw>XTY=}5Bs3P%{^Rtl9XLKLW0I(IM`uItkF?DFnKN{u2^U|k*S)|CaZ-WK3`Jf zwgFm3*2>i!8`ICkon!z9=Rf|`c3%&fpA1!|%~y?{vX=UwLUCiClEup8YDoNS3|J}g&bDwttM?hCu zP3iJs7*$wyDJ4YE)UI?`Gr&()R(zg_s6DyXR2IehA!6}0@1;9|;@Ybt--|;#{5gTf zP1Q!e9t>AKg~ztO4CZ!L#_8J^L`~%XG6kQNv7v3VK8v+RLNgmh3^LPE~&Y$;#a=Xa0-5W`t>=9-?!&aD9Q^<_UBD=A6Xg>R&oo=s8UoSh` zYB@Pg&BvmEGy>8!#no~V^fpDp5uru2diKXY3?0VR{QGY>!mSQg#wqwv9XaNfs##j5ZFQG^oxaf^ zR!S?z?Ge6pUlpd_Z7$6_e!jqr#=Dp~56i7UpBoiL5%u(+ zZ(RQ-8tuPIsnFS{ulBNno0>iu3d`=_UXr>1JoaMz$6}`}{O|9a)6CuL^iJw%kF_}_ z3=KZL`R7d3{J_~AsB%an7+fqlj>~%8f+7=AL(IIiP!ab3p&?!8Oe6_ znw7x3p_D|L{n!MDRjbTfXA6f}ozOI0IWd5=h$Qu&T+Jj=+4X*fLe6Xdo4>zp?@VK}F*n5Pz zn&b4yN@8~#wd)HO9Ewvc^XmLI^8AbI4b_M9%pPsuDCwxPq{}9MYRn+9#&L^U_i~0# z%%kD!_2$D_TJpV>#}pe1Q(j2_5Tbe4eyQs#&)14?6*ArE$&0dzgLmUKp;8{KDSGEG zdeTWc3fJY4yHK)Q_5A)X7i#RzmD=Lgk z1v8}V{H0yU?sdu*x$YMy%Ea8wwfdnnHH-f z8ctk|4zC+Gldz6aVqfM(iWto&wdsw@D2c%xK6n^5N;fyG~u zhTZSbBNXvF;`m$G@%P*RrpUyvstnjAhR!*VQ{xHgJ-Hp6Yw|rt6c}t2-1X4(ALl|I zt35jP7G*qUyWF!^hm!73D-@f~{E;(GMuy4C?~rYga)wf$CP`j@wsy3yZKKV1ByM6@ zu=qJ>jv7YB<6tiOw!VI9MQ{{i)p%+C!2+h$`TPqW=Y2_wBs~Yog7zL_yVjOf+R_) zMBnuv=<%ms&)tbbEZ|>&HsksL^j%rqYP~zLMLQL#kjDWx0*^{DT(yyuE>&>&lM{rK zugpw|M)yd%#O!a}=kK8cZ+0S*3(+5!i7mckXEfdI3R+YwcOs;t35(adWxld(;i8nF zLUrz^W~GziL&seRCL91%d+dzZ22X-Kt;Xlv;Y{@kYIf9f+(~GR@7>iPS&2?eh zqReFSBrsK&)>o$i2efhAA&YmNYH&@!C+uB{!8$Xq`;${^oCr_!=LuzpB9?hJw2guI zS<*;XLwDtnPY2CC89W@z6jdlZ!Nz-E2JY-;EAz<~1qg*((fK~z+>gSE z6E6oohkZdyXql{}Hlau;#bH#S&M)wXsi3!5(i!0<+nX6rqj!=^5jJ<1sS2FvvzqtkPmy0_~@BWP_=s z$hA9o%bXG)#5wYY623}7b5oMfd8p^;BM4p51$mcU3i}|uM1#4NO0slDy2dbdv~f;t zzy&~wUAXf5b{|AKM%G-*A9645?nbGLgj*kwbVoF~NQ{jOy3H#G?QDruxjEMP<3XFl?3qM^zt3>5f`ln^JwTE-r0wX+ zbBv5D86%KQ$V&_)y(nbpBEDUzK@%erK%nkzNKRTEk+%2R6$oW}xKUwq4IgU2tO zB4^=hbiQ=z)JdL%Zjps9ftQhLJ*~$=pp;>I1Mx3Y^Ho-aXb->Ky*Thwz}58~t|~7U z?OO31P{MV~v^uKVH4Gafccs0;(SuxoK2QCICRf;TVcB!iiCAp6&n)S(Zm#^1n5=Iupa~WYapuqD4#sG$#4%p{1-<(&BD=w^QJ600V)#`g5#z-{UL~`{DNlhj1N6&A* zMdJJn-&o27NB16g*?V~H&JicFY# zv)x9xYsiiwAg=^mZVL!O-%O#PpPreA*9j=ym=FH-L6$LERp@(sqYTuxyr)j)Q?DFo zKnPX)6sYSGSta*XMmEK)&3Q0t1+FbqNI#8+Df>hz$q^IR4A?>8o8X+0ftr5PJhzE3 zi3nLk2nGWBx}T-};f|Jh`n|T=Xs3)$6M~on0Ci6_Mc&7WK&B&QVkh|~vQ$nn2 zgA;Y{r+Jq}CK>W-BR59Hj2)#kZ$m~29y)&`shVvOZ*>jU{Z$l99^kyUcC@uBQaa00 z7G+aUD#*N&L$RD?%VKK=x#qVbgh1DJ2zcQsK;PLwon?!&%)?J@6J51jT<8wotqhQ{ zP{xWY-Nv99o+G7r$c#B_dc>d*)$H{vmZK$j}*NJTj56e1FCKHj1R-Zo=oNO<{ zCft6!eI=JtqJO$c;-vOlw@NvJrv_?|QcUWFw&u>xtm6iN+HU27 zOrL9SKvR_LlU;gGZM@3pd%bFueEWbjP~|XPHR|}Ho{eIX(Uk|{#`uz$iPtt7#rDZ% zU*}EFHQ`TiN>6Vt6Apy|&>JpH-76W7O=kueHJ?qy)N$}$iBoBAI%38v z`(flgf6p7G`P5n1mnrbZa^C39`e+Il& zSh4`*|=eMWz4f#=Bx1%1Qj1zl9Xnf&3IIHT}`|8W)*U0bs z$+uUAKhvI;hJ#TZl6b`Z?vsx{7;4K&Fte&vKEB&1U3EO?_bs0Fd%mb|9Y1f}nB;k^ zVP-C47Y`Hgg+K^X&JlmQE|uOD-?H)QuilXiDBhP*h7rz_@7^2eT}fr8c*!@$+-ruQ znewrsqhyss^UQv#vh)UtDZbbgJ2UR>EJanvC&BRh;_(GK5p-tDa`bb|kqFf)*@AYi z_NBOPr%?n=$4vhdEp1xcRj>7yObu}{2-^#lV1SkuZ~L)sH>3t->%DJbY!i5v{Hh_& zLGVUB|GKV@JKr+UK>(mBEaGw9_GsUD6(7S=&U0_B%*Q%MLasgz5q3AlpylTf9JcMW zOlY>c+2M^_p?{b#f3%2*zLauSQL!?C9x)vMVg$;+`QVO7$1 zr&cl8f>8TArcxoBzMH$**-ssZWu0Jv|EIm{j%sSz`awWI15%XUTTqJhE*h#_5JUt- znh+p{(2)Rwl!OwzbT0_fya=K|=v72OiXa^!5D>(Gp@pspit_Q^O;GQ>uJ!I)Z@uq+ z-}0ZVb7ud}%$z;5XU^>Xn+ZcsOi*!#PmlS#<2+fO#!#gSK|SV9?#WZ?bn`2#);BN( zS=IgcQG>$ynXQNuZ{H}2sLjpXFz-ucm?C)JXY>IqdQj%!Mi1X^MMymnQQt7u@K)n0 zj5%|SZ}bVP7KaB7;&M7mB=lZDzk#lOJOsY#QtQkTe74M#0dzslvs(6jLs3wIE(P3L zAAzuJe)NbZ1{D{@i*7RWWW8&GQt7++PD;F7H5+invngA+Y!8;R z&Z?I^sVu7psRIDnoa13f$!9#&+`4Y-+Ct)-w7tUsly-C$E%L zj@oj6F5TO#-tn)enHA_RB-B1~?c($|T2)oUJq#dc@{SbZO@OS6Jy!W-zqhZOWWM48 zjDI=pSZ_!F#Qo}lEKRmJklcXPtj&ct_dko(6S9|!kxpNHHKheN8kPh;3f?Ao7h*O$ zKW{dF?nHgKxiDeI`qhmIIsCQ14*h2|jJz1Fy)&|gDob_mZ{(_;UqhI{iXBkC7spaq z>js>7i$;YJneP5`L)`T)zd77|N_SAR+;(2;KDXWP&z|FoC9IqtTPdH;*BG||emD6t1rd)G8o3~}LOE}|>;-TK4x37m8DXU+=dR5=aH(&%X?yjdIyAAw)nI0;} z%e|UWM%hQga9nnGu}H(XrC1m-*RQ*5*};nagP-(>!zfR%-i4pM<j zFhfExcw|Nkm?rdcLs;vk0R!%k&xO|2v1g3-b?VODK*?V;pZzpAI@V6fMX3OTcvG52 zIwo-eje5mRVU{9Ymy)eTu>5g!#}z9IGo3JS5HqD>%}@BfRkoIOOR6e*cAQlPbs9FC zU#a+}+-vL@MU5>@X_}Qz-ZGs1snP8eNA7{!0TW3?VU&~oScjd&B{{_;XLxk4tLFH4 zZjItDU~db7XLnFjT5&(B6vT+Q1aGw7daJNRKHNz>4z?&(=y^-YY_;3mNvB&dA1 zrFEvxXqhkEpc1hN?!Zh|L^o8m)@g5@VUUWyhNY0J5D49*pB{(aYr;i4Y!TWWuwLWi zi-8&+FSK_QMzZVz4%!ZUlxVRvg2q9lS}Q$mbg84KK6+J*I!o5wgG&x)V((v?Ns*_4 z^+~nsx^$_BaqQrV)J7+tkBnJ^oQgISYb_f}fJxf)miJ^7S!LzM8hU<7aZ2pW=l7Z7 zp5&@bw}epNi|*o?bHOKG9C7G!xr#JkX=b14iMb6Mkk9o%p$B*aHo@bET84E&*1xJ( zw7R8G7Yiz%>QrFVfX?=t^YZa_o-c{f3GG4ImxM*sylDvs`a1LzGeyrtrp&A>#6;@J z459*bKdBpK_=#B|CoJU#Dv@%wJ^|*`k^aWEVYeXa)y<#~J zYx+r0;5)c|KyX^_68B3KMOPTeE5hL;R~T^^@jCShy%lxwXM>|Lb-eQ>UFNaZ%TEd^ zarZ)HjRFXzOKz;s`l>J8P!VY&+SZtwN~&J9;eR1~5-GEh=?oS+ctfI_a*#5+urg5R z;NglSTw9&t)+V2=<=#%-Qgff#e1-?1Jk{w&ULz0lmSFU7ANvJG&Bs+T^be8niiyP9 zLb)u@ruVZ(Wq5XMO_Ux$Rc*(7^|dm*u)MzXL*zjVUvpi1_kZ|f?omphXyITF@Ss{} ziD*+3U1&M@fvGG!lh}KaGiziHYJ5Kfh=A zq>&+P`~G&{q2kLP_@AG^J}=CPnrTdKCVWaX*if-Lls`T>$X9+m7<%H-_vzk@-;UkC z(HXS08A%L>DlU~uV@$=cP568~MGL-oUd7OHEQw1#SFL)sxx~$H?xdvfs(*~*x#ZvG zDJf^3!q&WIf%b{;A$LCC1WpcHujJ)SqNAYsa(PT}KO1Y^2X7Ucy93jThH8@4W%%EBHe7MDL)wX@kK^OZe*3nDb zrD~}oQx{z8Q{JJZKZRdz>O43)Z946J#SQl%t~GW04*uoYWlkX{n1Tv{pNOucImpaC z&?0F4vYXGv-A(9T8OlCEjh-uZr$#dMzVo^mfe3N+VCYP$$Xn_eivm!h^~#gWE}K(> zEtnr7o9+DQUC#|?%w0=Ci_v4+JAzSPU3xw(S6=Jn z(x{fNGV=)Xbqe%x&c`Iv*pVsZVZBpc%`(Zcc<;_O3@Fm>HP7-XG4UH|qeROhLgIPM#_xLTM0CJ4M7adJlY4^(KcDy_2|z0IIC808?l-xdbli1 z$2&YZ4S8jy#ZG)Cwx@g@KC@L>o5@$|MQl0ZILV{pDpQ6w8!Hk&`Y_z8^~%lUN9)x^ z302+K;)@Bl8WKZeazenTW#{+8Wu;s)5a)+BH;Iggjb;+P(dB9c9V6OD*RMrYTcbkf zK~m}gJ4%o;|I*7c%${Y=%nk9=I*f|Yzqw>S?YD&uL+$JXl3tUkW^{Bd&AWxwYLwSQt-^# zf8M}o5vF|bnM83|yY33DsA#I)#_cutbL!sn|1jGBvNcb-R-k0mMP}90!!`G!v!6cs z!ZtE^sXj-%qBbKou5gPJ{X;fJ%&((wXH2bv-b!tORGO!Z=WJF@1nB~Lj~ocmTtWJf z9$@DGUk6bK>9U$dN8ED80=%PJuZ0X;6>KWd(Mqp-!GYjo5pw&fIP#PN&;$P3hg%Sf zf7<>A(?=uKq2fNZ?BCdNs_PE!j+%+pu|`oP-&@0hk@FZ&b-(k#56Us){8NIQRrO$I zd0mcCBf3a?<<`_f34FC%SA(oZ$4Trw7p1Mgywl5We&8KBPk_={SASb-Q>tT-r)!4J z82_}xPGP0(n>ZQW4pf#6lcz{xSw8qG(Fee+|0;)GB#1MH9U|Qlcq}Dc7Mq0ed)i&7 zNXI4Y3Jv|R|#7mbK8A_xpmQwy=By{gH`W~tdzYE}h&)+$# ztWNjo@DsXT&%Kk`*n-%ED&!G4)#Aa1?u(#;_w+9=Px&w3<#_AGQ4Ma=R)8ar!dK%T zf=`lqlaUXqDZ9UZDo2}{)cvSP86Fb;FN4mMpr1Z3lP-51Yho}_j*I_roZQdbNiQn} zcfPu$<7&Q>I)ODdTjsi7)wDKoMs5x-=ZXqNyI_~7&JM8qzMQ2AJN>I)vkJ*dq8SZH zx?v%il2{_upJU{QRDxHWVG-6BY+Vw&kX3)Zp&Me{dJvb4>MGK+rNdWQ7?1v)!@ z=eaGZYn7k)jk6~UBzLxqxV{*jIb%zx;9pFtG={kkTEWr6np0;vpij#eM)to<{~adC z9~d0}WOa~f9I_+_rRg7;9(y=35)+Y(0?YmhBV-Rp&SW1?W{yaaKcp8Q?lXG(4Zrw8 zs*f4hG~}Lkys*=2=KBP9dUEtMPCCTI#;PFa>l^;B$unQLG~cDse1Ys;{ho(J)$uJE zhXh8FXiA1;d#XeMiFn?r9B`0vPLk&estUg1YX$% zI5vOM@pUiw`J3AZ$iJw+ZyN7+TApF~M!KK#_nUU#GxaFB>)eisU(e|Y8>;8~s~U0p zFZ^l?tEI2T$^yx+ZgR+a`L`}+N17bN@n zVHZE_;#+#){`gN0d;OR%{-4Yj9o7)hu}*l$_N7h~F2h4YWj-{HA38{*32gfk(mB2BKO<*8%Dj5GShAQ;meQ`6cv@#WtGzqr`{^24`YX?Z)M0XEGRRV)+JeI_ znj;5jWACCiJTDag38F!#nOxl$+acy4yxfjk=u2+jq zz6WgF(uG!ro$FR+yLo!0^TW+crH@arrnGUdRc5R^4u)mtUi5z~X?@LWU7TYcP7oDJ zL^uM}_-1%o?!I|(r#PgNkb-BfYKj7?KHz^F*R#-3W=D^?Z29VW7sNi`KtM$Y@N=@+ zcre$K%pQ1pruhM2dZ6M*@WyaAmih(Px&sOwO(O! z@4)=ELe6K`x<31?fKegL`4LUH;!#J*z)IaCY-iW$fDk>l+8J*+7(}2p24b>k30M4G zV;Lxj5}s7hwqgKk2TdixwI!mii5Qc-5!mgHUba9iJBRAi52-m5eEOFRL3w#lEv_7- z@+)zI4=1OSKSdw^wM>3spD}=DofhLPIWe>g7~ciRi@R1S*Z7(40z7v5G3Df?$e(}j z{ROE+I^TrOE?{=+a#_l`_~o3vf9Tnf1V_nZkaVK{0j_RR0x>7O0MKR()vcXS;Rj+4 z7uU}6D2M~oiV)F&skupjNIVSx4A}1GNfk78oDe(MEbN-RTDK(0TzY`Otg3rg7m|+_ z+CGNTqRNlzT?Chu1uPASbTLdCPMsBb6z}q~{W@1(=w3Ud|Ep(D7VR)BU1uls8oT)a z8e@NiGcU1-Dz#lpiBS&p#KKr(NJk`E*jXf^s@O~5evkJV&^?Xwa(m|y-gg}1)+a_F zoy!thM^mw-o^V~Q+>pkP54Ja$*5aF9A(4dbpZZSN+m_kw0z9*iTfQ+A$BOR)mXFEx zrN+kuAKYQdmf>UHq2Cg)koW(jWF6O*p~Y|uG02IvDta01W0TF%2fo_rs&Q#>J)HLi z=0idBY`0$fY06+a(({ak<8NY5ih-9@Uln9azydUnz_6dpv^NMs(|lo#R3tR5+0uIZ z?O*seGd+flQ{*52N>jNQT#yq$s-+JJePVMPV(^?X(5Pl1zl+oMJZj9h(ac1B8@=^x z%A;9@ggzD+RF?OK_Ef&rJJbELA7ll!20>PprZPzALk&;Jm43Ki_C;e22Mw7mu2mxv zI>Po9xzZQ+%Ps(slma55HA_79E4^Q~8OtA3ShHX09}4@Su;2RQj~@2#o1__aW)Vi5 zU7!)1%WOUGjtvfYb6a~_D&j18z}O#Nde)P(E^~>;W6u;D$tE$ dEm9_8vu*CUi2feM2NQ$xl_9571yAqd{s)njM~46a literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/doc/html/tutorial/altern_q.jpg b/src/bin/pgaccess/doc/html/tutorial/altern_q.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3fb02aebbd7cdf887746bc450730fa404ba4ab2c GIT binary patch literal 13639 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 AZU6uP literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/doc/html/tutorial/altern_v.jpg b/src/bin/pgaccess/doc/html/tutorial/altern_v.jpg new file mode 100644 index 0000000000000000000000000000000000000000..52cbbb077207034c3c570ec8b7a18b9702082b95 GIT binary patch literal 16987 zcmeIZ2UL??(>5AjSvu&UZo33=%F_i0U<)@9h4#+!4Lw7^b!Ffi1ey}bfov* zn}8@Fh=3g5=i%{v&-;AezrORI|D5lvb^beht$QbXX7DC zJUjpZ@7D)#F#}KqkP;J<5EGG-kdTm(k&;u=Q&Cb-P%;6p(9p9nbFi~9v$AsX3iEMt z-{4_o<(C5AxFsSkF3!Oxb6Z+eURX?A^dCa-$jHbjDJZW|QC$<|V&xM3zkFRZ1L#Nr zh4?oK@VEi^ba(`Gco%H|mS0NZ6Z}Kn-xmQfArT4wKL+(_0eA!icm%|xztqMDko>X; zpMVfRLJ5#r_zPyp7 zCt(Q=X8;r%+~3lNp2(6eE4CTGb$1RB4Di78Th2U4EKHdjt&Eo@koQ`pRk(9M^BPEI zXXfzJLj^_q_j#KI#h*JVbH$=+qYu7Ep9is9+`Ibts_juwYo_oI;qILaKsXW?AMKVX z4$*8?B4?>$BV~t>tgoPzcn?ulsUdyfdzK{;prt+=U;YWmCKCIjsz_6R0Q$3^rfgUwwwWb?wi< zmtu^{@tM3Kc1tbIdP#2Ug@>%vnTn6?bH%h=Ok1D!wVBW9>9ekck`TlboW~Jexty~g z_FZgwfZ~!#of}ujLfm|Aw^MM2ALj~}Mz;NGJ9Kd}ZH`GtYWkb)&q$poPo8}lQ&#%- zX?I_s#y@)D8p()0|uO z9TJ}YCA0Y_X?$!PBe* z+!(`LEYMH~di(l2J(J%q;QQx13^rIIkAH*NSoVL@{lA3^aX(Oru>s7NP5LXMq01Eu zv*XY06h6J}{N8(SgX6J=@;&2^(wI+1nf-thEt}8TQ$7$vvz=A;Q0^=*r-C#0iJwLH zepup+$1JQGciCP8>SuR%-TCJALpUq3MWA2_R~goCdjFKWpONZj!(VAOs^G?=__G+Y zn>0gtLK!=^8~}GZV9eJ|wt^Xk4ifPYkYv8Dw;En9x%s)2o!XQ_F9l0ZxkykLegIkO zRJ`sRk79n#koj}HG5~yR9Q(*RP3Wzoy3%^neFh$h2fh7?wgy&$QG>wvyO?8?dtL^3CA_@H+9Vow#GlBO0lVgC|#p&#;gU z4kzn~pG6awC;3brbIH+tQ#f^T^Q@yAwp5hiVv{Epd3N9C8UuSTP%`adlr;BXBi-SH z`kVYgr5@YNiFEP}o$_U;58ro+m3O~2t%;6RSgxL3Hun|_mpSQRxu(c>0a(PnkCV)- zy8zhwG??7gy8u{jjEk?)eCvN~W58;2t;E;sy?5V9e_w^4Zqf~;-CKS*VKkROM>coU z)8|=fcSovk(PFS-*Fj(z2;Dp&C{pU^W$k|Cj}3*l1%GO>g--YGz>hZ)wU!O7?F=Z` z_<=~bYZ?^dc$ql$!?*=t=glal9baHjK@n8mUF;NZvR`! zyAcx>D#O__%h|cf1LXnW1o>(R54^g6OJf z*++5gzRHxgX#9MydFZSCJDR>P{)%>%->d@r?>Q|zd0G0-{${nydu1)1Nek3;npzz~ zr5?^Bk9Pq;N~~F!Io-{0=PiZ|i!rQ(90W4gf2u!8e>e5+T;h^HG-<`I!lz*k=xJ}9 z2|E%ySkbnqsM@@-L1@+dUlH=|4K&?JfM{7Ml2%gprOk zUCRqVx!hcF_4&`bffB^~KfI4z_xF0 zE03uBHgL+*G~M9xhxD{R$g=al|4obCKZXBE_CKk_L&NePW)2X)cHTFnrq=+${*aUQ zfZxFWM`}-BI*9h=`u&HR{cVZ<|0ii?s_R^qS1dEmnRnw;;Y9!Cc0&K=F9*o{YsK%j zrO>t-8e)OD(ztt^93tmc2g!8@L48ktkl*~f-@LJ`8c6%;cs%mIh-UPPvx|BN*C8*1 zc`BxO#ej&IIX_Z5rV>fjT79t(B=l%L>wReESdam8{;ArIFBtmdOOC3nYX)S~| ztnK|2)F!zA%*|g#R|T#HMjn~;n{V`803=Q~Wp0;0E}w3%r!?J)#%C#Z<5xm&ZGi5_ zdng^gk=NGtZ?F(fd>P>V^@gMcVtgT$$yZM&+Xs0F3>nr{D#i9%p1faw|5(N`OX_T5 zFMH*c8X@SL_)Pn;jSQ1;SE{Uf*c+y13tMV1bSXY&eoiuGOp@ICwU~z)Jld;BKa*6E zFrEcV&}RQ!oyha6UI4n1TqJ^8IY9`0(ydZ%^O{(O>K1@uk)Uu8ml^&BR z6|WIB67rF(UTtAQTwI-Alnhwjv%I|3(r(H1LkA#-in0L`e4pVB6Cg{VPGgO1g57Ve zzDme4l?NWLLs-+yo=rqNV0Qs1X^=S03Hq^Zhjnv4tG7*kF1orqW3X&V{|cp9PaxdM zr{asLz+i1r#<|nAan8LL05fmLW0ecQx3QY`8GGTifPyL)pP5Yf=M}#U^BUP2|0<7) z0@=C+ia6qW&{06mwOCj6RWV^8a<@ErlntS^_g>m^ES#X$L`uc2#7)+3dYh{M0^rrS zvpQ97UB&K|v!xl$R`V;p*!lvC`C^n5D$_V1tT%)0orMJXP~O!$BEJ26_L!|DPcbNWd(VV^P*B12?P7!;>rG-R0F^O?oOAMxGigo@iko9lbZ zom(GBMW%S^Nd|oxz#3#SWBZv5UWG5B*~Nx4?U+r#gWH|FpG;NsGjFqw^17ZBqF?u9 zNz7%_#qfM3klC1}#mzr7CVChjQoIn#>E3Trdv*Z;ulZLMA2ww4m)LXUt*_**b@+~x zOR9IxnhqJTEw*_-1-m5O4zDERs*zd9Q0fU*`Nm5`OH9T<2daMDiv02AL-ez#TlX}n zFyU7%;i-s^nbH79lY#W-PYbeG3`#3pJS<|YU$K($Kid}0vFLQ4ac00am+;{Yg<)7R zfn3Gl>9;_6d#rqqc&S0oL_Bn~EG$pnU#1YUbYRR=E$4B}b-Tm(?r2gG*IGn!WKgG9y z(!EtXp52B4JYy)di7A7Cz{3fHxy70+Hy_4Z!Fhyqk11wt(18mq@yNj3e^m8g6+GP3oA1eCvyszN7E(#LQ<1A+NggH-Fe6?;%c-(BMT zvrYn@c!6%C84InpS`Fl@nFnI}#?wGdSPp>Rn$we-Aox7#-5RA=-?_CiNI*fa({f>) z{=eyaxYq^X!_N!A&teO+V?NsTZI$5?duf@IV*J;wcLL2gHcVz;4(&SjcTCQ#?8sJU zIxlb`Ys2Y_$f*iLNta0#g4jO2DB<7mC!qs+A4LNMsU{HB5GhzS9 zi0QMP-M7hx^IIEU^&_v{)l%-dCMPpaj#n`tU=b=F&k{dGcRA+Xvu|*Vsv&e%6pnEKT!~KFoqM{yv`ksOx$G;e)BU`ncly_PQ>+xzTGePMzeck4Ed5 zjCb#tGc@xaB%y*mIw3Q2K?c9l8=Z|WFC%6i)R^CUqNZ-lfx>_`(*2xqgP}NCOgSuS zR2|xXOBR6d_~w(}`>olZSMJz1{E!Ulz5pCLYFCPJgd-@Pt?y3Qc0OYT0E4%?oC*mN z3W?C7q+LveuDIU!dG=>n7XbBazvTR~6`IOOGdB>mWMw!A!9z&vORLeXZ1!%3DADfb z@S;u~7oxh0Q%+{0tSl5>nL>{Rsgf{5wpP;l*w+^9tK5>S+niOYmzd{Q1dw+o439Pr zLi$W0EQbf4g0eJp#cAnrDOI3ot=idCGIZ-ot(}(NH|OzN`B+Ueev$~!gmlV7N}b)9 z+4DACx1?W`k05^5Se*25l_YgIzqK?xga_v8mxosngm~EeWo3k?obcK}_aiRYj2px; z8{10G2J1)yraQ-=lZdV)BvqvNOQ##sgmiP-0}9jK#MwW;FIv9<6nK2s_7Hma-T7CSqwl?yC&DtVf(Myj?K z01LAVfalw@HvdMeAhX*)7hJR37yOOhm(TARJl-Teg5W$ zrSSh7naX_4e3HvfO~dHrkjYEE8r&s^)Sp9Rq36T&_TwK05N<3P&|w{^VxgKr1tWY# z``!?k z)R44gS;5joKi;5?adPk9r!3X{pTzlJ@K9NTw$w{fi*<}2`{(-Ip_I-~r$uYLF1LG< zq^SOUiJtCnv;LP1J%If$MD3TbFW;+)T z%rLus)hQ_O_RjDHV5fk`=5%TAVaf%-&dwwfqxT^O+Cs+bU&wVU7249!_{-WG?@t9c z{z>Ho`qNwnD&m{}{58<>T0a-WYHAFmN_723IqAuJsF`PW+#xp%U2v0}*&v@#1s(D% zaWI8sKyP1C@g4gSBIwB2h+o8yg=2vxK>YnF_&?LIaQ=}TIn2mAFv%WIWX(R9BrhN{ zoNvNxEEY`e{(Z)Q37!zF;BN6CrcEzm(EwHl)dO#Ewqe|9`lXuKBs9;m39*i3<`d^+ z*d!tJ5D3n0(!z_985=4s!J2So|z3`~vWxGCAH1 z&v**R)$4g{c5+Kq#Q6EJ{LC{Dze%(DE+>^5=-M!r_n8Uo3&BtSh5G?xOcj_eH80B- zG&pi|79kG|21TzlfyRR?D_+kz7@z!H5`X}A^Oz1?kDA_fXF=~)e~e^vmK}VXt27_F ztOSO`S@@zjc{z5z%qlu-c`34auch%w-N&jqi&)q_r43|6Q|IrEQUj?Ok^;kG8;WYg zx_lb$AYEFot(wPZfcr%nHVzJoZZmyX-M~c#a~zDH63pZHUia8<%q!;adNkM-InS1C zC(;eEMQqge7$<>*^1BdPyan0T0Qwx&v}{)*R$+z&_c&l5o2YQgB&{jD6}Xzs3^gWe z7BFRM=HnKa-69<7^303Ayv1pBe ztAzARkB?kJZv1F$xH=OMG+?nqIHvd$fe7v6sDal%?q<;Cn|SGWDePtw^fNk0tFnH9qfC8{JN?Lak&U{Z1< z>+q2DddNtjv6$phzWd|$Wu8WC?kO`ZLz5GtXC(X}aX^>uL%M>SawKfp_g6*swoBRV zPro})7#^BqOV?Ovd(9yU5P`$fW%PVHvqg&iRZ`&;kTn_em8T-%#?w+HyXyS zG=z2e37rMkwoc-RZwn$8NzT5#Yd$WfCRG2d`68-@vXu2H(_ty|4A>PU&?)^aP5?^I zL`bVF&XAEE(R+M56SX6(Ut8;DdcW43C_*!&w&2dLo zI;1fqLR~C_Sep9hbcf1~#583SB7&2{~rS#t}e#WzVX$a(5YYsFN#w{|z3maOrE-6H4Zk3^Oh zz)VDEn#Oe#8B%_7nX!1HHvbENb;jXE(9D^^-@~%< zG`__2%gHZyq+I9C{-UQTEq&tZ#cDF*;0?F%6Ga8T8v4hk;=m>wPW(FQMPE}9YnGdD z)E?O3T}K#^iv_cL|J;He@*o;>hl?Yw3(Mx`TxUKksw@Pl-IRqAL3=zB3R&+D8h-wo z?43*)cE|fy1xgb032}!X&)z)Ei|>G!cgrxEAVeo7PTIvcC^Bv;h@H^1SEcZg=0)N3B_;(xmG zAtvDsr$=Jjb4=j3*>6`AsKW;0shE;!Q~S=%TyOk)gJA36@y^$PqVx!s)0WA)3=! z9|ZN`J!#U$SNie5%<)QfZFV($lH6duX)VP*gbfraSGx!Z$14cwAYD2j7;5@U;v1^u z>QGfX^O$RJC;?M*oVnAC%)Xkz@@}sixyt8#OcEvii#}S7z9Gw*{g{04;H%MP6jHCp zaHEw6UZ%TST4b5!@`OOKo+}7gEa6hE`>iVLSd-(UMrng(?7wF7+f{UJJ0?;YZ=KpA zoWEYD@G9rN>pqu!#y$WJvrK>OSW6}Y3ta$E4Nr!(HAur;*zwh*~vFzV

    g_Rze{ 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 Ku|_EuQ~w8}7zAAa literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/doc/html/tutorial/copyright.html b/src/bin/pgaccess/doc/html/tutorial/copyright.html new file mode 100644 index 0000000000000000000000000000000000000000..22eada2fc4324cb05d948fbf1baf7614af256124 GIT binary patch literal 20480 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 literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/doc/html/tutorial/index.html b/src/bin/pgaccess/doc/html/tutorial/index.html new file mode 100644 index 0000000000..a63f1a89fb --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/index.html @@ -0,0 +1,33 @@ + +PgAccess - a Tcl/Tk interface for PostgreSQL + +

    PgAccess - a Tcl/Tk interface for PostgreSQL

    +
    + +
    • Introduction + + +
    • Getting Started + + +
    • Common Initial Problems + +
    • PgAccess tutorial + + diff --git a/src/bin/pgaccess/doc/html/tutorial/intro.html b/src/bin/pgaccess/doc/html/tutorial/intro.html new file mode 100644 index 0000000000..2f056599ed --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/intro.html @@ -0,0 +1,39 @@ +PgAccess - Introduction + +

      PgAccess - Introduction

      +

      What is PgAccess?

      +PgAccess is a graphical user interface for the PostgreSQL database management +system written in the Tcl/Tk scripting language by Constantin Teodorescu. It +allows the user to interact with PostgreSQL in a manner similar to many PC +database applications, with menu choices and graphical tools like buttons. +This means that the user can avoid the basic command line interface for most +common tasks. PgAccess doesn't change the way PostgreSQL operates, just makes +it easier to use for those familiar with graphical interfaces.

      +Obviously, you must have PostgreSQL installed and running, and Tcl/Tk on +your system before you can use PgAccess.

      +PgAccess is an "open source" application. The source code is available to the +user, and may be modified by the user. The user can fix a bug, or change the +way a function operates. You may not want to get that involved with the +programming, but you have the option to do so. If you feel you have made an +improvement to the program, you are encouraged to share it with other users.

      +If you are not familiar with how open source software can be altered and +redistributed, please read this.

      +

      How to get help with PgAccess

      +The mailing list for PgAccess is: pgsql-interfaces@postgresql.org

      +If you have any questions regarding PgAccess you should subscribe to this +list in the following way:

      +First subscribe to the list by sending an email message to:

      +pgsql-interfaces-request@postgresql.org

      +Send a single line in the body of the message as follows:

      +subscribe

      +In a short time you should receive a message beginning like this:

      +Welcome to the pgsql-interfaces mailing list!
      +...

      +This will contain instructions on how to remove yourself from the mailing +list, so save that message. You may only want to ask a few questions and then +stop receiving messages.

      +You may also email Constantin Teodorescu +directly, although writing to a mailing list with many correspondents will often +produce a quicker answer.

      +Back to index + diff --git a/src/bin/pgaccess/doc/html/tutorial/irix.html b/src/bin/pgaccess/doc/html/tutorial/irix.html new file mode 100644 index 0000000000..7d472aa9cd --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/irix.html @@ -0,0 +1,133 @@ + + + + PgAccess on Irix + + + + +

      INSTALLING PgAccess UNDER IRIX 5.3. +

      + +

      This HOWO-TO make PgAccess working under Irix +is written by Stuart Rison

      + +

      These are the steps that I had to follow to get pgaccess to run on an +INDIGO2 running postgreSQL 6.3.2 under IRIX 5.3. I make no guarantee whatsoever +that the same step will work for others but at least it should point you +in the right direction. Also, I am a biologist by training so I only got +pgaccess working by fudging (that is, trial and error) this means that +some of the steps may be unnecessary (e.g. compiling $postgreSQL_source/src/interfaces/libpgtcl +as both a shared and static library) and they certainly haven't been optimised +(I know nothing about compiler switches etc.).

      + +

      1) Requirements:

      + +
        +

        You will need:

        + +
          +
        • postgreSQL source (http://www.postgresql.org)
        • + +
        • tcl8.0 source (http://www.tclconsortium.org/)
        • + +
        • tk8.0 source (http://www.tclconsortium.org/)
        • + +
        • pgaccess source (http://www.flex.ro/pgaccess)
        • +
        +
      + +

      2) Installation:

      + +

      a) tcl/tk:

      + +
        +

        You must first install tcl and then tk (in that order). I just used +./configure, no switches and gmake. Their installation should be trouble +free. Then you must move headers and libraries to the right places so:

        + +

        Header files: both tcl and tk have a header file (tcl.h and tk.h). The +tcl.h file is in $tcl_source_dir/generic and the tk.h file is in $tk_source_dir/generic; +both should be copied to /usr/local/include.

        + +

        Libraries: compilation (with cc) of tcl and tk yield libraries libtcl8.0.a +and libtk8.0.a in $source_dir/unix. Both should be copied to /usr/local/lib.

        +
      + +

      b) postgreSQL:

      + +
        +

        Make sure you have a fully patched postgreSQL source. If your ./configure +says it can't load 'IRIX' settings then you most probably will need to +patch ./configure.

        + +

        Configure using ./configure with the following switches: ./configure +--with-includes=/usr/local/include

        + +

        --with-libraries=/usr/local/lib --with-tcl [this and previous line as +one]

        + +

        Then make, make install as usual

        +
      + +

      c) Compiling libpgtcl:

      + +
        +

        The source for libpgtcl is in $postgreSQL_directory/src/interfaces/libpgsql.

        + +

        I do this twice. Once with just gmake. This produces a static library +libpgtcl.a which I leave where it is (I don't know what to do with it but +it may just come in handy). The I modify Makefile manually with a text +editor. Essentially I modify two line:

        + +

        before:

        + +

        # Shared library stuff

        + +

        install-shlib-dep := shlib :=

        + +

        after:

        + +

        # Shared library stuff

        + +

        install-shlib-dep := install-shlib shlib := libpgtcl.so.1

        + +

        Then gmake -f Makefile_modified. This creates two shared (.so) libraries: +libpgtcl.so and libpgtcl.so.1. I can't tell the difference between them +so I copied them both to /usr/lib/.

        +
      + +

      d) running pgaccess:

      + +
        +

        Uncompress pgaccess (usually with gunzip and tar). So long as 'wish' +(a binary produced when compiling tk8.0) is somewhere in your path, you +should be able to run pgaccess with:

        + +

        wish -f $pgaccess_dir/pgaccess.tcl [postgreSQL_database_name]

        +
      + +

      e) et voila!

      + +

      3) Concluding remarks:

      + +
        +

        As I stated at the start of this document, following the procedure indicated +above worked for me. I am sure, however, that a few of the steps are unnecessary/non-optimised/stupid +etc. If any Unix (IRIX) boffin is reading this and you spot anything you +would like to comment/correct etc. please e-mail me (stuart@ludwig.ucl.ac.uk). +Also, if you just have questions and think I might help, please contact +me at the same e-mail.

        + +

        Finally, I can accept no responsibility if these steps don't work for +you or if it all goes horribly wrong and you 'damage' your computer trying +them. Let common sense prevail!

        +
      + +

      Good luck

      + +

      Stuart Rison LICR University College London London W1P 8BT
      +stuart@ludwig.ucl.ac.uk

      +Back to index + + diff --git a/src/bin/pgaccess/doc/html/tutorial/newref.txt b/src/bin/pgaccess/doc/html/tutorial/newref.txt new file mode 100644 index 0000000000..ef2185f4b7 --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/newref.txt @@ -0,0 +1 @@ +Cassileth, BR~Unorthodox Cancer Medicine~Cancer Investigation~~1986~4~6~591-598 diff --git a/src/bin/pgaccess/doc/html/tutorial/newtable.jpg b/src/bin/pgaccess/doc/html/tutorial/newtable.jpg new file mode 100644 index 0000000000000000000000000000000000000000..06af40e741044ef042297c4a07c228eadac91ffe GIT binary patch literal 29164 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�`KZXLuGq z8KVfv2@Z*owDg};1uF5oB<3W%f$E#09_Sewyc;BP%ZGS1z5hcd|Rz?0! z8mEc$6iwol$`Ur?H8gagEatd7?%mT+lQk-8zdH>v>82mm9dXVg{-V&ByaXtAsPotQ~%kVpeEFzu{MW_OVfQfSRPM5MzQ2hg!zqp5j zFR?PtHe@9%zv&)AtWY;$nwFC=vc_B5s&Pgyfb2kdsy9>_SK3>rr(^k#hZo{X51trM zfPHR@n40U=rkD}I^M1tkcGCnLD|n{yESDr`KFN6y>M;~;SXXc*rd53#Oq~0?&6U01 zDjX1{&nO&OuIlS*<^PhDybQW=E~OgEbM}I0yw&QVw39v|DmYZtoHMykcpI zcs~2!)2qvpbN)Is4O3L@nm9}eB8t>&_+{Df>xzTOD1~P;>N;0^1*8!5*tYbdH-3&) zu8f8;{T!s;xn5%|n2)k*sDK^207WC2EJq7Z;3X*ej8t9A2WtX(=>mS!g@hHdN2H?P z#+f208rn{MZqCMhZVCxdwS((~z9>rf{0v5tID?SZ>zA;JYtmnH-c(eE@?6n}s8`6l ze$GODo6&I)t%w76e5dp-81vc>Nz^ujg&ifTHE zf+WTW={fOPT$xnxM($67duy`Q-abowDb26UoXcWo$1rNe^Lvnbo1-eHDu+-WW6PP5 z+)cY>9h7l;DJgIO`|BT(zIw(~ByHF81(Z4Z`xx_x(SSbr8b6TtPowX@^}z@y3^{$= z_!H4;I}h>yr4L3(80D+Ks?X!!vdj@-&wi^<$zS!%7?WS|TYt*_cd^BO$gi2sQ%)-b zl-{=}vI{1xbZ-CetNN52I#iaZ3a51s?~e~Pd;Wl*vdOY&rJ zH_jqSpcWxu@W|DxehEhxMloo4>0J$x^jRcbKVoPf`TjVA6u%O*=Gx154xnDHzEk%~ zR{QJan=JL4-rm&y~b>{%Jv-Ju;4LiIs`;`SgoeUZdTgb;cyaq(H>^s!L&aD^XX8n1H zf{eY(sJ7iAW^s1ign-LGkSW>44$D{JLcj0vymF7-z+Y~}&rNo2Q!2k}pxQETNvh`7 z7Zt2~qAaOpQs#9Yq#;&)_JY8$>0sYh>4vLu6P++{RtqO# zx`vv_s9X+i0%fK=A#*Lw;fB81>{o_86A0rM=7!7!L`6n!Ou?17Al5b(bEb*1hc@DhUDEPq$%X(XS7NWo2?$` zGk)TZDvY(M>~5B?ueoKqq2_Qu46~#W5DKN#zW`TD=auZ~_S3mPB@d`B_jtZc3UTW2$aCb{*2@8DhVkF>cB`NjR@KW82uZLiau zjOPgwVsL*Aq(QnA$8CM?Zx#EUmNNoeXBu!?!qk~44HqDG{SNVJs4JnIQnF_oYq z1<<@3bt~a~yd}%rn$%IGltbm!s2K#K``(+<(p`(!LuCC6O-?1@!EGuptW9nLX_YUT zrWzN)%_q5gGUGy`hAaqfM{^VBK^51yo^aSq?-b@KLd57HTE(#QbYqju?bjYp^0BtAx~`qeBGweeZ@DTz zrVftw-ArnHtOIsu;g>(!p&CJ4OO*TJoXA^y;=~hGE5BN&qJ~np*A-HuZa5U@uS>i^ zpg$zdg;!3&iBN!ttWcG6yPkYEOX#ChLsryD>Z&k!;&2>Nj}rQWoNP0{b0FXroL-SV zXjPwfgOo|~ZCAOXF9sNS_0Y-M%IBfRQb+VvYZVbVT3@$aZqk~*H*VIsvcbIB6w7bG zdXluhJe7o#pN1Wgrj#6|590)(K2%T&ZBF&6yE;K!8_yIp_h_rZE?Nf2#G5*fu#{~{ z<_$GrJ(y)T=R&Cyq$1R2@yM}O^lK24%v4M`3MG1Tu;L!C4?pVZea8Ilu@J@*%5gm3 zVN!nnglSb^WBZQ%jBWMGFh^R=c!g#i338CsBiDhj5+cKP|BCO^9%O?ll7OaRS``ry z8uFLvz!w4|0sp5!z8W~Su&RW+k6NOrS0N}4avGi=fzF4XiroIaGF>Bk=l%%$Br01B z9i$74mpTTEPES$tPR@$1%d zrg7yQa3Uer82$i{I_q!mpKrJ2n}O z+T;=ncYwVrvsWw_6Oe$S`cOz1ERsbam`zqQ%q`MI| zjV!`b6xDnMAM+M!shmX=S1UiA8NoQLIaCv!rW06SeHy8k~GnjJAIl zX`WcoO5PyNnw9+Yj}aPmleZdu*PV?*TR*O%?!ho0_s2Yc47f^Sio%9ngy^`I0EY&z zN~G_tb=dDezNHOq*10z)BPHFWuHNH;lj)!H_=st(r|@y&yvmRgT67pXA~W|SN|C4W zZ5HaD9sBL;66p?CqouYr5iq#29wpFk!f#Ubim~syM&?{OrJ%Z_1p8`_vV~}fvMNgg zP8M|6b>8vHpU}piZ@cw5v5)(qGuNEG+#oIvOHCXkb!r5HN2M!r1Ms3;F7_+biE8lM zftO#oe5BJ_V!dyT`dr-1u+DDbp;NQeAcX_#RXQer8QH9zQ! z_&ZX|!1^T0JSh|~C@(zqiwVa?&E^bB>s55(yDrg{S$i;)r0@frN3Mfly(Ad!IDMT;WBTMqPFtg@_;dbN z?un_XSM~RqU>*-#gvDtYrOLqlTGuZW(6esFO=6U1%Pm$eqEb|}-(IXpgxHRR@LHH= zaBP)=v#;N{d!u^8^8t6kx>0--J?0YqsF+Mq=vRa}AeSNE)}5Ir=q1yg24AwL`|;Pr zWsXNJV-BhDO}Hud84d&n_wF%|KM>K!7l>Cga*@^N{xD173(9)-*50+|?Gz&+BTmC& zQ)kVd0)|NG&%gqtiky0Z((dsrd5wnKqI!tsIq|Z4@&pEv+Gb|5-!*PG6b5)kJWhe= z)DGF2l_+`B*|=JfiE>qf=5)_ zqS{)-y%bcSB8LRaktn@_aA=ml-sf7nT zE0-i)0*$h&nS4@;XY47TP+wuuHbn)D&0i|Ty=JZ}Lz3%{Wz#s2KF$*gYlz+pZFl!% z62Wk}sfObK&%m!od>nj9AtRW4#D5G)TJQ4C)P5M>r^{YE5mBO%E>1mk2u?Y}W`(ae z-RytgdHWKD6~oVRr7jKsXMe*X4Xa|##(9?u+a|weY*6sL>FM$;tN1U>)CjDKTkCuk z9N&#{XCh&oPqMW967Aivor9<&^>}Q<=k%j7?n%G4sHV;{uoL3RBaAddhTWBqxuT_8 zFzLJW1hONPA$`3dF|gs8e&?-bZN$*MYmACTP?Ux8zQ3y=SXo<8J-u53UHBX@cO6_pK>Ku$yD>(cnJ7f(UEEu1x=;%mfT4H4zxL}q@AjG4_AR0j`*E=THccRAc z0V|L0(2@GCoyfX4@Jw7@FKx6H_!-0^v|Gd?1STF!5pUSZ*}g9_fT-J1u@F(U(o~+9 z#sEANMh8`Ze?c))s&QatTp+1=P$27L6s=4N79+|Rep3IFw95ZCxCbl4S^OJ3QL4iA zUm?U|Eb3oTL&FjLzd;JKjT(RBin+f*Qx*eQ!*49{Z}4b2(s=ea#qWxg8r_D>{3{Gv zhV#1}N-M(ev3#|^|GD9ejS#Q#_EI4>tC=i&NnH+!^^fY{$edoCUSz+p?nNOYY0~lu z8K36TrHvkOOM8|?NPMJiYYp?&GU}Q?(emCwKcBDUc+6qj|!?2)Vr*PT^`> z86TmFanW6`w8wt358E#Qu=gHOVMMVhMeg2I+R-4>Hn zk5z9fDpgL1Hk^(H3aTIxqX%`1X+^e3QfCu#RKGo4LH!27SJwV+3eKVD%ML&A)hnly<7rX$kerU)W50_4Va+vYu42H%G)EwT~` zISF8`f9|Z2WaDb=bLK5^Au96_wTkKR@Ii#Jd*KcJJ$j3&7An6}iyCPhblt2RITtXUyeZOeqlP9DFx{n)yI-X1j9+U@II~vobTzE;tNpaL+FTNn3Yw3LB ztbf__93$>KOmWmMsyKU_9$ohoOsQtWX;`KZ!qHCj0MECyK^E6(dEeZQ1y2!I5g73j z$1hr@BFgLx5?mh-xe0}A!eY?79dQ1R3X;V1uSu5NUJ2rGHBnrKac+u#xp~g|D!nS# z4+E9;jqrgKms?N6M>BIXQ>WSnT_IT(2kIXvy))7x@yh(;yDIG)U=dk;p4bj5ovX*d zu3ee0)Ay)j4h?8I`Q_1XBW~8oL?p13@+;F!>9Ygn@PfjM^G9N?K|@V){!YM4oX#~v z{QU`ydDK0IevI`MY7m&T=%SA^flWgwKv0JzkTy{$JSN(wwKM&`#g$L0*{R&fjYv)P z2X8MCs^L_yd#V`pP8{FTn~li}@VC9fdBT-)TGW$y`bi{3<{r2P21^M+Ybwk3{)jaH zjbi+XW&G=#q4#_3tKMMP+xA0CUVDe7;<}NWE}sr~M{2JIPLfTT9U}{uL<*JawT?@l zN&n}axiqR>NzpvG;2hv()LJR@H@DBY{2F(2lKRQ}FI+<^ve)_pZ>fRBwminmfMy)E z1vWyb-JgvR4}=sLp12fjWCr<92`rvo)fdnl= z)%wf8Rt+zAbdjds(6yqK$N81TBfJ!1DdzX3`>!!J#aD|q%Ebi3#zn_!2T}PSF5K-- z`~|gvc@cXA+Kn1h3riehcQDfrR9LS$2B>0d85!ug1|G zN$h|b407!%n%%AN^)G>WA~HWIGB&^JRIopoare5PRhlZ1F^}RGR)aYTKAQ!r)2~EB zO#x*OIx_H=Wo-k3zOE%I^2Su4Sq}^iJQawehS}f2%p66CVMLx3l-hG)hFRj*v*MRN zk>OJ^im4D2Sv$muu3{oPsLJs0kg$3|HJ|~=d&uSQk5d03t@SUs!>IN@O?mMV|GIa5 z0Wnbzc1r%NZ|!`da~P3)&vv=laJ=zvliKs#znR)0Xd!azJbvxOd(C3 zhTG-r0{tz4N&0OQm-zL!b9BuW*2~+OWYjEsVc=f{nIi>|G{4oOu12Dat52G8a|G`bHji56Uq-l#EN|V{ zYqk0~QDM%dlgpiqvY*QzXAv=sC=s+62plq0fvlHMm<(yo4djwmiCX05u`}ht8&<$$ z(Z+cv9bRa;@`Y2naVw+vjC;)r9Z0*Z?QqBvhdXsMw?uc}m2<#b2=t+Gu~&qbu9Ur; zJ|_$eLxiu`WvqAF+dq_UQ4M27Xp`%25%Z)#CQ}xFW}N7}gj6{UrYIeXELGJRF&WK9 zlYM+OZS~pUcWyO~!K&9iXy7Mqfklp%ZYsF0b-98=&%~39x8@vx^y`AFg@3)XD|TGo zjbZsWrAhqw+fT&5W&|3p$|~8PjeLr$M5_GHaWvnpzK6%wWk{AVrs3BrZO{5aCKTD2 zmr;}-=tLpr7GO9|5JafltxW>$I|J@iWCfq~oY_r?M96F%$kq+$v~tFqKaG~cnVb7j zm~|w{#nH4TVO{DHoTQB$1Xk)AYXw9q@g?bl(VQ@5Y=N_OFP|GRPwJORLucpfrk+n< zmM}(GvZYXxlNo4aAg+hEA^=LAH@KyZKgx)HeUMVvSewl4F^yywf-%+sB>nPUdyn6E zpLDI0{1TgjA5UXX9#}uCPtt-5Dt5gnu$~#LK`|>6>!uJ|fKN!G>Q3{vtQ9k73s6HW zM4%JX-ZwtIzZ?rS1=>xlmV!3f$spr{-$)Ct#@DP{;V_o#wIJ}CR4R|E;k23P5)lYY z9fI8^F5nBtI`!^h&V>fOXE5Ptm$Q$PM^|phuzcv9KvK(p(6?^8A3Fl*m?4-6? zFp*bRTsPoY;R{;?XIaaLz`fNyZrk75Qu}KkzUP+dZjIi7FLfKNe+F@&Q?4rw zoh7~M2^V|k)oR)#(k|;_b>~qluKY6k!_Z+x_k!;bfHZ4w*vOwF=ozqU1FPQ zH(D!wN$)JzU7dLJrggn+I%91!kXJ?pU;~5zh_@)7y>Ryn%i!TKx6{UwivG+{@19Zx zqSm&E3Gt3%U@(QTRBD2Q91MosZKRs(i9D#Jb}#!TaP?!InCU&q`Jbci@Dw#00;tC~ zglBlG9#D@Gjy9lP5JQU&o1-#6U+zisNWp|OUf7*{8hR$YacEp_qP$)%TF0j7_k#b| zmH*!+RJf9J6i%a$D&O)-w_mtnayb7R(44Uacw!hF7k7B)ueSk?%KjCPG5D`t!Sbq@ zX6~fhN@nc|-z;5oY}6Jd!P!%CDkrj05;NsebANFfE%PUFqym7U8~H_Rpzx;9R-nfw zkl2pi@#dDEfGt(-M^JMXbzQV^0(Y;O9`wEDLFCVcH~O&&&;Wy5&1D`|G>TU>u^7Pz z3#0GM;h(C)R0m*>=+aZHRShGW5YmDWz7#rbVw@cB>qmyvbr}=KNP;z-utDgB+ZbA# z_$Y-E8+xicsgZvoXOS22$vQb4Cbm0lCxe)P*hjOlI4K;`q>#GPKRpVQSFYeufGM}V8(&U(Z7T(TzB>m0iiIEi_u0_V4H^c2 zZ2ZRaq8We+NTYI-=9#8&?O_!q;3d6Z1-_DbT-)eYml&Uj^CozUk| zGEWYM3NfqoxrvNWm6R~ekA+I(;cXt{Z zC);TkNqtrqi%0ciktj7K$k-XO_L`|&pK|@f^^DL zo;l(=CXWDgS4dc;M@vFU@0n7Qdw`-yGLv)o``(}%6H|R?b;LL3kl{G2&6)#DHRY=w zOGPdYvjs8IZ$`=1cSbvV-uN!#DGpa~@sh-3UA+}n8}a!$f@h2#=S<1RRCymb!L>LZ zxnm*I=#oA@GiBXS2!T*(8~@zWyhN)%1)D881s=jCLD3JlgmfI0_U~e)o)?c5m8m

      =BG_)1hpa|PM;J3Ra9u%9sbFDsP_J3!Jqx^0xqPP=(i9NkkQb?l2R&aCE zB5_MT4X18*7p*Bz<29XAJAZt`HM6Tel=SusuuX=kmZU-{R20ch03r@cZN0b(07;Is zVCa+^T(~l*les!!;+$S#i&hgQ%_h?6Q$_dEkr{;*Eu!)5W^xZ^IRa+d=cyY>dspog z9PCYsGvoB`44n$fW}s6uF4e36RY+iz9(>&D^k2vua$Hz&9-^Otc=92vWWS!OcY!P$ zH;09b?Y64cPayMwjl2Ck$MZMw)LL$EEyGo~B{7-^h63zr_nAWA08j|22WErUcCn59 z^jd1&;y|j4hUe^kk^Qf?guxZ=P=jDlB(rQjmO2uIPO0Noh`ps)#cggUSVBeKa9eej zLLPxrU@l@BqM*0aaTYSjoJ`K$5%KO~4f{|QjR zOa0R{@7M&}Oy1Q$gNVEfMh3a3e!LZEA~J&W*7|xe^{}w4zxt~~&TWgoIrZ*P{2km< zSgXih55KF#zmxEF<~l_Mz444nAy(VFXtlAfo%jm3#lg+Q@w_Lfbh9XXb=CZ0tD&Z` zR-M{myk~#5aTl?OAg3zVCV_hJ#I-Hv{MW56%>oMVUXJz2qZ*>tM8}*gHc{VhMU)ce z*R%H5^RYOMC;1lSB#~*}@_KmXbs8nG5zzEbTSaB+v#&CkEWjW|8NSPh?0|VEN((Fg zSaVH%zT_;idtl|M@$#-XI1)E5s{C;VLR_rPm-jd|9i0*$RtOo=Y}Ec)D5f@nt-maZ zV8i5ic29LoP1N6HC@PXcM1)ljPGZpXnhh8>9>ST+Z*m9FskJGyjAK9Zsy!NND754z zF*Tq{=H|$JhC#F5F=@B5zu2kiCIYvJ&H<7yId(M6-gpUW1()2bseI%QOZz!)-~Vdy zWMNld+7?!|c4z<5r>`ZDb3pi~;CjX@NTb<`GrAXNV}E88uu7Hh8C~4$ySPm42Qcn%}KU-WV&r@Rk;mTDwITCu_H-(F4U{#jU{8*BBa5cu!H4F4jGyc%cnCrg7r z3r9e`zt;rk21S)SR~gPr4r#uJ(|T1%_ZhiY?eO;H?ecCFHaWNS95_7G`r%kmVZIWL zY?xVvrBW_1UOSkq(n+YnfYj1K#BCdgO6&-{jWjR$R0gZ9!Kz*s-}#Ko7AEx8~FcOeJSQa$<)Uj7VNjI2!x1?kIsbmdP~C$hIHAzR9?3{WxmSKoClx zo2WCPxt|d7Y#wZ;_fF6qZNSCW)c3^QzwFsQGA{-SHp@)qQ!1d?G-r8gog#IY(_pBOHa^00-TY3hcf#~)1E!fppQu#|-vg6@fc6H5DO_CV8XzFzTx{?i znzqpjADWiPGMu9aSWl4hwK3h8dr|Hq^+!G%ZNfpQY-&eQUH_9J3nz7lB1;p_gkAz= z)*NjUcJDGU1Z9`xWqVfdfWI!2*#>PY_T+5fJYYRd*`!X#x@e+t4sdkMJjJY`!O?QK z5A0CxQmnX2W6LQ%uX*dbWTTMfroP0+Z#6wO+P0RL z+pBg%oA*0*f6^QhTW+nDwe!~3cBKUP_RG40#OLvGVXRK?;SK+!w}IZP{*T*w?%$Me z!BOIVr+;&?LPR1CesPrJad;*%m7G*nrdsCzE1jEsZ8Gy?PmhUVfnnRPH2jyaigLYw zC)h~*S0zSM*8>i@Gmp2oF_72~i~>cXQ=+nHj|fRUuXDg7&4LQ&l6PsRD@W1>|CQz< zu=M|9Cxicu$A!P!V_eLqM1g(P)=GjntneccGg#r(+qi}`&6@*H+&`6P>$A?5_Dp&0 zaUcEllU}^5q3y@!Z?qTNUtat7O@8CIg*6%>5??J(qAxb8$u%3Z3fsjPff+2@iP)pg zm$`p3_+kKKK=mg)%DB07u_^wOK^czxx2Td|3=BsiEPnAF{l%ahsVdt1C*Q4K42+}- zxJNHv=TC_cRE~6bP{o0WGx14Y9sHVnG;Aq7XZ!uyi>E)O^rf9)h{AuplledX1^CZq za%9mjU#Pp^tLSQK_eV84{uNWS#{R2yrQB)e?|f)Y;eWg9&HRtUMFkX`TYtLp<<~Wn zzyb{_SPx7aDBbmDVF!FC@)-%)*dT}7v z!#J7MD09S=L)zHasL6aVc&sWUC>gH8&O z)4RUYUu}&?H51KF%;lQ5y7%Jfu6rK(H}A`=9vwk-F45BVXR2d0DX6B3Lb*jNkhPt0 zgF}o;erO80`X%BiNx_#~O$F(|JNW&am?9xMdymJxN+L*X#TIxd{M~z5XUS9ok&jB{fxM{X&BK^V9Cv z-wJ!nZv4Tm(*fSEP$_u3F*Fnhx_g(A^k$q0+e-%PwP`!6ncSGI`1TKtw(Jdzh?Rbw zZLpvje{C%wba3`+(Wi0S%NxENFrehur5ICi~7rG!K z@%m-uVSX-6nJlpIBL&dX7#c^9pIwAaxCdb?cBH?S>KoOKv!~Vhh>MFRdBu+6w087{ z5_nRJ9;t?3dDpQaU}%!qw<@sYndSNc*HEXWqpGZvhz`RCH(gv@Pa8D3{*((ZQ+y7v z5ft%pO=}+)LA>rImE&^-+$9Pzb;@_TSLcy?J??Fe>lUC!FP!{%G1x599(GEjm@AR5&eGBB) zSFKS)xk>VTBrrRA^nY(*&@(TBa%IHcsP$n^25cYwX~4y zG^-!hw&nk>Q|5Q zw05KcwdQG!qo@lU`{KoPfn&>LH@c1E4nduu^K0IzKy5eOe6Wr`azv@7f>X(EauMhZ_dFzDmVUrOE-2zxmSIfH9vfo zEfUpQ8GPBVF1R@EG9C#tRQ)^W@c(eW{I^;EYYv^o7A^%&Djxn&z9piUFTJa`xK4>) zqHlVBI(#xw{)}lZqLW4g#v)^}mCP+dTqGQZ6aK_bp=#V_=QLbIubp2%(o^KMPx}LD zJ0f>X_DD~;0oFFDyM+iwU! z{WlgeaHSvV>#h#0)hwsfu%!IA_O3gssddYTPUszxVvs}##e&q(i;x6~5D+wg(t8)k z1?36|Dpd#pR02{GdI0H7MAXnEB2`0g(gZ|7#X8IqeAnxnd2eQ|c{8)tT`PZNCFk2` zf4|@UPR{xE-oLPi!kL^)1G!!^oF?6XFHDJV?w;UD5})?dSF7cG&D;q(T}8L&LM(ZJ z3NfWj#(_qNk0|CT)U22UFTz!>cWl3HDbA%pR>~+T-IA2f_cgM3z7VQsE-S}yTbH`3 zSMsyVuBY1z_z!B7etE(rrE)TF1{jdm5kOSX?APnJoKmAAjc~>%-(}9emwWZ$@Pn{@ z@%uHJ)miD<>IGi!$O6F8{xnvobSQ`r1+eQ3QF5oY);6JOY@M75QygDPQe=!e6}-&4 zKmfv~(}!<>{Zmcb*?!fH-vEOnVXfXb7OWRsZ>bs znC=**q)2vvDHfA&2D^3X4oiv9vbMG8^ZlZc4uwu#35~*sTsFkCSdck+&!!EY64vJDu_s801jyrcB24#rYV)yG0^n%49D29YN zq6awW!G&q>o5@3WtDc;EH}}XOMM6G}Is4*{HiX^4ePqA-3$_Plz)3yw&)}KgZI@Xe zGZ!$zrQ3yfKIt(t>Ke%$A_JJb7`?|Ph|yUrjPvT{)7GpDG{_+(IF09~qV&CE6!aUu zQIMyupC>IYiMUQxCECxQp!>7w`|UEXY^?<-xB^Ug!&4KuQCA^hAeT|lYo~8z0*_C0 z0y~_UPi(*OA!v1`<#SBe&4@vxErH61%kB+&>T05z(es9-w^REVOuq-x7X3Moj&lYs zZq7L|f?&>%`t^P~`Z4~mf4^9Nj+3@_gaiz;HM$cZ!w81L*+9;z33tj1uDvb2R>K_~ z$1YgcEkqO+#^bnnG*%YAQ?(?uaQGWQ{fp;6q%7(iV0Xx_D};Z7!_%+J1&`k19Y4Qj zA0SfYBFtlwP_B_E>G2ZBg)5|^1frF2FoWH>?Jbfn+YdH}z{=j<)%;qG$9U$9;~{#5 z**iip8A0p)HAx}*m6r6_p?I-_NnalG8hSuoM#d7J)G~T!h2F#T0jw&GdV81Qh(3Rm zMRLo}L|cvda_PMw#Rqj!8&j(jc$6X&aHL|WxKv0Wc8UimfK#)q)wX7Ee5Ja-w&`J< zek2-#uRWlTmIuvzhce-J}`hB_ViD#VQ2JYL3>OB+7-n-ITE&4>Z^w zdPrkw-|39Up80xm-TfQDRPdqQuuiH5O=sW)zf}!MRuYMh{O`V^)DNg&x4DO~Nql@~%t8FmvYd2+FL|$N z*9uq5b?BMT)eD{ankjiR6F3&gu6bVGxJOh_$~8?I3L~6XDkQY5PnM{S38n&z3Y4cE zZDiBax&mRABvr|&<<}|E*XWS`WddvJdW>|~>V}Vl=bluEt6&dc;$NiA=2X17_zloE zVH!}eqb0Jzb*%aufZeSEb@{2tHvnv|$zQMZR(icy!g5x_p^H8}aT3ll#wPo%5)IC@ zp|5UEpU_g9{M9B=lQU`VP;SE;QG1*D2LTOt`?>=p;pjL%RgknEfG5Aj83)uFZZ_=9 z@W_C^7clwVf};vO7LF6;EN)jyM5<|=BBm179{^AJ?j|gPUW|o%9&xo!iVS|MIqA0Z zJYHPBb?Lb|IA4+UQMtaRG=a;@n{^4L!j9%9 z#j%x=$}eTsXe2fTxj!{_c**8`!lDafYvK7+`4Nwvd$@E#gWGGp(wKWP$#Wk3CtEd_ z=TC4|t~4u-sAn16=Fx?-bwUvkV~F)djT__>uevt|+yb_W?%g^EV>4)bzNYUfdPA~~ zsnu3kG+vyekWU~+CRZwuK8S~oO@o2}r83xZSO|5=8wUu}^F#(=zfWL(r8@H~io z28cw_>zMZ=4v-_k&1@Pu!f7e zAK(Rhd8qe%8VSOKD@6gmjb(T#xY%IfzOGL?b}Y^}2+f}twn{Yq5o2Ws_{WlGucwGW z(Xl{znPlK1_3oXf)*sPLyz_v$Txc`TAcbhE_~C77ngHx!`Kun=m%&`_dUPN;5DAg_%F-5kBN#glEV?SaEwt_oAEtlxi=7a7< zLinSkS*9)6vY1V|7lgH+MHxy_{Qc>O-m@Qog>ig2Yo7nuERL>i_lN041easg{KMhTuSrf1=zq(6x%;BdzgQTCTI zM3B#s_{;GQp8ocN;!INW)>1PZHY^BZg#OOfIc3-I2+|glc4?VGN|`4U*~k&HXPaPABPR_>MBcw=x4Ao`Vluz$xcotV z+Dx@zt-i^#;RvK9k<{LQ-3(bNoI{8xb6YBNN&f;Hb+lbNTyEQ_^2wXjl=mq|9lF2+ zcf(xeQ_A9uUIs-H1)@`yGA+ZHziwd%b|>(d(lREEs0Px#yoJK-k072<*v?GK}YKIrXtC09Q3$F0o?L?(6bkMS;BTprQ4NZTYeIJ!{!D933p2c0b z&t~?1J>A@`5bs@@>cdK)R-y{ICIc(6h3^rI4<@i*%ycd{RR?8<_;16+yOqS%tcJ#` z&WKR`vt%!7u??y^s0|{ASHCl7TB5~pIjngZW_E&Nk~(g$5)I*$v@cYLoX}m6-YIS@ z@35pvU>I22Ep@xB!>#HUVzsF|C97_7t;STluNOY{sT6H;epy~G_zvq<()5XLmx}20 zTi%@*drGXV;Y*gT06aOm*!V-8P$Bb9*C<;1bO35vtaA*U6@(m~FA*;Zbp=`BTjpG< zYy1h$;z%1O(5$PaqOhS~-OsjhDVLgP1A(5Nxt+Gmc~8O&PC|)0su38wmx4uUlALNe z`t@_18ja7!)XWvGrq}UAjJ`kJ7WdIn0~B4?kDrN`fejmwVTm*>fIM{}?)je(xcyAU zr@tMnP%d}O#u9u_+?{bppwCu8CWf(;E)3YoM*00V<*eTTxeh|bEzkF)`qg#YlpJYd zz-0$8UJWjCkV5o5N9D2Z*MlP@Zq*v+_^n%q?}Afi>($#HlzB8+!b>=~!-8=7c`SaC zKlsTj!UAKAm^}{YC$&iD+-&EI9R(MgxEx)e9k@AgGEEvqGLmFxOeTS3BJL(ETPy3p zef|V@{B#;^c}(=Pm*We!>okr+p*&&(IVTiUSCj3SQYE`+m8bjiQps{gc=iwlGs@eL zpb_nLF`>9t*v?|~zyyo31ITBfx36qbgHrB+A%BmBrCsM82Ogs2dk&xC_&USUAq}~c zR-beaq7YSqyGOt!ljl@WtFrm3pFSPYc2o6vVUWegzGSanJR)I0cLJR4iLQ?oVUrcD z#3}Qs>@JIu<7oEvE`&bMet${Wg%)>Y{oEar5vd%$`*W7pw6d4JE8oBO^e=O}mIO8b zW5v~f_5Hu3lpptfH4N@>DwG}UOYVZD=jF#9rc3=yUn#ecdS(;XY|$zU6y}VfdU|F) zxr(uYpF_>b6N{YkL-n=SXS~vyImvZWMw#r>Xs|%+W&T@@ z$~O>lwHh;phwd&xLJBWg9uQhF)Hv5i;fDIo+EjtnK1Fj(!^Y5QMCat=5tb;`+aK)W z#+pys*t@tV^2(eH&+O5s0Z}QWN6D2z^Xe>MJ}y0F)jeZ#!&>0-!S%Q(xc~D=LEe1T zT%sEQmxoZ71+SxH!8pXfzedz`DtNJqDmuZe~F$~TzV43dh{YRc0yn)$Sz)qS{=ndpP;93_V`4A1#KODLKn*Su)^9?UC@d4(8W zJK!HlkhY0K*CgPW{n=tEZ_l&ewaM^^_vRq;=0Sirszcpv^q~Dp4LBh#LLq1_O0V-! z!5-OrQ#V6!iSiuGQ*zx@N|@raL`XvnvzEYO_tv%b;l{- zT7`+QMrwV&eiPQod1AU@X+o9o<;`wD{_yb+cZXeNVFlK5n2w*_WKw@+QKga1g^;Y`BK#mw=nM zEeI^g0b*Whlww(n(%8awa!*099$H_Sm>ADa`KnHL!FOr7vf%EM8r8$UBeH9ZGK10J zu84c|a9(k+4@=KJeT!mgP$7T>e>sAYwmmSN)ceAlv;jjqANA#GSW3VxdL0XLcTwX= zerc4OIM*0u^ks>1oJ;$2)qnz#+#&Q5p9^xvp{4*Iz1F`=%e90}2Od{YEqaOh(EQFL zNi$|V{q2lCI<4+nX1gI)=~}FdSU=wsh$QG={N{8!{x07PHM;BiO{SjG?tsM@PC>je z5Pcq5^?FnW$CYQP5=ys7MJXr{)#Y%ij z;hs@_t1~H1gmXSCIHD$)kvNMiZ)|Aop%dK-iYgCMSaPXJgV32=02CWS zq%QX(0Nlis^Sc}?FPuV{bm7JjZ(JXoY(~ac30V@mjvEchQdK+wN+!BsDJdWd`-S$; zpeqscv*KV9-f~y-@fW$z0KMRjo0xG-I=ML?orGeD1BAD+?MOfR^;)lTUpj4ew)IoH zK@O~vo(eGkxU9V^=eoOblyv3xY`cs~;vMLOR6A|Kjp9tY_ZuakC}CD=U2ycf4`;2` z{N=HuJsHK%a!M>#OQdk)CJq$7Ze~2xm=V%j3}u1JbupYdlo~U_&v`YoW+m=z$m{vW zYljZA?Fb;VxQPv!k&T#4w z=qykaFOYG1Aemboh5)~N0Wk{OTucp0?XmSmi$#N>x<@mF_RBhj*`S^%8AL*5A)2#g zG0Z!8<^Mb=V`E2v1c7@cmUWg(Q=ijp_nAI;arh7_de)tm%r9v0KHn9mhyd_Rte@S} z+H9C@S*a>m6~k<{@MR&T8C(Qu zSbuP^W#LEbebFB!xkj>IhXlceJiZ{5&BUWpJNguhE zuri!a!r3!LWKH6jAcIj{VK7gL)AeDW&r?r@U)V-Cu9RXujl(sGcY}wTYo%J_7UylS z6^}p9y&p*PnYb_fHg(eWEBZ{+@;EJJ@)T6wF4%V!zMk{fQNJKD(o6OTIb!d1#T@PFk-BuukkL9*pP#^gM$|G3v%}$AJM_5A8x7-Az}x*O@!@in$a4I zFmgiI9m$KrbW>$lfO(RY8v zp~#4q7W*Sge~e=Ny9eirdRj^E0kSj?i7zLQ7mII7`5+(t8o<#$#b@s9#cAOlo_&e6 za{NC={x~sj9m(<1Ug&4t?B? z37KPS{#WN}6eHf4UB#Hdk!Gq8DF))@JKKYo8Uwa&1ZWMC4Alc?S0rXG7WZTvIP;!= n9BKB~2Y=!5zZDK8s%zEGRR!lRT6iw)N9)|!X?)`T_Tt|Fx#!v zW-w}u(L@ONFp3FRNAU;v14L!688G^2A|VhB?fUGhPxtCIRp-<>r|R^b_B5Qk&f0tJ zwZ7{|?Y(PPb>AO6`Mwi>e(Cg?)%V}}@uz>{sb_xX=^wrI%+Ec0>)k)~)9?9#58Qg@ z-A~>6$@l*JFFyPJTR;2k`#-qED;BODK|8KP4 ziT2yb-@Sb|f4&p^A^W}>_Fnkjg#|_ z1Yrnn15-Fs(=1=9ZcD3M@>0jo;V$k`V)q8z{9xygZoZV<#9gv}zjrsHam8)gbq6{6 zD|~q<@^iR@8(_OX;109RsxuQ=x{@{Bfo{syhe8cw2$9k^-Z^X z`ghRvv3%Hzf^iBqRsV94pN#Dvr(?PoqQrrC#F|Xiv8KQR)i6D{+D%zG>a-gb|BBn* zUqwlY{i>@#2Cq6Bn#d-B(07x_1WesXk6ZpNdM~Q~H-ak$Lw|!ip!w4n?5>qR=?7vg zN#bYG2V0~-iXSMMSRf1mnW4ZCDxkDisvI#IlCxhuW_Q);Q=MW=JvCokE6P>sxY`a6 zoS9&KHq>1v(@RpL8N|96Fs@JQALD2IY#OQw=~Vfqf7+DbbTwoGh_&5mO(^opjZx+2 zO0oL1U->Z{wktn9w>4pz-;moZDu7A_WP9cRl$x2AQ>Ik*;bW?3=Pt9x4wHGD<1=O4 zHaSE-j}P{u?02=lK4)4pfKu8)vtX_;#T2mTjGJSmH_{J7oQk%~MOEEWb-fx=Yi81+@HkXjRmyYeFn)^}be}bI2&zzo zI!2Y-=4u?Wm-V}74#{aR%Oh8L<%X|Pdaq{qfNSQETf*NW<8E2s)fLOdzj&heQ1)aG zy56_7pIwX^2_b`r_OC-1tH!c%z^pnW^;%VY5{9cgStifyCdI!BOMNpez&CGU!H^&d zDSHrlTG$YqFrz*WjYBgV?UysnYe>ZpNTI(Iw4X~J^-cc@UBA*!v-N7P&`D)UTd(xC z%=MDC%FXYjkuDtc0c{b(w*+2-M zrKiYRGW z1JvSCdEAk`sc3iM_2v&oyr85`Lowa`eSUnds8 z;=OJBciA8uZFEl)TaCr!GG{*6K7S)VOuD?U*6MrDYYd%y+Vy?Z)lID}u)~|?W4yLo ze~$6GzId^d=N|q)?ry~l0-J9L{r@OWs>TymYcrDm=ed%}DgecfIEv_}s0`fc-26z`lzp*O|G zrmeW^^OwpzyF^Uge%3AebzpFh<=O>x;bTo-bv$>eESEj26wz6A>mkDK*?Eb}$uvJ2 zr$59lHWKaLH!8lVyT&~|m|CI}Hh6rpU8?K+%Efi~xX&iP`ml+=E+5HSUoz z;n9Yh1fc6U)7vWe-rr5L;SwIS_ca27Gwp8&mZ4c{&Mm_4VrdNdK|Fnmc!eC&qvJj96iSq z5_Q*Gj3u8qxMSO}Y9f|bO|}P|);jDn3x-38ZcSXd&a?7qN9<40%apnZo}}T`HyY zuR^XD%fo?QS3AS$aQmOf)dk)K0fU&TZF#Af#(3M^8BLWRlWR98*W|N4=u^dLyK?r+ z+b^}h@`v&<@2bI)-+QUp#K>0bH0p!W>y8TZD5dgfCx}B;YK?ZrLS-RZ-xx`G25kP;hQ^N?om zb<}d!jq3gdei{pl=2>RZfwutIXv|&nN1ewTgwv?2;|&78_;vXU*>m0?9CdA1Utf!Q z{BYbsaK^=a>RFfTaC^KK?egsfkKmcggPeR8+OM3u-iUyKU$|_x zlhO+2vIE6^Xj+w&W^HB^-K(IzRAH4OmPoViC26}+nwqoe7<7?|Lu5o7QnAQqN?5F# zDwlcW>bT6~W0r?UZylHAHuYEiOIC5UReiDFc4Ou(aqXYVt4FN zr_Mt|d9HdZPpmf0LqmGSm2o0>h?wDnYm?aUVHNE`xU}eY^*QUByML?y@>wUk)~saF zdoi6eESWw;G}s^J-!j>E&%*yhGMCQd-gUdZ>oH!(c)e48xq8l8WhFlT(TUxDDSgg7 z9Ch7{`G-G#_~)?^U_0`+LD{|hWzZLb?t8Y;{$G^P^$1ROg)KacAAygDQ_+ZZqW7+xQr- zPmCKH@5>3^GiZ0t>xXAcr-3m@{OhTtNTv0ZQY2pKj^l^6tR#TE=^*&eZ)FaitywvukbLyO{U8(WdDVGCp4K#iI{)JUb|D@WLAIc-+l#?ni z-o}sQuZ|z$x3xPZKSOrJ52c@7Lq4~+U%z(BL-~W!=AhBAxv92|?NCf&_}k`B<;A=% z7enK#ow3@ia@w7ei*4+x*IY>T?+`h`<{{QD_fGmO)o1CZ_L`eb9<3T_=B&ju`$TzR%&?@i_SA z90&h*T>mV}-wZlOZ8)d2zrGOl))xHG{a*`QTSptykB)CjtbT<$iXZno{BcnBIc-A| z)NR*q_Vs4{wYr=z&YP517N}RSvu9&Z2mJ&#;>Sagb=aqjJ0$j@?JU07jxXe8)%j>M zR54uYyY<{|c9N^;4uVwsa}jAWA(=TKL)x_hi0!~oS_zxV!K6~@S$yf5`!Ow*GcB`D zrIgL-g(2Wvauw7j-asoS&4I@`+o8n5aaoRb<=UBi$&2`OV!et+kD#mYsCQW5 zmV_IWP~9C$Xn22dkoP1dbSh?ZHb&L6R8EN>wl536A`t=fQVNcnZ*!7I(Vls1s6}~s z<>ZHQ$av%~tvgEUXy~OB+!7eIIz~nFB<74*y5?5==EipYuwB0P&z-X+FoOAeLvfJu zZ}n!$tQkRRwcU1pflsQO8BktozkH^738dYnPfC=>GN)dtdga9@wS7*U;8X7=ddQrC zcGu>q~_FpStjz zwD-W%?re#h@tbPvrrbE+6hFS1>i8QoZOo4cnm6Y_GtL^%UycvU=iKkMQYX%(ZFvqm zOFT3<+S#ri+uBLuZ&-dlAO7$bN!!5$^$p5;*!jhf?T^+6KMm{i;VqBJ+b(MOf7i7rKGy@~k@e;MEPF&Yd%%avO9^Fe z$57f+=G_}&EgC5U{!v;oMSmHtRjKOMIll^3Vd3GUuRPkp^L(eGHGB2DVMaU-u zRbE~@>al%YM9#W8iZY6raFI-Zh?FlS!^5Ev=Ih&T`LL+=SGd4Nek=@JMOl9xPZ$_K z#r;!s-M$;{-wyvdzFBplXi9f0kFhj}rydej{FQgy7Xn?L*PT^{E*$d#b-cKw>&jx) z#pQNCy%6%#E>6=fow^=~LEogcU0$l3m}@)yE|X64Jz~R@n`5NCAv?%z>Yo@>ijA}x z-==nbwYmC>z{Ns(+If=V!Aj#<2>!so>q07+URI6Jq1DU%gO<*+jyhN&+b0C%PG4m0 zm?w&CC@5=QI^K4hw+i@S1*@ci$`U~Xy*>>)T4RP`oo+{4z4eLf_8u1TkA!G_IsfkU z{xu8X-(f7`AC-N@`Xc$eAO4+&wXSv!V{b+FVjG`ByTQ2-|2RVeCe=0eidTOLJV5g_ z3pk!XZ($*ZZrDlXA$ZIB>sS0);ae5 IyJ7490AYHxkpKVy literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/doc/html/tutorial/problems.html b/src/bin/pgaccess/doc/html/tutorial/problems.html new file mode 100644 index 0000000000..2238fb617d --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/problems.html @@ -0,0 +1,83 @@ +PgAccess - Common Problems + +

      Common Problems with PgAccess

      +

      Connection failure

      +One of the most common initial problems is the message:

      +Error connecting database
      +Connection to database failed
      +connectDB() failed: Is the
      +postmaster running and
      +accepting TCP/IP (with -i)
      +connections at 'localhost' on
      +port '5432'?

      +This usually occurs because the "postmaster" (the postgreSQL backend) was not +started with the -i option. Usually just adding -i to +the command line that starts the postmaster and restarting will fix this.

      +If you have installed the prewritten script to start postgreSQL +automatically, this option is (currently) commented out:

      +# PGOPTS="-i"

      +just remove the hash and space and comment out the "blank" option above:

      +PGOPTS=""

      +

      User not defined

      +Initially, postgreSQL only has one user, postgres, and any +other user who starts up PgAccess will get the message:

      +Error connecting database
      +Connection to database failed
      +FATAL 1: SetUserId: user
      +'jim' is not in 'pg_shadow'

      +See User Administration in the PgAccess tutorial for a description +of how to create users.

      +

      libpgtcl not found

      +PgAccess requires a library of functions named libpgtcl. This +should be available with the postgreSQL distribution, and is usually placed in +the correct location when installing postgreSQL. First check that there is a +file named libpgtcl.so (perhaps with a number appended - or +libpgtcl.dll on Windows systems) on your +system. If not, you will have to download and perhaps compile this library.

      +ftp://ftp.flex.ro/pub/pgaccess

      +is one place that you can download precompiled libpgtcl libraries for +PgAccess.

      + +

      Locale specific characters

      +This problem occurs with some special characters used in different +countries because PgAccess did not use fonts with `-ISO8859-1' encoding.

      +One solution was proposed by H.P.Heidinger ( hph@hphbbs.ruhr.de) and +is very simple.

      +If you look in the file pgaccess.tcl, you will find the fonts declared in +this manner:

      +$ grep -e '-font' -i pgaccess.tcl
      +-font -Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-* \
      +...

      +The font declarations should be altered to:

      +-font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-iso8859-1
      +...

      +That is, inserting an asterisk between the first pair of hyphens, and changing +the final two asterisks to iso8859 and 1 +respectively.

      +You can alter the source code by running the following script : +

      #!/bin/sh
      +cp pgaccess.tcl pgaccess.tcl-org
      +cat pgaccess.tcl |\
      +sed -e's/\-\*\-\*\ /\-iso8859\-1\ /g' |\
      +sed -e's/\-\*\-\*\}/\-iso8859\-1}/g' |\
      +sed -e's/\-\*\-\*\]/\-iso8859\-1]/g' |\
      +sed -e's/\-\*\-\*$/\-iso8859\-1/g' |\
      +sed -e's/\-Clean\-/\-Fixed\-/g' |\
      +sed -e's/clean/fixed/g' >pgaccess.iso
      +mv pgaccess.iso pgaccess.tcl
      +chmod +x pgaccess.tcl

      +The final version of PgAccess (1.0) will let the user decide what fonts +will be used through a "preferences" dialog window.

      +
      +

      Problem with PostgreSQL 6.3.x

      +PgAccess 0.93 and later may have problems working with PostgreSQL 6.3.x. +Changes in libpgtcl have been made to remove these, but if you are +using PostgreSQL 6.3.x, this patch will allow you to get around the problems.

      +In the procedure wpg_exec change the following line:

      +set pgsql(errmsg) [pg_result $pgsql(res) -error]

      +to this:

      +set pgsql(errmsg) "NO ERROR INFORMATION SUPPLIED"

      +and the program will work. The only disadvantage is that with some error +conditions, you will not get the appropriate error message from libpgtcl.

      +Back to index + diff --git a/src/bin/pgaccess/doc/html/tutorial/screen1.jpg b/src/bin/pgaccess/doc/html/tutorial/screen1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..572b5077d10fa76432858acdf6ca127977f52fa9 GIT binary patch literal 15331 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 literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/doc/html/tutorial/start.html b/src/bin/pgaccess/doc/html/tutorial/start.html new file mode 100644 index 0000000000..8ad8c2ae18 --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/start.html @@ -0,0 +1,74 @@ +PgAccess - Getting Started + +

      PgAccess - Getting Started

      +

      How to get PgAccess

      +If you have this HTML help system, you have probably already downloaded +PgAccess. If not, or you wish to download the latest version, it is available +from the URL:

      +http://www.flex.ro

      +The home page will contain instructions on which files to download for your +operating system. Download the file to a directory where the program will +eventually reside (see below).

      +

      How to uncompress PgAccess

      +PgAccess, like most applications available for download, is usually downloaded +in compressed format to save download time. You must uncompress these files in +order to use the application.

      +

      UNIX (Linux, BSD, IRIX, Solaris, etc.)

      +The files will be compressed using "gzip" and packaged using "tar", and have +filenames like this:

      +pgaccess-n.nn.tar.gz

      +Note that "n.nn" will be the version number in an actual file.

      +First decide where you want to have the program. A typical location on UNIX +systems is /usr/local/src/<name>, where <name> is the name of +the program. To use this location, download or move the "tar.gz" file to the +directory /usr/local/src. Change to that directory, and +uncompress the file with the command:

      +tar -zxvf pgaccess-n.nn.tar.gz

      +You should see the files listed as they are uncompressed and placed in the new +directory, and now have a directory named:

      +/usr/local/src/pgaccess

      +In that directory will be all of the files that were packaged in the downloaded +file. When you have PgAccess working, you can delete the file with the ".tar" +or ".tar.gz" extension. +

      Windows

      +The files will be compressed so that "WinZip" will uncompress the package. Just +open the file with "WinZip" and the program files will be extracted.

      +

      Putting PgAccess where it will be found

      +

      UNIX

      +In order to run PgAccess easily, the program file "pgaccess.tcl" should be in a +location on the "PATH" of the system. You can find out what the PATH is by +entering:

      +echo $PATH
      +/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:./:/usr/local/pgsql/bin +

      +Usually the directory /usr/local/bin will be in your PATH, and that +is a fairly common place to put programs like PgAccess. Other common +directories in the PATH are /usr/bin and /usr/sbin. +Simply move the file "pgaccess.tcl" to the directory where you want it.

      +

      Windows

      +You will usually link PgAccess to an icon, so just specify the full path to the +program when you create the icon. +

      Starting PgAccess

      +The easiest way to start PgAccess is to simply invoke the program by name:

      +pgaccess.tcl

      +If the program has been placed in a directory listed in the PATH, the PgAccess +window should appear.

      +

      Starting from a menu

      +Most users will want to link the program to a menu or icon so that it can be +started using the mouse or other pointing device. Here is a method that will +work on most Linux X-Windows systems. Create a file named "pgaccess" in the directory +/etc/X11/wmconfig with the following contents:

      +pgaccess name "PgAccess"
      +pgaccess description "postgreSQL frontend"
      +pgaccess mini-icon "mini-pgaccess.xpm"
      +pgaccess group "Applications"
      +pgaccess exec "pgaccess.tcl &"

      +This assumes that you have an "Applications" sub-menu. You may prefer +"Programs" or some other place. Also, you will have to create the +"mini-pgaccess.xpm" icon if you want it to appear. You can edit an existing +icon from the /usr/share/icons/mini directory in XPaint and rename +it. When you next start an X-Windows session, there should be a "PgAccess" item +on the menu that you have chosen. Clicking on this item should start +PgAccess.

      +Back to index + diff --git a/src/bin/pgaccess/doc/html/tutorial/tut.html b/src/bin/pgaccess/doc/html/tutorial/tut.html new file mode 100644 index 0000000000..e5387e618d --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/tut.html @@ -0,0 +1,50 @@ +PgAccess - Tutorial + +

      PgAccess - Tutorial

      +

      User Administration

      +The procedure for setting up postgreSQL usually results in a single user +named postgres. In order for anyone else to use postgreSQL, +users must be added. The program createuser accomplishes this. +First become the PostgreSQL administrator (usually postgres):

      +su postgres

      +Then create a new user:

      +createuser jim
      +Enter user's postgres ID or RETURN to use unix user ID: 500 ->
      +Is user "jim" allowed to create databases (y/n) y
      +Is user "jim" a superuser? (y/n) n
      +createuser: jim was successfully added

      +You can use either the UNIX user ID or the postgres ID to identify users. See +the postgreSQL documentation in the "admin" section for a fuller +account of users and groups.

      +To remove users, use the destroyuser command in the same way.

      + +

      Basic use of PgAccess

      +

      Creating a database

      +At the right is the window you should see when PgAccess starts up. The first +task for most users will be to create a database.

      +Press the New button to bring up the window shown below. This will +allow you to specify the structure of the new table. It is important to note +that if you haven't specified a database when starting up PgAccess, this table +will be created in the database named <username>, your +username.

      +Assume that you want to create a table with entries describing bibliographic +references in the field of chemistry. Choose a table name, such as +chemref that will be easy to recall and find in a list. Enter the +table name in the first input field.

      +When you already have tables in a database, you can use the Inherits +button to toggle a list of existing tables to inherit characteristics of another +table. In this example, there should be no previous tables to use.

      +Enter each field, giving it a name, field type and size, if the field type does +not imply the size. That is, if your first field was to be a sequence number, +and you selected int2 as the field type, you would not have to specify +a field size. However, if your second field was to contain the author of the +reference, and was a varchar type, you would have to specify how many +characters would be allowed in the field.

      +As you enter each field, click the Add field button to add it to the +list at the right side of the window. You can change the position of fields +using the Move field up and Move field down buttons, or delete +a field if you decide it isn't what you wanted. When you are finished +specifying fields, press the Create table button.

      + +Back to index + diff --git a/src/bin/pgaccess/doc/html/tutorial/tut_edit.html b/src/bin/pgaccess/doc/html/tutorial/tut_edit.html new file mode 100644 index 0000000000..8282fb9a42 --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/tut_edit.html @@ -0,0 +1,39 @@ +PgAccess Tutorial + +

      PgAccess Tutorial - Editing a table

      + +

      Adding records

      +Once you have a table, you can begin to add entries to it. In the main +PgAccess window, when you click the Tables button, you should see the +new table appear in the list of tables. Highlighting the table name by clicking +on it and clicking on the Open button will open that table in another +window, as shown below.

      +The most straighforward way to add records to a table is to type the information +directly into the fields. Two records have been entered in the table shown. As +is common with this user interface, clicking the mouse while the pointer is in a +field will allow keyboard entry to that field. This type of entry is adequate +when the information arrives infrequently in small parcels, for instance in +keeping a table of contact information about other researchers. However, what +do you do when someone emails you the entire reference list for their doctoral +dissertation?

      +This is best handled using the SQL COPY command. +First, the information will have to be massaged into shape in what is called a +'flat' ASCII file. This is simply a text file in which each line is a record, +and each field in each record is separated by a delimiter such as a +tilde (~). The fields will have to be in the same order as those in your table, +and there will have to be the same number of fields in each record as are in the +table, otherwise you may get unexpected data or no data at all. Say you produce +a text file named newref.txt that starts like this:

      +Cassileth, BR~Unorthodox Cancer Medicine~Cancer Investigation~~1986~4~6~591-598 +
      ...

      +Notice that there are two consecutive tildes to allow for the fact that this +particular entry doesn't have anything in the Editor field. +You can then perform a Query as follows:

      +COPY psyref FROM '/home/jim/newref.txt' USING DELIMITERS +'~';

      +This will read the records from newref.txt and insert them into the +table psyref. See the PostgreSQL documentation under the headings +
      Tutorial|The Query Language|Populating a Class with Instances

      + +Back to index + diff --git a/src/bin/pgaccess/doc/html/tutorial/tut_new.html b/src/bin/pgaccess/doc/html/tutorial/tut_new.html new file mode 100644 index 0000000000..8fca641e6c --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/tut_new.html @@ -0,0 +1,36 @@ +PgAccess Tutorial + +

      PgAccess Tutorial - Creating a table

      + +

      Creating a table

      +At the right is the window you should see when PgAccess starts up. The first +task for most users will be to create a database. Notice the 'buttons' at the +left of the main window. Clicking on these allows you to see the names of +different objects that are stored in your database, which should be +empty at the moment.

      +Click the Tables and New buttons to bring up the window shown +below. This will allow you to specify the structure of the new table. It is +important to note that if you haven't specified a database when starting up +PgAccess, this table will be created in the database named +<username>, your username.

      +Assume that you want to create a table with entries describing bibliographic +references in the field of psychology. Choose a table name, such as +psyref that will be easy to recall and find in a list. Enter the +table name in the first input field.

      +When you already have tables in a database, you can use the Inherits +button to toggle a list of existing tables to inherit characteristics of another +table. In this example, there should be no previous tables to use.

      +Enter each field, giving it a name, field type and size, if the field type does +not imply the size. That is, if your first field was to be a sequence number, +and you selected int2 as the field type, you would not have to specify +a field size. However, if your second field was to contain the author of the +reference, and was a varchar type, you would have to specify how many +characters would be allowed in the field.

      +As you enter each field, click the Add field button to add it to the +list at the right side of the window. You can change the position of fields +using the Move field up and Move field down buttons, or delete +a field if you decide it isn't what you wanted. When you are finished +specifying fields, press the Create table button.

      + +Back to index + diff --git a/src/bin/pgaccess/doc/html/tutorial/tut_sel1.html b/src/bin/pgaccess/doc/html/tutorial/tut_sel1.html new file mode 100644 index 0000000000..fdadbe8e6d --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/tut_sel1.html @@ -0,0 +1,36 @@ +PgAccess Tutorial + +

      PgAccess Tutorial - SELECT

      + +

      What is a query?

      +Query is the term for an SQL command which will perform an operation +on a table. It is sometimes confusing to newcomers, as some of the operations +seem to have nothing to do with querying in the common sense of asking. +As we saw in the previous section, a query can simply copy +records from an ASCII file to a table.

      +The PostgreSQL documentation has a complete list of queries that can be +used. We'll start with the common task of selecting records with certain +characteristics.

      +

      Selecting records

      + +Suppose that I want to know all of the references in the sample table +psyref for which the word "alternative" appeared in the title.

      +By clicking Query, then New, a Query builder window will +appear. Clicking in the area below the buttons will allow the user to enter an +SQL query. The specification of the query must be exact or +PostgreSQL will return an error message.

      +The query shown will SELECT those records from psyref +that contain the word "alternative" anywhere in the title field. The +'*' indicates that all of the fields are to be returned. You might only want to +return, for instance, the author field if you were only interested in +which authors had used that word in the title of their work.

      +At the right is the record that fulfils these conditions, displayed in the +Table viewer. If you wanted to save this query for use again, +clicking the Save query definition button will do so. You will then +see altern listed under Queries when you return to the main +window. By clicking the Save this query as a view tickbox in the +Query builder, the result of your query will be saved as a +View which you can access from Views in the main window. +Click the Close button to leave the Query builder.

      +Back to index + diff --git a/src/bin/pgaccess/doc/html/tutorial/tut_user.html b/src/bin/pgaccess/doc/html/tutorial/tut_user.html new file mode 100644 index 0000000000..c4a6f09fbb --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/tut_user.html @@ -0,0 +1,28 @@ +PgAccess Tutorial + +

      PgAccess Tutorial - User Administration

      +While user administration is really not a part of the PgAccess program, it is +such a basic operation that a brief description is given here. +

      Creating users

      +The procedure for setting up postgreSQL usually results in a single user +named postgres. In order for anyone else to use postgreSQL, +users must be added. The program createuser accomplishes this. +First become the PostgreSQL administrator (usually postgres):

      +su postgres

      +Then create a new user:

      +createuser jim
      +Enter user's postgres ID or RETURN to use unix user ID: 500 ->
      +Is user "jim" allowed to create databases (y/n) y
      +Is user "jim" a superuser? (y/n) y
      +createuser: jim was successfully added

      +You can use either the UNIX user ID or the postgres ID to identify users. See +the postgreSQL documentation in the "admin" section for a fuller +account of users and groups.

      +The reason for using the command line to create the first user (other than +postgres) is that postgres may not have X-Window permission. +You can also create users using PgAccess if you are created as a +superuser as shown in the example above.

      +

      Removing users

      +To remove users, use the destroyuser command in the same way.

      +Back to index + diff --git a/src/bin/pgaccess/doc/html/vdesigner.gif b/src/bin/pgaccess/doc/html/vdesigner.gif new file mode 100644 index 0000000000000000000000000000000000000000..71349e6daf4c52b8d64a14c05ccdecfa24c735ef GIT binary patch literal 15903 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 literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/doc/html/whatsnew.html b/src/bin/pgaccess/doc/html/whatsnew.html new file mode 100644 index 0000000000..f2faede015 --- /dev/null +++ b/src/bin/pgaccess/doc/html/whatsnew.html @@ -0,0 +1,50 @@ + + + + + + + +29 August 1999 - PgAccess 0.98 has been released! +

        +
      • +international version (romanian, french, italian translations available) +in separate files (japanese translation now possible)
      • + +
      • +context sensitive help, complete help for SQL commands
      • + +
      • +geometry changes for many forms
      • + +
      • +form designer enhancements (widget icons , new attribute window style, +form startup script)
      • + +
      • +ability to inspect PostgreSQL system tables (preferences)
      • + +
      • +enhanced table design window, table permissions
      • + +
      • +distribution archive changes
      • + +
      • +unified internal global variables
      • + +
      • +unified internal window naming conventions
      • + +
      • +usage of Tcl namespaces for all modules
      • + +
      • +PgAccess developer API
      • + +
      • +web site enhancements
      • +
      + + + diff --git a/src/bin/pgaccess/doc/html/win32.html b/src/bin/pgaccess/doc/html/win32.html new file mode 100644 index 0000000000..368eb9990e --- /dev/null +++ b/src/bin/pgaccess/doc/html/win32.html @@ -0,0 +1,45 @@ + + + + + + + + +

      +PgAccess on Win32

      + +
      In order to run PgAccess on a Win32 workstation you should follow the +following steps: +
        +
      1. +download and install a Tcl/Tk package from Scriptics +(8.0.x or 8.1.x)
      2. + +
      3. +install PgAccess package
      4. + +
      5. +check the Tcl/Tk version that you have
      6. + +
      7. +check the PostgreSQL version installed on your database server machine
      8. + +
      9. +get from win32/dll directory the appropriate libraries suitable for your +Tcl/Tk version and PostgreSQL version and copy them into your Windows/System +directory renaming them as libpq.dll and libpgtcl.dll
      10. + +
      11. +check if your win32 workstation is able to see your database server (ping +yourdatabaseserver)
      12. + +
      13. +ask your database administrator to verify if your win32 workstation has +access rights to the database (pg_hba.conf)
      14. +
      + +


      You should be able to run PgAccess. +
        + + diff --git a/src/bin/pgaccess/images/icon_button.gif b/src/bin/pgaccess/images/icon_button.gif new file mode 100644 index 0000000000000000000000000000000000000000..df7059192115b13aa31a7116392d0a7c4e6b6db0 GIT binary patch literal 896 zcmcJO%WG6w5XQgLo{%ymp@$S^FulmYMFj&US6UlHI56UiEE-`z+-0F;Atp*h-NnaB zL_~tK5b=zt-7SF|+H_Vkoc6IO(M1p=jkpM|vJfHnUg#{M$L<9GgsDZXim!h4Rn?JW zhYS117>p*`F+DxqXf)Q=*Cr%avrWa`kdt?pY&^#P0=cPdz8FVtt8;ZU6}*8fN=}7MkcV*v(PfLQNMtQD6Vc^BClNfu5k>~&`-07Y4QQWE z%UET2f*Y6oysdV#A~G-5KirH04Cm!z)n*lw zp%pD}V1EM_B`Djdpa;rWV1NJ-9a<2>5M~A?Nv!wm9L?l|S~b?n8{_n%MyXv*R!XsD z&*W%S4`&bq9&jT0Fsu?OW6Yc&v1QNfh+fN_v#Xl@bfBL`paCf@gd1*|Q7xHGZjgwC z))KQJS}z7k68)FQl`2Sq49;r2ETg-HyNF*6F{yRB*&A4vTYcfFerio>L^!kwu|F$~ z)PC}uoeU(6!VP4zjFmpD_QMa!OloVMwax0;2%RnQ8-z+}bC*ii5O%_Vdj<6nieL<% z&`>d`8_!~}2RURXR8#}EDW?KXlh}LjoSPh(NWa&7Mmb}Ken?uepJ%eON!00ixl8&` z>Ib*H{_N5G!kG!P_s}Qd)heE|04~xMccms zI*ks>9i6i;u2WC%NtyfSmC}Fg2!0>@a_Hu^JzcYf;v-=2&rH2>ep#;V?3m=0ktc7i z?(Uf9t#^aBfA1PQvpzn2`rW;Q7w_@W=T8^!Z~yDtziWFd?{BL|#~&PDsw_QL3I~1y D4=y48 literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/images/icon_checkbutton.gif b/src/bin/pgaccess/images/icon_checkbutton.gif new file mode 100644 index 0000000000000000000000000000000000000000..ddfe64ca8b41d205e3a714fef8f9a54c1fb490d9 GIT binary patch literal 873 zcmcJOziU%b6vw|eUhq(3dFp`{T0}I1N;T<&Xh4uVh(Dl8DGnlniWEh}g!=Hu7V01r zg$^AAhu+B~Aif$+agp1q$Pq+3Nf8I}2RL*vc>x_N*F^D8@Jweoe1Cl496EBau=gy3 z@dGHA%gf8lKUaS`j29)_uvZjEhQ{U1HQPGNeu7*S}@#UF|mD)J-Iig5L zvSI5g`N+6zufDo~NMV=3@TlxoVGdM)$reOcEto-sKqR)7nThCnMkg^m!x4rD+PI(xs+ebh01+Kp5W^5=wn&m#@7Xz;$!8k%mR8;vrF_39Th&L$o@YNs{3^ zI&{?~QEiJ-=1V(%?>U%;psabqoO9M`Bp2_dZfrNF(w0zm-= zJSI?KcUw-Q)&hHwLr_$41Kdp(Ww@QRy!Xzz(r~f;tKn1188h@&+BN%OCU}sqx}K){RWWj5tje} literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/images/icon_entry.gif b/src/bin/pgaccess/images/icon_entry.gif new file mode 100644 index 0000000000000000000000000000000000000000..750d1ff5e43cdde5702b08bbc89ec5c8123a8e6c GIT binary patch literal 907 zcmb`G&udgy6vw}JyfKIH49|K}QW8XDq#$jRyfW>GE^eWiMze^bSV9&F8vIp_V2~EN zm_lix4W(&>x^Qvp!kMV$$F{I!Ht!Yl+zqt?VkMY5ZFWpVdJMWblc`?==KD@lCv%i3#1z zka&34Hi3c&J(RCA7uj(`=3{AQHu3Boxrw4=akNHlfO`R2J@CD9KC=za+J^dCjLy9I zmxRUY%bb*~BI<+zcMF;k6!HG2P%Y3ZuC%}&PKL}2E;M_}oEIOhq2|FZH@&El z0yBb!h04z<5AA=}TkU@BUjUs!2lan+-QEIi+CFh%Y|9^CcXgJ7$?KOY>a~t7H;#o5 zKm4wMAgj%99iA_YobD&P?aurghrarJ$Gg*`3#F5nZhpEjz4yl*2mg66vhZm5i=F$P l@Sdkf_g#K-YIDc&v)d2;)cebczpngn_0Z1;K3K1@^FP1M9)th@ literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/images/icon_frame.gif b/src/bin/pgaccess/images/icon_frame.gif new file mode 100644 index 0000000000000000000000000000000000000000..8541cbeab8d92371701f78a4aa12cd8ff227417f GIT binary patch literal 908 zcmcIjO>2}_6n^e_CC50C*LrFQ37ExDW|26P7sn2Eb3t1x4H`qi>MBw~KNKh0!4FUv zDp3%@7DAzd_I5KLpuAz~WLNHJ1&<&i6v7}~x^Us5nRg&6k?TyQKfz~p7KihEarW-} zEdTLQ24fXHluD&mtMzj2WkE6x`-9@5p;>u!#lP?;V*`!Z5QB)W=n3$67D$IiNFqypQss%HM5Qs$9GBXjKP3bs-XE?&d zu)JBa39td})SW6;7@pw1mE0X$PqHF1ch}agw5tQ2jial&cmyj34x(YvHKGYwlI1uI zJSCmU=482U1I1+Mxt52po553(s@f>8hpSj(fB+F4S`fn!7DgqGt@rF4E#y*-dRr@R zjMGmvD!py8QfXWEOpYdXHi0(a0Vk3R!#a^N#wvmsiWO2u*XXAbA;AO$iwu5qu5WLNPM{LhIw{j7th9)Sa; zMGb`*q^=!xT%LFAQ_sO%s@#dTIx=a<5W+#wn7ruN70=$0v%$ixsL{t7Uux8#gb-HV z1;LwuCP4uPJS|XRZ)zn`YlA(=Ato73g5JdGE^L`1Hu=$_!qNuZ0mZzu`Qe5?4ep(tmm@R e6-GG^RNvYYP<*6rTkt~7?#f0c2Peuo%a0{VLOQ4US8*yRU27-ta^x+Q> z%&t&Hqzt7{XfKUqWpNL|aEQINK^09G+9s2wVVuk$%W04$C;V7sCQz(h9SuleLfkk7L8YK{PDdK{R2M z`?gU4Yui2!e`)gQcfB+F4S`fn!Dua?`)_Zo2D#d)W zk!t0Qae7Uo+Sw*6)zq?Qax|$&b4URXIFVu)Hi(olW=ZyCw(gl7(LGsmc0;o_XnD zLI|r{ICuxJLQsGKPYG1m>DGHtPr)AK5R_HY1a~aPd2VH?_ue@-H&$-FZ~B~a#*93Y zR^2|U1h=weyXUC;^$==(;5JKsB|yk$Ix<*M=rZ_w3Yi+{j^Ci}!LCibq>%w-LDNFD z^M95a>0Isn0%!(ZG%&GbzXt6dKJiC1c=wm?Z6$qj=|`wtU4yr0gXiPdw|#Z$=ET&( zgWoW|w<7634}TvXx^wwm`2XskeFx8sUrK+TyrHk;diTXIe)wzRYVKI~<1g=5qlK51 M?|WZH*OkJN56fN|Qvd(} literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/images/icon_query.gif b/src/bin/pgaccess/images/icon_query.gif new file mode 100644 index 0000000000000000000000000000000000000000..ced0ef26a54d7150fe6f0589e561f8854eb2960a GIT binary patch literal 897 zcmZ?wbhEHb6krfw_|Cxa9|##30s;aW8X689H~{1{FgP$UEMRbGXkch?U~u>kRPi6k zYyb-U2XaQiXb23W5K#Qd!U*z?4u}Bd2?mZh21X7Ui3JM|HgfPxL&3qNpUqTn%Z-o8?p@0ARc9)MR6Toiwc~VV3NCG)Zjx*^M>BAV4}+rU bE|C|PpZP6tYZubZxUA^3z)_Hmg~1vCl&?8A literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/images/icon_radiobutton.gif b/src/bin/pgaccess/images/icon_radiobutton.gif new file mode 100644 index 0000000000000000000000000000000000000000..9803df6729ca731f7cd9483a915d28af4fbd3912 GIT binary patch literal 870 zcmb`Gv1?ON6vn@sUhGlR^2Adqv||($watTQK#}XB7CRILky1fXK}C#U5d@KdE^0x+ zPEzoSVp1tQ38pwyZj=s37ac?jIyg9Va4_!$+Cja(wD=!*=5xOD`@X|DICP-6`xJw* z1eD9=g@uLXU&{`ql3b|Uvx-j}8kbiCHonS!oZLWAxEj^QS?wT`pTEDeGCjy#BpQ(7 z-Z0)oJ}}O7>xl+N71+Rx$eapekcV+a(Nzm(5FrqWtYu~*I+N2$1kZ4Ue4qTDwVC!T z?b6?>Xfiy(os+^#Tg$Q{GH(_?-H9t*o{ggkeR32{0|(KtNR4R1U`sy7Vc;q2%wR!2 z*KDAe3@vJT2fG10BDt!Kin_0gSq2CY(V+z~456HrB(dJJb2M29>a|!aZ;aC)H7f0H znvhCt*)usB*8Lg8fCrpNAq;Co$`~^xNNm+JJED1+a<-}28*=5GeiniHq%s?>Bw>cN zWLD8ZA`)6l%!X)jZ!Srq*9BawffUH#qQ=`QvMKQ#{_Vt=&bC(9r)V;f4M%$@HETrX zLK_qNB{Pzlq@6cgaLO8 z8X*+H7(Vh7stH=g^CsAX9Dfkoz$pEb+_TD?^#`2}s@4C+@XH4%OX-(U& zI#Y;sl0~HloW{vN1PB4cm%4!l8VVf-caI=Zv~G9_RS$M)?m3MFC<*EoYUNb;pS8U$ z*8T<1VRTUcp%?beP1?9^OfEl$>RP++dT+ilf4eI``m{Ro#N1o6|Hk*@L3!xb7S%s| g{{H6o4?0e48Q*&J)cc3)OUIb5R6ab~(~-fRzx6x~(*OVf literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/images/icon_text.gif b/src/bin/pgaccess/images/icon_text.gif new file mode 100644 index 0000000000000000000000000000000000000000..49d193c279655c0af9f547e312d0e1605f15f7c4 GIT binary patch literal 911 zcmcJO!E01k6vn?BujCM>;ng0%MI8U!Br_VZCugAP0TSsfQSw)h+zmbc}Y|2Jv&D; zOXyuJ@dQqd%+a@cG#Ik2{G@-}(kN_TVBIPh_6DecNth|!imS=WE*JRe&WzF7@ zs~7Z7F=$vCbK!p^%!HP{wdf!b39Th&L$q2gq-p$X8DF+R3S@9l3eF3QQd~U0 zb-JLa+G_8+{!Q`SxnEW`JiPhs=+5uIzH#Wmhd;dY=~uhn{`ujpvz1yq`)K1ocg}xs gYVeJl(PZ`9%kkASCof;T7jIgaesbZDPYgEw3ohUwCIA2c literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/lib/languages/francais b/src/bin/pgaccess/lib/languages/francais new file mode 100644 index 0000000000..62dc80bb42 --- /dev/null +++ b/src/bin/pgaccess/lib/languages/francais @@ -0,0 +1,525 @@ +array set Messages { + +"Label" "Etiquette" + +"Save schema" "Sauver schémas" + +"Is unique ?" "Est unique ?" + +"Report builder" "Constructeur d'états" + +"Criteria" "Critère" + +"FATAL ERROR upgrading PgAccess table" "ERREUR FATALE en actualisant la table PgAccess" + +"Save this query as a view" "Sauver cette requête comme vue ?" + +"Page header" "En-tête de page" + +"Query name" "Nom de requête" + +"Please select an object first!" "Selectionnez un objet d'abord" + +"Fields :" "Le champs de index" + +"Name" "Nom" + +"File name" "Nom du fichier" + +"Detail record" "Detail d'enregistrement" + +"Auto-load the last opened database at startup" "Chargement automatique de la base au démarrage" + +"Maxvalue" "Valeur maximale" + +"Start value" "Valeur de début" + +"Report fields" "Champs de l'état" + +"Test form" "Tester formulaire" + +"Error trying to connect to database '%s' on host %s \n\nPostgreSQL error message:%s" "Erreur de liaison à la base de données '%s' pour machine %s \n\nMessage d'erreur PostgreSQL :%s" + +"No field type ?" "Type champ inexistant ?" + +"User without name?" "Cette utilisateur a-t-il un nom?" + +"You have to supply a name for this schema!" "Vous devez fournir un nom pour ce schéma !" + +"Last value" "Dernière valeur" + +"Preferences" "Préférences" + +"View '%s' already exists!\nOverwrite ?" "La vue '%s' existe déjà!\n Ecraser ?" + +"You have to select an index!" "Vous devez selectionner un index!" + +"Field type" "Type de champ" + +"Script name" "Nom du script" + +"Reload" "Valider" + +"Remove table %s from query?" "Eliminer table %s de la requête ?" + +"SQL window" "Fenêtre SQL" + +"Allow user to create other users" "Peut créer d'autres utilisateurs" + +"Delete current record ?" "Détruire enregistrement courant ?" + +"List box" "Liste" + +"Save to query builder" "Sauver le constructeur de requêtes" + +"fixed width" "largeur de police fixe" + +"Scripts" "Scripts" + +"Yes" "Oui" + +"Add label" "Ajouter étiquette" + +"Sequence created!" "Le séquence avait été créée" + +"Field information" "Information de champ" + +"Design" "Editer" + +"Field" "Champ" + +"You have to supply an external file name!" "Vous devez fournir un nom du fichier" + +"Increment" "Incrément" + +"No" "Non" + +"Form design" "Création du formulaire" + +"You must supply a return type!" "Vous devez fournir un type de retour" + +"Remove field from result ?" "Eliminer champ du résultat ?" + +"There is another object (a %s) with the same name.\nPlease change it!" "Il y a un autre objet (%s) avec le même nom.\nChangez le SVP!" + +"This query has no commands?" "Cette requête n'a pas de définition?" + +"Execute query" "Execute requête" + +"field cannot be null" "champ ne peut être vide" + +"Help" "Aide" + +"Rename column" "Renomme champ" + +"Database" "Base de données" + +"Information" "Information" + +"Close" "Fermer" + +"Command" "Commande" + +"Table" "Table" + +"verify password" "encore un fois" + +"Vacuum" "Vider" + +"Default value" "Valeur par defaut" + +"Import" "Importer" + +"Delete index" "Détruire index" + +"Move up" "Monter" + +"index properties" "Propriétés d'index" + +"check" "vérifier" + +"Create new table" "Création de nouvelle table" + +"Visual query designer" "Créateur visuel de requêtes" + +"Delete all" "Détruire tous" + +"You are going to delete\n\n %s \n\nProceed?" "Vous allez détruire\n\n %s \n\nD'accord?" + +"Schema name" "Nom de schéma" + +"Error executing query" "Erreur en exécutant la requête" + +"Report name" "Nom de l'état" + +"Add field" "Ajout champ" + +"Field name" "Nom de champ" + +"FATAL ERROR searching for PgAccess system tables" "ERREUR FATALE en cherchant le système de tables PgAccess" + +"A big number of rows displayed in table view will take a lot of memory!" "L'affichage d'un grand nombre de colonnes prend beaucoup de mémoire" + +"Preview" "Pré-visualisation" + +"Users" "Utilisateurs" + +"Owner" "Auteur" + +"Form's window internal name" "Le nom interne de la fenêtre de formulaire" + +"Sort field" "Trier champs" + +"New name is the same as the old one!" "Le nouveau nom est le même que l'ancien" + +"Warning" "Avertissement" + +"Suggestions at" "Suggestions à" + +"Functions" "Fonctions" + +"Schema" "Schéma" + +"Open" "Ouvrir" + +"size" "taille" + +"Delete" "Détruire" + +"Returns" "Retours" + +"Define new user" "Définir nouvel utilisateur" + +"Move down" "Descendre" + +"Design script" "Script de création" + +"Check box" "Case à cocher" + +"FINAL WARNING" "DERNIER AVERTISSEMENT" + +"Add table" "Ajouter table" + +"Table viewer font" "Police de visualisateur de tables" + +"The field type is not specified!" "Le type de champ n'est pas spécifié" + +"Close test form" "Fermer test du formulaire" + +"Export table" "Exporter" + +"Add new index" "Ajout nouvel index" + +"Left" "Gauche" + +"Field delimiter" "Séparateur de champs" + +"Add formula" "Ajouter formule" + +"Open database" "Ouvre la base de données" + +"Return" "Retour" + +"Changed fonts may appear in the next working session!" "Les nouvelles polices apparaîtront à la prochaine session" + +"Error" "Erreur" + +"Enter a field name" "Entrez un nom de champ !" + +"field name" "Nom de champ" + +"Forms" "Formulaires" + +"Cannot add column" "Ne peut ajouter de colonne" + +"Clean" "Nettoyer" + +"Delete all objects ?" "Détruire tous les objets" + +"Preferred language" "Langage préféré" + +"Execute SQL" "Exécute SQL" + +"Sequences" "Séquences" + +"Button" "Bouton" + +"Language" "Langage" + +"Query '%s' was not found!" "La requête '%s' n'a pas été trouvée" + +"Object" "Objet" + +"Font fixed" "Police fixe" + +"Table name" "Nom de table" + +"Export" "Export" + +"Change user" "Changer utilisateur" + +"You must give object a new name!" "Vous devez donner un nouveau nom" + +"Query" "Requête" + +"User name" "Nom d'utilisateur" + +"Font normal" "Police normale" + +"Import table" "Importer" + +"Toolbar" "Outils" + +"Radio btn" "Radio" + +"You must supply a name for this function!" "Vous devez fournir un nom pour la fonction" + +"You have to select index fields!" "Vous devez selectionner le champ pour l'index" + +"Constraint" "Contrainte" + +"The script must have a name" "Le script doit avoir un nom" + +"Save" "Sauver" + +"Exit" "Quitter" + +"Inherits" "Source" + +"Delete field" "Détruire" + +"About" "A propos" + +"Empty field name ?" "Nom de champ inexistant ?" + +"All report information will be deleted.\n\nProceed ?" "Toutes les informations de l'état vont être détruites\n\nContinuer ?" + +"Host" "Machine" + +"vacuuming database %s ..." "Vider base %s ..." + +"Indexes defined" "Index définis" + +"You must specify field size!" "La taille du champ doit être précisée" + +"Schema '%s' already exists!" "Le schéma '%s' existe déjà!" + +"There is another field with the same name: '%s'!\n\nReplace it ?" "Il y a un autre champ avec le même nom : '%s'!\n\nRemplacer?" + +"Contents" "Contient" + +"Views" "Vues" + +"Variable" "Variable" + +"Error executing query\n\n%s\n\nPostgreSQL error message:\n%s\nPostgreSQL status:%s" "Erreur en exécutant la requête\n\n%s\n\nMessage d'erreur PostgreSQL :\n%s \n Statut de PostgreSQL:%s" + +"Filter conditions" "Conditions de filtre" + +"Error retrieving query definition" "Erreur en retrouvant la définition de la requête" + +"Error deleting view" "Erreur en détruisant la vue" + +"New" "Nouveau" + +"Tables" "Tables" + +"Create" "Créer" + +"Forms need an internal name, only literals, low case" "Les formulaires ont besoin d'un nom interne, seulement en lettres minuscules" + +"Do you want to save the form into the database?" "Voulez vous sauver le formulaire dans la base?" + +"Schema '%s' was not found!" "Le schéma '%s' n'a pas été trouvé" + +"proportional" "Proportionnelle" + +"Function saved!" "Le fonction avait ete créée" + +"with OIDs" "avec des OIDs" + +"Table information" "Information de table" + +"Error inserting new record" "Erreur en introduisant le nouvel enregistrement" + +"Column name '%s' already exists in this table!" "Le nom de colonne existe déjà dans cette table !" + +"File" "Fichier" + +"Your table has no fields!" "Cette table n'a pas de champ?" + +"Height" "Hauteur" + +"You will always get the latest version at:" "Le derniere version toujours à" + +"Form must have a name" "Le formulaire doit avoir un nom !" + +"Password" "Mot de passe" + +"Valid until (date)" "Valable jusqu'à" + +"Report source" "Source de l'état" + +"Allow user to create databases" "Peut créer une base" + +"Cancel" "Abandon" + +"Is clustered ?" "Est groupé ?" + +"Add new column" "Ajout nouveau champ" + +"Show SQL" "Montrez le code SQL." + +"New name" "Nouveau nom" + +"Table '%s' not found!" "Le table '%s' n'est pas trouvée" + +"Form name" "Nom du formulaire" + +"Visual designer" "Créateur visuel" + +"You choose to delete index\n\n %s \n\nProceed?" "Vous allez détruire index\n\n %s \n\nConfirmation?" + +"Error retrieving from" "Erreur en retrouvant..." + +"Save query definition" "Sauver la définition de la requête" + +"A Tcl/Tk interface to\nPostgreSQL\nby Constantin Teodorescu" "Une Tcl/Tk interface pour\nPostgreSQL\npar Constantin Teodorescu" + +"Operation completed!" "Opération finie" + +"Max rows displayed in table/query view" "Nombre maximal de colonnes affichées dans la table/vue de requête" + +"Passwords do not match!" "Les mots de passe ne vont pas" + +"Rename" "Renommer" + +"Entry" "Entrée" + +"Error retrieving schema definition" "Erreur en retrouvant la définition du schéma" + +"This is an action query!\n\nExecute it?" "Ceci est une requête d'action !\nExécuter ?" + +"Error retrieving view definition for" "Erreur en lisant la définition pour la vue" + +"options" "options" + +"Sequence '%s' not found!" "Le séquence '%s' n'a pas été trouvée" + +"Text" "Texte" + +"Tcl error executing pg_exec %s\n\n%s" "Erreur Tcl en exécutant %s\n\n%s" + +"Width" "Largeur" + +"You have to supply a name for this query!" "Vous devez donner un nom à cette requête" + +"Accessing data. Please wait ..." "Lit les données. Patience ..." + +"Report footer" "Pied de rapport" + +"Parameters" "Paramètres" + +"Queries" "Requêtes" + +"Query '%s' already exists!" "La requête '%s' existe dejà!" + +"Font bold" "Police grasse" + +"Query builder" "Constructeur de requêtes" + +"Error defining view" "Erreur en définissant la vue" + +"Top" "Haut" + +"You must supply a name for your table!" "Vous devez introduire un nom pour cette table" + +"Page footer" "Pied de page" + +"Font italic" "Police italique" + +"Field name not entered!" "Le nom de champ n'est pas entré" + +"Index name cannot be null!" "Le nom de l'index ne peut être nul" + +"Sort" "Trier" + +"Import-Export table" "Import/Export table" + +"Point" "Point" + +"type" "type" + +"You should supply a name for this sequence" "Vous devez donner un nom à la séquence" + +"Remove link ?" "Détruire cette liaison?" + +"You have to supply a table name!" "Vous devez fournir un nom de table" + +"Report header" "En tête de l'état" + +"Attributes" "Attributs" + +"Table '%s' already in schema" "Le table est déjà dans le schéma" + +"Username" "Utilisateur" + +"Minvalue" "Valeur minimale" + +"Sequence name" "Nom de séquence" + +"Define sequence" "Définir la séquence" + +"Function" "Fonction" + +"Sorting and filtering not (yet) available from queries!\n\nPlease enter them in the query definition!" "Tri et filtrage pas (encore) possible à partir des requêtes!\n\nEntrez les dans la définition de la requête SVP" + +"Reports" "Etats" + +"Columns" "Champs" + +"Indexes" "Index" + +"Permissions" "Permissions" + +"not null" "non vide" + +"Cluster index" "index groupe" + +"index columns" "index champs" + +"Add user" "Ajoute utilisateur" + +"Change permissions" "Change droits" + +"select" "sélections" + +"update" "actualise" + +"insert" "introduire" + +"rule" "règles" + +"Identification" "Identification" + +"Owner ID" "ID du propriétaire" + +"Has primary key ?" "A une clé primaire ?" + +"Has rules ?" "A des règles?" + +"Statistics" "Statistiques" + +"Number of tuples" "Nombre des enregistrements" + +"Number of pages" "Nombres des pages" + +"Index name" "Nom d'index" + +"Index fields" "Champs d'index" + +"Table OID" "OID de table" + +} + + diff --git a/src/bin/pgaccess/lib/languages/italiano b/src/bin/pgaccess/lib/languages/italiano new file mode 100644 index 0000000000..157dd4feb6 --- /dev/null +++ b/src/bin/pgaccess/lib/languages/italiano @@ -0,0 +1,539 @@ +array set Messages { + +"Label" "Etichetta" + +"Save schema" "Salva lo schema" + +"Is unique ?" "E' unico ?" + +"Report builder" "Report builder" + +"Criteria" "Criterio" + +"FATAL ERROR upgrading PgAccess table" "ERRORE FATALE aggiornando le tabelle PgAccess" + +"Save this query as a view" "Salva questa query come View" + +"Page header" "Testata di pagina" + +"Query name" "Nome query" + +"Please select an object first!" "Seleziona prima un'oggetto!" + +"Fields :" "Campi :" + +"Name" "Nome" + +"File name" "Nome del file" + +"Detail record" "Dettaglio del record" + +"Auto-load the last opened database at startup" "Apertura automatica ultimo database all'avvio" + +"Maxvalue" "Valore massimo" + +"Start value" "Valore d'inizio" + +"Report fields" "Campi disponibili" + +"Test form" "Test form" + +"Error trying to connect to database '%s' on host %s \n\nPostgreSQL error message:%s" "Errore di connessione al database '%s' sull'host %s \n\nMessaggio d'errore di PostgreSQL :%s" + +"No field type ?" "Nessun tipo per il campo?" + +"User without name?" "Utente senza nome ?" + +"You have to supply a name for this schema!" "Devi specificare un nome per lo schema!" + +"Last value" "Ultimo valore" + +"Preferences" "Preferenze" + +"View '%s' already exists!\nOverwrite ?" "View '%s' esiste gia'!\nSovrascrivo ?" + +"You have to select an index!" "Devi scegliere un'indice!" + +"Field type" "Tipo campo" + +"Script name" "Nome dello Script" + +"Reload" "Ricarica" + +"Remove table %s from query?" "Rimuovere la tabella %s dalla query?" + +"SQL window" "Finestra SQL" + +"Allow user to create other users" "L'utente puo' creare altri utenti" + +"Delete current record ?" "Cancello il record corrente? " + +"List box" "Lista" + +"Save to query builder" "Salva nel query builder" + +"fixed width" "larghezza fissa" + +"Scripts" "Scripts" + +"Yes" "Si" + +"Add label" "Aggiungi etichetta" + +"Sequence created!" "Sequenza creata !" + +"Field information" "Informazioni sul campo" + +"Design" "Disegna" + +"Field" "Campo" + +"You have to supply an external file name!" "Devi specificare un nome file esterno!" + +"Increment" "Incremento" + +"No" "No" + +"Form design" "Disegna il Form" + +"You must supply a return type!" "Devi specificare il tipo di dato ritornato" + +"Remove field from result ?" "Eliminare il campo dal risultato ?" + +"There is another object (a %s) with the same name.\nPlease change it!" "Esiste un'altro oggetto (un %s) con lo stesso nome.\nCambia nome!" + +"This query has no commands?" "Questa query non ha comandi ?" + +"Execute query" "Esegui query" + +"field cannot be null" "Il campo non puo' essere nullo" + +"Help" "Aiuto" + +"Rename column" "Rinomina campo" + +"Database" "Database" + +"Information" "Informazioni" + +"Close" "Chiudi" + +"Command" "Comando" + +"Table" "Tabella" + +"verify password" "verifica password" + +"Vacuum" "Vacuum" + +"Default value" "Valore predefinito" + +"Import" "Importa" + +"Delete index" "Cancella indice" + +"Move up" "Muovi su'" + +"index properties" "proprieta' dell'indice" + +"check" "Controlla" + +"Create new table" "Crea una nuova tabella" + +"Visual query designer" "Visual query designer" + +"Delete all" "Cancella tutto" + +"You are going to delete\n\n %s \n\nProceed?" "Stai per cancellare\n\n %s\n\n Procedo?" + +"Schema name" "Nome dello schema" + +"Error executing query" "Errore eseguendo la query" + +"Report name" "Nome del report" + +"Add field" "Aggiungi campo" + +"Field name" "Nome campo" + +"FATAL ERROR searching for PgAccess system tables" "ERRORE FATALE cercando le tabelle PgAccess di sistema" + +"A big number of rows displayed in table view will take a lot of memory!" "Un numero grande di righe visualizzate richiedera' molta memoria!" + +"Preview" "Anteprima" + +"Users" "Utenti" + +"Owner" "Proprietario" + +"Form's window internal name" "Il nome interno del form" + +"Sort field" "Campo ordinato" + +"New name is the same as the old one!" "Nuovo nome uguale al precedente!" + +"Warning" "Attenzione" + +"Suggestions at" "Suggerimenti a" + +"Functions" "Funzioni" + +"Schema" "Schema" + +"Open" "Apri" + +"size" "Dimensione" + +"Delete" "Cancella" + +"Returns" "Risultati" + +"Define new user" "Definisce nuovo utente" + +"Move down" "Muovi Giù" + +"Design script" "Design script" + +"Check box" "Casella si/no" + +"FINAL WARNING" "Ultimo Warning" + +"Add table" "Nuova tabella" + +"Table viewer font" "Carattere del visualizzatore tabelle" + +"The field type is not specified!" "Il tipo del campo non e' stato specificato!" + +"Close test form" "Chiudi test form" + +"Export table" "Esporta tabelle" + +"Add new index" "Aggiungi nuovo indice" + +"Left" "Sinistra" + +"Field delimiter" "Delimitatore di campo" + +"Add formula" "Aggiungi formula" + +"Open database" "Apri il Database" + +"Return" "Risultato" + +"Changed fonts may appear in the next working session!" "I caratteri cambiati saranno visibili nella prossima sessione!" + +"Error" "Errore" + +"Enter a field name" "Inserisci un nome campo" + +"field name" "Nome Campo" + +"Forms" "Forms" + +"Cannot add column" "Non posso aggiungere una colonna" + +"Clean" "Pulisci" + +"Delete all objects ?" "Cancellare tutti gli oggetti ?" + +"Preferred language" "Lingua preferita" + +"Execute SQL" "Esegui SQL" + +"Sequences" "Sequences" + +"Button" "Bottone" + +"Language" "Lingua" + +"Query '%s' was not found!" "La query '%s' non e' stata trovata!" + +"Object" "Oggetto" + +"Font fixed" "Carattere fisso" + +"Table name" "Nome tabella" + +"Export" "Esporta" + +"Change user" "Cambia utente" + +"You must give object a new name!" "Devi dare un nuovo nome all'oggetto!" + +"Query" "Query" + +"User name" "Nome utente" + +"Font normal" "Carattere normale" + +"Import table" "Importa" + +"Toolbar" "Barra degli strumenti" + +"Radio btn" "Bottone a scelta" + +"You must supply a name for this function!" "Devi fornire un nome per questa funzione!" + +"You have to select index fields!" "Devi selezionare i campi dell'indice" + +"Constraint" "Constraint" + +"The script must have a name" "Lo script deve avere un nome" + +"Save" "Salva" + +"Exit" "Esci" + +"Inherits" "Eredita" + +"Delete field" "Cancella campo" + +"About" "Apropos" + +"Empty field name ?" "Nome del campo vuoto?" + +"All report information will be deleted.\n\nProceed ?" "Tutte le informazioni relative al report saranno cancellate.\n\n Procedo ?" + +"Host" "Host" + +"vacuuming database %s ..." "vacuuming database %s ..." + +"Indexes defined" "Indici definiti" + +"Owner ID" "Proprietario ID" + +"You must specify field size!" "Devi specificare la dimensione del campo!" + +"Schema '%s' already exists!" "Lo schema '%s' esiste gia'!" + +"There is another field with the same name: '%s'!\n\nReplace it ?" "C'e' un'altro campo con lo stesso nome: '%s'!\n\nSostituisco ? " + +"Contents" "Contenuto" + +"Views" "Views" + +"Variable" "Variabile" + +"Error executing query\n\n%s\n\nPostgreSQL error message:\n%s\nPostgreSQL status:%s" "Errore eseguendo la query\n\n%s\n\nErrore PostgreSQL:\n%s\nPostgreSQL status:%s" + +"Filter conditions" "Condizioni di filtro" + +"Error retrieving query definition" "Errore caricando la definizione della query" + +"Error deleting view" "Errore durante la cancellazione" + +"New" "Nuovo" + +"Tables" "Tabelle" + +"Create" "Crea" + +"Forms need an internal name, only literals, low case" "Il form ha bisogno di un nome interno, solo lettere minuscole" + +"Do you want to save the form into the database?" "Vuoi salvare il form nel database ?" + +"Schema '%s' was not found!" "Lo schema '%s' non e' stato trovato!" + +"proportional" "proporzionale" + +"Function saved!" "Funzione salvata!" + +"with OIDs" "con OIDs" + +"Table information" "Informazioni tabella" + +"Error inserting new record" "Errore inserendo il nuovo record" + +"Column name '%s' already exists in this table!" "Il campo '%s' esiste gia'!" + +"File" "File" + +"Your table has no fields!" "La tabella non ha campi !" + +"Height" "Altezza" + +"You will always get the latest version at:" "Troverai l'ultima versione su:" + +"Form must have a name" "Il form deve avere un nome" + +"Password" "Password" + +"Valid until (date)" "Valido fino a" + +"Report source" "Sorgente del report" + +"Allow user to create databases" "L'utente puo' creare database" + +"Cancel" "Abbandona" + +"Is clustered ?" "Is clustered ?" + +"Add new column" "Aggiungi nuovo campo" + +"Show SQL" "Mostra SQL" + +"New name" "Nuovo nome" + +"Table '%s' not found!" "Tabella '%s' non trovata!" + +"Form name" "Nome form" + +"Visual designer" "Visual Designer" + +"You choose to delete index\n\n %s \n\nProceed?" "Hai scelto di cancellare l'indice\n\n %s \n\nProcedo?" + +"Error retrieving from" "Errore caricando da" + +"Save query definition" "Salva la definizione della query" + +"A Tcl/Tk interface to\nPostgreSQL\nby Constantin Teodorescu" "Una interfaccia Tcl/Tk verso\nPostgreSQL\n di Constantin Teodorescu" + +"Operation completed!" "Operazione completata!" + +"Max rows displayed in table/query view" "Numero massimo di righe nella visualiz. tabella/query" + +"Passwords do not match!" "La password non corrisponde!" + +"Rename" "Rinomina" + +"Entry" "Entry" + +"Error retrieving schema definition" "Errore caricando la definizione dello schema" + +"This is an action query!\n\nExecute it?" "Questa e' una query d'azione\n\nLa eseguo?" + +"Error retrieving view definition for" "Errore caricando la definizione di" + +"options" "opzioni" + +"Sequence '%s' not found!" "Sequence '%s' non trovata!" + +"Text" "Testo" + +"Tcl error executing pg_exec %s\n\n%s" "Errore Tcl eseguendo pg_exec %s\n\n%s" + +"Width" "Larghezza" + +"You have to supply a name for this query!" "Devi specificare un nomer per la query" + +"Accessing data. Please wait ..." "Carico i dati, attendi..." + +"Report footer" "Piede del report" + +"Parameters" "Parametri" + +"Queries" "Queries" + +"Query '%s' already exists!" "La query '%s' esiste gia'!" + +"Font bold" "Carattere grassetto" + +"Query builder" "Query builder" + +"Error defining view" "Errore definendo la query" + +"Top" "Sopra" + +"You must supply a name for your table!" "Devi specificare un nome per la tabella!" + +"Page footer" "Pie' di pagina" + +"Font italic" "Carattere corsivo" + +"Field name not entered!" "Nome del campo non inserito!" + +"Index name cannot be null!" "Il nome dell'indice non puo' essere nullo!" + +"Sort" "Ordina" + +"Import-Export table" "Importa/Esporta tabella" + +"Point" "Punto" + +"type" "tipo" + +"You should supply a name for this sequence" "Tu devi fornire un nome per la sequenza" + +"Remove link ?" "Rimuovere collegamento ?" + +"You have to supply a table name!" "Devi specificare il nome tabella!" + +"Report header" "Testata del report" + +"Attributes" "Attributi" + +"Table '%s' already in schema" "Tabella '%s' esiste gia' nello schema!" + +"Username" "Nome utente" + +"Minvalue" "Valore minimo" + +"Sequence name" "Nome del sequence" + +"Define sequence" "Definisci la sequenza" + +"Function" "Funzione" + +"Sorting and filtering not (yet) available from queries!\n\nPlease enter them in the query definition!" "Ordinamento e filtri non ancora disponibili dalle query!\n\nInseriscili nella definizione della query!" + +"Reports" "Reports" + +"primary key" "chiave primaria" + +"Visual schema designer" "Ambiente sviluppo relazioni visuale" + +Print Stampa + +"Print to Postscript" "Stampa Postscript" + +Commands Azioni + +"Report preview" "Anteprima report" + +"The printed image in Postscript is in the file pgaccess-report.ps" "La stampa in Poscript è nel file pgaccess-report.ps" + +"Columns" "Campi" + +"Indexes" "Indici" + +"Permissions" "Autorita" + +"not null" "non nullo" + +"Cluster index" "Cluster indice" + +"index columns" "campi dello indice" + +"Add user" "Nuovo utente" + +"Change permissions" "Cambiare autorita" + +"select" "selezioni" + +"update" "update" + +"insert" "inserisci" + +"rule" "regoli" + +"Identification" "Identificatione" + +"Owner ID" "ID dello proprieta" + +"Has primary key ?" "Chiave primaria ?" + +"Has rules ?" "Regoli definiti ?" + +"Statistics" "Statistica" + +"Number of tuples" "Numero righe" + +"Number of pages" "Numero pagine" + +"Index name" "Nome indici" + +"Index fields" "Campi dello indice" + +"Table OID" "Tabella OID" + +} diff --git a/src/bin/pgaccess/lib/languages/magyar b/src/bin/pgaccess/lib/languages/magyar new file mode 100644 index 0000000000..3293632e61 --- /dev/null +++ b/src/bin/pgaccess/lib/languages/magyar @@ -0,0 +1,525 @@ +array set Messages { + +"Label" "Cimke" + +"Save schema" "Séma mentése" + +"Is unique ?" "Egyedi (UNIQUE) ?" + +"Report builder" "Jelentés szerkesztõ" + +"Criteria" "Feltételek" + +"FATAL ERROR upgrading PgAccess table" "FATÁLIS HIBA keletkezett a PgAccess tábla frissitése közben" + +"Save this query as a view" "Nézetként (VIEW) akarod elmenteni a lekérdezést?" + +"Page header" "Oldal fejléc" + +"Query name" "Lekérdezés név" + +"Please select an object first!" "Elõször válassz egy objektumot!" + +"Fields :" "Mezõk :" + +"Name" "Név" + +"File name" "Fájl név" + +"Detail record" "Részletes bejegyzés" + +"Auto-load the last opened database at startup" "Az utolsóként használt adatbázis automatikus nyitésa inditáskor" + +"Maxvalue" "Maximális érték" + +"Start value" "Kezdõérték" + +"Report fields" "Jelentés mezõk" + +"Test form" "Teszt kérdõiv (FORM)" + +"Error trying to connect to database '%s' on host %s \n\nPostgreSQL error message:%s" "Hiba a(z) '%s' nevû adatbázishoz kapcsolódás közben a(z) '%s' szerveren.\n\nPostgreSQL hibaüzenet:%s" + +"No field type ?" "Nincs a mezõnek tipusa ?" + +"User without name?" "Felhasználó név nélkül ?" + +"You have to supply a name for this schema!" "Nevet kell adj ennek a sémának !" + +"Last value" "Legutóbbi érték" + +"Preferences" "Beállitások" + +"View '%s' already exists!\nOverwrite ?" "A(z) '%s' nevû nézet (VIEW) már létezik!\n Felülirás ?" + +"You have to select an index!" "Választanod kell egy indexet!" + +"Field type" "Mezõtipus" + +"Script name" "Szkript neve" + +"Reload" "Újratölt" + +"Remove table %s from query?" "Törölni akarod a(z) '%s' táblát ebbõl a lekérdezésbõl ?" + +"SQL window" "SQL ablak" + +"Allow user to create other users" "Engedély a felhasználónak új felhasználó készitésére" + +"Delete current record ?" "Az aktuális bejegyzés törlése ?" + +"List box" "Lista" + +"Save to query builder" "Mentsd a lekérdezés szerkesztõbe" + +"fixed width" "fix szélesség" + +"Scripts" "Szkriptek" + +"Yes" "Igen" + +"Add label" "Adj hozzá cimkét" + +"Sequence created!" "A szekvencia (SEQUENCE) elkészült!" + +"Field information" "Mezõ információ" + +"Design" "Tervezés" + +"Field" "Mezõ" + +"You have to supply an external file name!" "Meg kell adj egy külsõ fájlnevet!" + +"Increment" "Növelés" + +"No" "Nem" + +"Form design" "Kérdõiv (FORM) tervezés" + +"You must supply a return type!" "Szükség van visszatérési értékre!" + +"Remove field from result ?" "A mezö törlése az eredménybõl ?" + +"There is another object (a %s) with the same name.\nPlease change it!" "Van már ilyen nevû (%s) objektum!\nLégyszives változtasd meg!" + +"This query has no commands?" "Ebben a lekérdezésben nincs parancs?" + +"Execute query" "Lekérdezés futtatása" + +"field cannot be null" "a mezõ nem lehet NULL" + +"Help" "Súgó" + +"Rename column" "Az oszlop átnevezése" + +"Database" "Adatbázis" + +"Information" "Információ" + +"Close" "Zárás" + +"Command" "Utasitás" + +"Table" "Tábla" + +"verify password" "jelszó ellenõrzés" + +"Vacuum" "Porszivózás (VACUUM)" + +"Default value" "Alapérték" + +"Import" "Behozatal" + +"Delete index" "Index törlés" + +"Move up" "Mozgasd fel" + +"index properties" "index tulajdonságok" + +"check" "ellenõrzi" + +"Create new table" "Új tábla készités" + +"Visual query designer" "Lekérdezés tervezõ" + +"Delete all" "Törölni mindet" + +"You are going to delete\n\n %s \n\nProceed?" "Le fogod törölni az alábbit:\n\n %s \n\nFolytatod?" + +"Schema name" "Séma neve" + +"Error executing query" "Hiba a lekérdezés futtatása közben" + +"Report name" "Jelentés neve" + +"Add field" "Mezõ hozzáadás" + +"Field name" "Mezõnév" + +"FATAL ERROR searching for PgAccess system tables" "FATÁLIS HIBA a PgAccess rendszertáblák keresésénél" + +"A big number of rows displayed in table view will take a lot of memory!" "A nézetnél (VIEW) kijelzendõ sorok nagy száma miatt sok memória fog lefoglalódni !" + +"Preview" "Elõzetes nézet" + +"Users" "Felhasználók" + +"Owner" "Tulajdonos" + +"Form's window internal name" "Kérdõiv (FORM) ablakának belsõ használatú neve" + +"Sort field" "Mezõ rendezése" + +"New name is the same as the old one!" "Az új név megegyezik a régivel!" + +"Warning" "Figyelem" + +"Suggestions at" "Javaslatok itt:" + +"Functions" "Függvények" + +"Schema" "Séma" + +"Open" "Nyit" + +"size" "méret" + +"Delete" "Törlés" + +"Returns" "Visszatér" + +"Define new user" "Új felhasználó definiálása" + +"Move down" "Mozgasd le" + +"Design script" "Szkript tervezés" + +"Check box" "Check box" + +"FINAL WARNING" "UTOLSÓ FIGYELMEZTETÉS" + +"Add table" "Tábla hozzáadás" + +"Table viewer font" "Tábla nézõ betûkészlet" + +"The field type is not specified!" "A mezõ tipusa nincs megadva!" + +"Close test form" "Zárd le a teszt kérdõivet (FORM)" + +"Export table" "Tábla kivitel" + +"Add new index" "Ûj index hozzáadás" + +"Left" "Bal" + +"Field delimiter" "Mezõ határoló" + +"Add formula" "Formula hozzáadás" + +"Open database" "Adatbázis megnyitás" + +"Return" "Visszatérés" + +"Changed fonts may appear in the next working session!" "A megváltoztatott betûkészlet a következõ futtatásnál lesz látható!" + +"Error" "Hiba" + +"Enter a field name" "Adj meg egy mezõnevet !" + +"field name" "Mezõnév" + +"Forms" "Kérdõivek" + +"Cannot add column" "Nem lehet oszlopot hozzáadni" + +"Clean" "Törlés" + +"Delete all objects ?" "Minden objektum törlése ?" + +"Preferred language" "Választott nyelv" + +"Execute SQL" "SQL futtatás" + +"Sequences" "Szekvenciák" + +"Button" "Gomb" + +"Language" "Nyelv" + +"Query '%s' was not found!" "A(z) '%s' nevû lekérdezés nem található!" + +"Object" "Objektum" + +"Font fixed" "Fix betûkészlet" + +"Table name" "Táblanév" + +"Export" "Kivitel" + +"Change user" "Felhasználócsere" + +"You must give object a new name!" "Az objektumnak új nevet kell adjál!" + +"Query" "Lekérdezés" + +"User name" "Felhasználónév" + +"Font normal" "Normális betûkészlet" + +"Import table" "Tábla bevitel" + +"Toolbar" "Eszközpult" + +"Radio btn" "Rádiógomb" + +"You must supply a name for this function!" "Hiányzik a függvény neve!" + +"You have to select index fields!" "Az index mezõket kell választanod!" + +"Constraint" "Kényszer (CONSTRAINT)" + +"The script must have a name" "Hiányzik a szkript neve" + +"Save" "Mentés" + +"Exit" "Kilépés" + +"Inherits" "örökli" + +"Delete field" "Mezõ törlés" + +"About" "A programról" + +"Empty field name ?" "Nom de champ inexistant ?" + +"All report information will be deleted.\n\nProceed ?" "Toutes les informations de l'état vont être détruites\n\nContinuer ?" + +"Host" "Szerver" + +"vacuuming database %s ..." "A(z) %s adatbázis porszivózása ..." + +"Indexes defined" "Definiált indexek" + +"You must specify field size!" "Hiányzik a mezõméret!" + +"Schema '%s' already exists!" "A(z) '%s' schéma már létezik!" + +"There is another field with the same name: '%s'!\n\nReplace it ?" "Már van ilyen nevû mezõ: '%s'!\n\nFelülirás ?" + +"Contents" "Tartalom" + +"Views" "Nézetek" + +"Variable" "Változó" + +"Error executing query\n\n%s\n\nPostgreSQL error message:\n%s\nPostgreSQL status:%s" "Hiba a lekérdezés futtatása közben\n\n%s\n\nPostgreSQL hibaüzenet:\n%s\nPostgreSQL státusz:%s" + +"Filter conditions" "Szûrõfeltételek" + +"Error retrieving query definition" "Hiba a lekérdezés definiciójának betöltésénél" + +"Error deleting view" "Hiba a nézet (VIEW) törlésénél" + +"New" "Új" + +"Tables" "Táblák" + +"Create" "Elkészit" + +"Forms need an internal name, only literals, low case" "A kérdõiveknek (FORM) kell egy belsõ név, csak kisbetûkkel" + +"Do you want to save the form into the database?" "El akarod menteni a kérdõivet (FORM) az adatbázisba ?" + +"Schema '%s' was not found!" "A(z) '%s' nevû séma nem található!" + +"proportional" "megfelelõ" + +"Function saved!" "A függvény elmentve!" + +"with OIDs" "OID-ekkel" + +"Table information" "Tábla információ" + +"Error inserting new record" "Hiba az üj bejegyzés tárolásával" + +"Column name '%s' already exists in this table!" "A(z) '%s' nevû oszlop már létezik ebben a táblában !" + +"File" "Fájl" + +"Your table has no fields!" "A táblában nincsenek mezõk!" + +"Height" "Magasság" + +"You will always get the latest version at:" "A legfrissebb verzió megszerezhetõ innen:" + +"Form must have a name" "Hiányzik a kérdõiv (FORM) neve !" + +"Password" "Jelszó" + +"Valid until (date)" "Érvényes eddig (dátum)" + +"Report source" "A jelentés forrása" + +"Allow user to create databases" "Engedély a felhasználónak új adatbázis készitésére" + +"Cancel" "Mégsem" + +"Is clustered ?" "CLUSTER-elt ?" + +"Add new column" "Új oszlop hozzáadás" + +"Show SQL" "SQL parancsok" + +"New name" "Új név" + +"Table '%s' not found!" "A(z) '%s' nevû tábla nem található!" + +"Form name" "Kérdõiv (FORM) név" + +"Visual designer" "Tervezõ" + +"You choose to delete index\n\n %s \n\nProceed?" "Biztos, hogy akarod törölni az alábbi indexet?\n\n %s" + +"Error retrieving from" "Hiba a betöltésnél errõl a helyrõl" + +"Save query definition" "A lekérdezés elmentése" + +"A Tcl/Tk interface to\nPostgreSQL\nby Constantin Teodorescu" "Egy Tcl/Tk felület a\nPostgreSQL-hez\nKészitette: Constantin Teodorescu" + +"Operation completed!" "Beavatkozás végrehajtva!" + +"Max rows displayed in table/query view" "Maximális sorok száma a tábláknál/lekérdezéseknél" + +"Passwords do not match!" "A jelszók nem egyeznek!" + +"Rename" "Átnevezés" + +"Entry" "Bejegyzés" + +"Error retrieving schema definition" "Hiba a séma-definició betöltése közben" + +"This is an action query!\n\nExecute it?" "Ez nem lekérdezés, hanem parancs.\nFuttatás ?" + +"Error retrieving view definition for" "Hiba a nézet (VIEW) betöltése közben " + +"options" "beállitások" + +"Sequence '%s' not found!" "A(z) '%s' nevû szekvencia nem található!" + +"Text" "Szöveg" + +"Tcl error executing pg_exec %s\n\n%s" "Tcl hiba a pg_exec futtatásánál %s\n\n%s" + +"Width" "Szélesség" + +"You have to supply a name for this query!" "Hiányzik a lekérdezés neve!" + +"Accessing data. Please wait ..." "Adatelérés. Kis türelmet ..." + +"Report footer" "A jelentés alja" + +"Parameters" "Paraméterek" + +"Queries" "Lekérdezések" + +"Query '%s' already exists!" "A(z) '%s' nevû lekérdezés már létezik!" + +"Font bold" "Vastag betûkészlet" + +"Query builder" "Lekérdezés szerkesztõ" + +"Error defining view" "Hiba a nézet (VIEW) definiálásánál" + +"Top" "Csúcs" + +"You must supply a name for your table!" "Hiányzik a tábla neve!" + +"Page footer" "A lap alja" + +"Font italic" "Dõlt betûkészlet" + +"Field name not entered!" "A mezõnév hiányzik!" + +"Index name cannot be null!" "Az index nem lehet NULL!" + +"Sort" "Rendezés" + +"Import-Export table" "Tábla behozatal/kivitel" + +"Point" "Pont" + +"type" "tipus" + +"You should supply a name for this sequence" "Hiányzik a szekvencia neve!" + +"Remove link ?" "A kapcsolat törlése?" + +"You have to supply a table name!" "Hiányzik a tábla neve!" + +"Report header" "Jelentés fejléc" + +"Attributes" "Attribútumok" + +"Table '%s' already in schema" "A(z) '%s' tábla már szerepel a sémában!" + +"Username" "Felhasználó név" + +"Minvalue" "Minimális érték" + +"Sequence name" "Szekvencianév" + +"Define sequence" "Szekvencia definiálás" + +"Function" "Függvény" + +"Sorting and filtering not (yet) available from queries!\n\nPlease enter them in the query definition!" "A rendezés és szûrés (még) nem megoldott a lekérdezéseknél!\n\nHasználd õket a lekérdezés definiciókban!" + +"Reports" "Jelentések" + +"Columns" "Oszlopok" + +"Indexes" "Indexek" + +"Permissions" "Engedélyek" + +"not null" "nem NULL" + +"Cluster index" "Index CLUSTER-elés" + +"index columns" "indexelt oszlopok" + +"Add user" "Felhasználó hozzáadás" + +"Change permissions" "Engedélyek megváltoztatása" + +"select" "olvasás" + +"update" "frissités" + +"insert" "tárolás" + +"rule" "szabályok" + +"Identification" "Azonositás" + +"Owner ID" "Tulajdonos azonositó" + +"Has primary key ?" "Van elsõdleges kulcsa ?" + +"Has rules ?" "Vannak szabályok ?" + +"Statistics" "Statisztika" + +"Number of tuples" "Bejegyzések száma" + +"Number of pages" "Oldalak száma" + +"Index name" "Index név" + +"Index fields" "Index mezõk" + +"Table OID" "Tábla OID" + +} + + diff --git a/src/bin/pgaccess/lib/languages/romana b/src/bin/pgaccess/lib/languages/romana new file mode 100644 index 0000000000..d234ce3b0e --- /dev/null +++ b/src/bin/pgaccess/lib/languages/romana @@ -0,0 +1,526 @@ +array set Messages { + +"Label" "Etichetã" + +"Save schema" "Salveazã planul" + +"Is unique ?" "Este index unic ?" + +"Report builder" "Proiectare rapoarte" + +"Criteria" "Conditie" + +"FATAL ERROR upgrading PgAccess table" "EROARE FATALA la actualizarea tabelei PgAccess" + +"Save this query as a view" "Salveazã aceastã selecþie ca o vedere" + +"Page header" "Cap de paginã" + +"Query name" "Nume selecþie" + +"Please select an object first!" "Selectati mai intai un obiect!" + +"Fields :" "Cîmpurile indexului" + +"Name" "Nume" + +"File name" "Nume fiºier" + +"Detail record" "Înregistrãri" + +"Auto-load the last opened database at startup" "Încarcã automat la lansare ultima bazã deschisã" + +"Maxvalue" "Valoare maximã" + +"Start value" "Începe de la" + +"Report fields" "Câmpuri disponibile" + +"Test form" "Testeazã macheta" + +"Error trying to connect to database '%s' on host %s \n\nPostgreSQL error message:%s" "Eroare la conectarea la baza de date '%s' pe masina %s \n\nMesajul de eroare PostgreSQL:%s" + +"No field type ?" "Tip cimp necompletat!" + +"User without name?" "Utilizatorul asta n-ar si el un nume?" + +"You have to supply a name for this schema!" "Trebuie sa dati un nume acestui plan!" + +"Last value" "Ultima valoare" + +"Preferences" "Preferinþe" + +"View '%s' already exists!\nOverwrite ?" "Vederea '%s' mai exista!\nO suprainscriem ?" + +"You have to select an index!" "Trebuie sa selectati un index!" + +"Field type" "Tip cãmp" + +"Script name" "Nume script" + +"Reload" "Reîncãrcare" + +"Remove table %s from query?" "Eliminati tabela %s din selectie?" + +"SQL window" "Comenzi SQL executate" + +"Allow user to create other users" "Are voie sã creeze alþi utilizatori" + +"Delete current record ?" "Stergeti inregistrarea curenta?" + +"List box" "Listã" + +"Save to query builder" "Salveazã fraza SQL" + +"fixed width" "lãþime fixã" + +"Scripts" "Scripturi" + +"Yes" "Da" + +"Add label" "Adaugã etichetã" + +"Sequence created!" "Secventa a fost creata!" + +"Field information" "Informaþii despre câmpuri" + +"Design" "Proiecteazã" + +"Field" "Cimp" + +"You have to supply an external file name!" "Trebuie sa introduceti numele fisierului extern!" + +"Increment" "Increment" + +"No" "Nu" + +"Form design" "Proiectare machetã" + +"You must supply a return type!" "Trebuie sa introduceti tipul rezultatului" + +"Remove field from result ?" "Eliminati acest cimp din rezultat?" + +"There is another object (a %s) with the same name.\nPlease change it!" "Mai este un obiect (%s) cu acelasi nume!\nSchimbati-l!" + +"This query has no commands?" "Aceasta selectie nu are definitie?" + +"Execute query" "Executã selecþia" + +"field cannot be null" "obligatoriu de completat" + +"Help" "Ajutor" + +"Rename column" "Redenumeºte cîmp" + +"Database" "Baza de date" + +"Information" "Informaþii" + +"Close" "Închide" + +"Command" "Comandã" + +"Table" "Tabela" + +"verify password" "verificã parola" + +"Vacuum" "Taseazã" + +"Default value" "Valoare implicitã" + +"Import" "Importã" + +"Delete index" "ªterge index" + +"Move up" "Urcã" + +"index properties" "proprietãþi index" + +"check" "verificã" + +"Create new table" "Creazã tabelã nouã" + +"Visual query designer" "Proiectare vizuala a selectiilor" + +"Delete all" "ªterge toate" + +"You are going to delete\n\n %s \n\nProceed?" "Urmeaza sa stergeti obiectul\n\n %s \n\nConfirmati?" + +"Schema name" "Numele planului" + +"Error executing query" "Eroare la executia selectiei" + +"Report name" "Nume raport" + +"Add field" "Adaugã-l" + +"Field name" "Nume câmp" + +"FATAL ERROR searching for PgAccess system tables" "EROARE FATALA la citirea tabelelor necesare PgAccess" + +"A big number of rows displayed in table view will take a lot of memory!" "Un numãr mare de înregistrãri încãrcate va lua multã memorie" + +"Preview" "Încercare" + +"Users" "Utilizatori" + +"Owner" "Aparþine lui" + +"Form's window internal name" "Numele intern al machetei" + +"Sort field" "Cîmpuri sortare" + +"New name is the same as the old one!" "Numele nou este acelasi cu numele vechi!" + +"Warning" "Avertisment" + +"Suggestions at" "Sugestii la" + +"Functions" "Funcþii" + +"Schema" "Plan" + +"Open" "Deschide" + +"size" "mãrime" + +"Delete" "ªterge" + +"Returns" "Întoarce" + +"Define new user" "Definire utilizator nou" + +"Move down" "Coboarã" + +"Design script" "Proiecteazã script" + +"Check box" "Marcaj" + +"FINAL WARNING" "AVERTISMENT FINAL" + +"Add table" "Adaugã tabelã" + +"Table viewer font" "Fonturi tabele" + +"The field type is not specified!" "Tipul cimpului nu a fost specificat" + +"Close test form" "Inchide macheta test" + +"Export table" "Exportã tabelã" + +"Add new index" "Adaugã index nou" + +"Left" "Stânga" + +"Field delimiter" "Delimitator cîmp" + +"Add formula" "Adaugã formulã" + +"Open database" "Deschide baza de date" + +"Return" "Selectat" + +"Changed fonts may appear in the next working session!" "Fonturile se vor schimba la urmãtoarea lansare" + +"Error" "Eroare" + +"Enter a field name" "Trebuie sa introduceti numele cimpului" + +"field name" "Nume cîmp" + +"Forms" "Machete" + +"Cannot add column" "Nu putem adauga cimpul" + +"Clean" "Curãþã" + +"Delete all objects ?" "Stergeti toate obiectele?" + +"Preferred language" "Limba preferatã" + +"Execute SQL" "Executã selecþia" + +"Sequences" "Secvenþe" + +"Button" "Buton" + +"Language" "Limbaj" + +"Query '%s' was not found!" "Definitia pentru selectia '%s' nu a fost gasita" + +"Object" "Obiect" + +"Font fixed" "Font fix" + +"Table name" "Nume tabelã" + +"Export" "Exportã" + +"Change user" "Modificare date utilizator" + +"You must give object a new name!" "Trebuie sa introduceti totusi numele nou" + +"Query" "Query" + +"User name" "Nume utilizator" + +"Font normal" "Font normal" + +"Import table" "Importã tabelã" + +"Toolbar" "Scule" + +"Radio btn" "Selector" + +"You must supply a name for this function!" "Trebuie sa introduceti un nume pentru aceasta functie" + +"You have to select index fields!" "Trebuie sa selectati cimpurile indexului!" + +"Constraint" "Cerinþe" + +"The script must have a name" "Script-ul ar trebui sa aiba un nume" + +"Save" "Salveazã" + +"Exit" "Terminare" + +"Inherits" "Strãmoºi" + +"Delete field" "ªterge cîmp" + +"About" "Despre" + +"Empty field name ?" "Nume cimp necompletat" + +"All report information will be deleted.\n\nProceed ?" "Toate obiectele din raport vor fi sterse!\n\nSinteti de acord?" + +"Host" "Maºina" + +"vacuuming database %s ..." "Tasãm baza de date %s ..." + +"Indexes defined" "Indecºi definiþi" + +"You must specify field size!" "Marimea cimpului trebuie specificata" + +"Schema '%s' already exists!" "Schema '%s' exista deja!" + +"There is another field with the same name: '%s'!\n\nReplace it ?" "Mai exista un cimp cu acelasi nume: '%s'!\n\nIl inlocuim cu descrierea noua?" + +"Contents" "Conþinut" + +"Views" "Vederi" + +"Variable" "Variabilã" + +"Error executing query\n\n%s\n\nPostgreSQL error message:\n%s\nPostgreSQL status:%s" "Eroare la executia selectiei:\n\n%s\n\nMesaj de eroare PostgreSQL:\n%s\nStare:%s" + +"Filter conditions" "Condiþii de filtrare" + +"Error retrieving query definition" "Eroare la citirea definitiei pentru selectie" + +"Error deleting view" "Eroare la stergerea vederii" + +"New" "Nou" + +"Tables" "Tabele" + +"Create" "Creazã" + +"Forms need an internal name, only literals, low case" "Machetele au nevoie de un nume intern, doar litere mici" + +"Do you want to save the form into the database?" "Vrei sa salvezi descrierea machetei in baza de date?" + +"Schema '%s' was not found!" "Schema '%s' nu a fost gasita!" + +"proportional" "proporþional" + +"Function saved!" "Functia a fost salvata!" + +"with OIDs" "cu OID-uri" + +"Table information" "Informaþii despre tabela" + +"Error inserting new record" "Eroare la adaugarea noii inregistrari" + +"Column name '%s' already exists in this table!" "Cimpul '%s' exista deja in tabela!" + +"File" "Fiºier" + +"Your table has no fields!" "Tabela asta nu are nici un cimp ?" + +"Height" "Înãlþime" + +"You will always get the latest version at:" "Întotdeauna ultima versiune se va gãsi la" + +"Form must have a name" "Macheta trebuie sa aiba si ea un nume!" + +"Password" "Parolã" + +"Valid until (date)" "Valabil pînã la" + +"Report source" "Sursa raportului" + +"Allow user to create databases" "Are voie sã creeze baze de date" + +"Cancel" "Abandon" + +"Is clustered ?" "E conglomerat ?" + +"Add new column" "Adaugã cîmp nou" + +"Show SQL" "Aratã comanda" + +"New name" "Nume nou" + +"Table '%s' not found!" "Tabela '%s' nu a fost gasita!" + +"Form name" "Nume machetã" + +"Visual designer" "Proiectare vizualã" + +"You choose to delete index\n\n %s \n\nProceed?" "Urmeaza sa stergeti indexul\n\n %s \n\nConfirmati?" + +"Error retrieving from" "Eroare la citirea tabelei" + +"Save query definition" "Salveazã definiþia selecþiei" + +"A Tcl/Tk interface to\nPostgreSQL\nby Constantin Teodorescu" "O interfaþã Tcl/Tk pentru\nPostgreSQL\nde Constantin Teodorescu" + +"Operation completed!" "Operatiune terminata!" + +"Max rows displayed in table/query view" "Numãr maxim înregistrãri afiºate" + +"Passwords do not match!" "Parolele nu se prea potrivesc!" + +"Rename" "Redenumeºte" + +"Entry" "Cîmp" + +"Error retrieving schema definition" "Eroare la citirea definitiei pentru plan" + +"This is an action query!\n\nExecute it?" "Aceasta este o comanda nu o selectie!\n\nO executam?" + +"Error retrieving view definition for" "Eroare la citirea definitiei pentru vederea" + +"options" "opþiuni" + +"Sequence '%s' not found!" "Secventa '%s' nu a fost gasita!" + +"Text" "Text" + +"Tcl error executing pg_exec %s\n\n%s" "Eroare Tcl la executia comenzii %s\n\n%s" + +"Width" "Lãþime" + +"You have to supply a name for this query!" "Trebuie sa dati totusi un nume acestei selectii" + +"Accessing data. Please wait ..." "Citim inregistrarile. Asteptati ..." + +"Report footer" "Încheiere raport" + +"Parameters" "Parametrii" + +"Queries" "Selecþii" + +"Query '%s' already exists!" "Selectia '%s' exista deja!" + +"Font bold" "Font îngroºat" + +"Query builder" "Proiectare selectii" + +"Error defining view" "Eroare la definirea vederii" + +"Top" "Sus" + +"You must supply a name for your table!" "Trebuie sa introduceti un nume pentru aceasta tabela!" + +"Page footer" "Încheiere paginã" + +"Font italic" "Font înclinat" + +"Field name not entered!" "Nu ati introdus numele cimpului!" + +"Index name cannot be null!" "Numele indexului trebuie sa fie completat!" + +"Sort" "Sortare" + +"Import-Export table" "Import/Export tabela" + +"Point" "Selecteazã" + +"type" "tip" + +"You should supply a name for this sequence" "Ar trebui sa dai un nume secventei" + +"Remove link ?" "Stergeti aceasta legatura?" + +"You have to supply a table name!" "Trebuie sa introduceti numele tabelei!" + +"Report header" "Cap de raport" + +"Attributes" "Atribute" + +"Table '%s' already in schema" "Tabela '%s' exista deja pe plan!" + +"Username" "Utilizator" + +"Minvalue" "Valoare minimã" + +"Sequence name" "Nume secvenþã" + +"Define sequence" "Defineºte secvenþã" + +"Function" "Funcþie" + +"Sorting and filtering not (yet) available from queries!\n\nPlease enter them in the query definition!" "Sortari si filtrari nu se pot face din vizualizare selectii\n\nSpecificati-le in definitia selectiei!" + +"Reports" "Rapoarte" + +"primary key" "cheie primarã" + +"Back" "Inapoi" + +"Columns" "Coloane" + +"Indexes" "Indecºi" + +"Permissions" "Drepturi" + +"not null" "nenul" + +"Cluster index" "Aglomereazã indexul" + +"index columns" "compunerea indexului" + +"Add user" "Adaugã utilizator" + +"Change permissions" "Schimbã drepturile de acces" + +"select" "selecþii" + +"update" "actualizãri" + +"insert" "inserãri" + +"rule" "reguli" + +"Identification" "Identificare" + +"Owner ID" "ID-ul proprietarului" + +"Has primary key ?" "Are cheie primarã ?" + +"Has rules ?" "Are reguli definite ?" + +"Statistics" "Statistice" + +"Number of tuples" "Numãr înregistrãri" + +"Number of pages" "Numãr pagini" + +"Index name" "Nume index" + +"Index fields" "Coloanele indexului" + +"Table OID" "OID-ul tabelei" +} -- 2.49.0