From 3848b4648aa436b8b2edba9e4ad65ec050e1b74a Mon Sep 17 00:00:00 2001 From: "Marc G. Fournier" <scrappy@hub.org> 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 zcmZ?wbhEHb6k!lyc+3C-MrVx}{xjUUb7$Yaefs|Xdfnj#4HNe7-w&2VClr6OFfuT3 zFzA3JKxQzo)CipPT)kEOb#&*o1Azq|&uSwJW9E4YWJQTMOqKj$FlS?wzml^;gYk#7 zhKVU<0(|YR6Fbx<TFv*55&DoEx6!|`A&RSZW0F+35YwEaO#;0&2K*1d*8FbwkUA1< n+!Rw&Yf{=C)0r)j)!p4H9NkhJt<o}Ono3Sq&+Pdkf(+IGXun02 literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/doc/html/addindex.gif b/src/bin/pgaccess/doc/html/addindex.gif new file mode 100644 index 0000000000000000000000000000000000000000..2ff0aa2084e9e573fb2a2de07a40a4bac5075282 GIT binary patch literal 11402 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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 00000000000..7630fd2054d --- /dev/null +++ b/src/bin/pgaccess/doc/html/api.html @@ -0,0 +1,232 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.11 i586) [Netscape]"> +</head> +<body bgcolor="#FEFEDF"> + +<h2> +PgAccess developer API</h2> + +<hr> +<br>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. +<p>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 <b>PgAcVar</b> (PgAccess variables) so they +should not interfere with user defined global variables. +<br> +<br> +<p><b><font size=+1>Global variables available</font></b> +<br> +<center><table BORDER=0 WIDTH="100%" NOSAVE > +<tr NOSAVE> +<td ALIGN=LEFT VALIGN=TOP NOSAVE><b>PgAcVar</b></td> + +<td>The main global associative array that hold together various information +needed by PgAccess. User should <b><font color="#FF0000">NOT</font></b> +alter it under any circumstances.</td> +</tr> + +<tr NOSAVE> +<td VALIGN=TOP NOSAVE><b>CurrentDB</b></td> + +<td>The handler of the current opened database. Can be used for database +operations as selects or command execution.</td> +</tr> + +<tr NOSAVE> +<td ALIGN=LEFT VALIGN=TOP NOSAVE><b>Messages</b></td> + +<td NOSAVE>The associative array that holds the translation for the current +language. Loaded from the appropriate language file from lib/languages +directory</td> +</tr> + +<tr NOSAVE> +<td ALIGN=LEFT VALIGN=TOP NOSAVE><b>PGACCESS_HOME</b></td> + +<td>Keep the system directory of PgAccess root installation</td> +</tr> +</table></center> + +<br> +<p><b><font size=+1>Window naming convention</font></b> +<p>Every toplevel window defined by PgAccess has the following naming convention. +Every window name starts with <tt>.pgaw</tt> (PgAccess window) followed +by a colon and a name. <i>Example:</i> +<blockquote><tt>.pgaw:User , .pgaw:About , .pgaw:ImportExport</tt></blockquote> +<b><font size=+1>Namespaces available</font></b> +<p>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: +<ul> +<li> +<tt>new</tt> , no parameter needed</li> + +<li> +<tt>open</tt> , need a single parameter, the object name</li> + +<li> +<tt>design</tt> , need a single parameter, the object name</li> +</ul> +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. +<br><i>Example:</i> +<blockquote><tt>Tables::open "customers"</tt> +<br><tt>Queries::open "Invoices received"</tt> +<br><tt>Forms::open "Add new invoice"</tt></blockquote> +The <tt>Tables::open</tt> procedure accepts two optional parameters, filter +and order. +<br><i>Example:</i> +<blockquote><tt>Tables::open "phonebook" "name ~* 'joe'" "age desc"</tt></blockquote> +will open a table view window with predefined filter "name ~* 'joe'" and +ordered by descending age. +<p>There is also a special namespace called Database. Here are some +procedures and functions defined for this namespace available to the user: +<br> +<table BORDER NOSAVE > +<tr BGCOLOR="#FFCCFF" NOSAVE> +<td NOSAVE><b>Name</b></td> + +<td NOSAVE><b>Parameters</b></td> + +<td><b>Type</b></td> + +<td><b>Returns</b></td> + +<td NOSAVE><b>Description</b></td> +</tr> + +<tr> +<td><b>vacuum</b></td> + +<td>none</td> + +<td>procedure</td> + +<td>nothing</td> + +<td>vacuums the current database</td> +</tr> + +<tr ALIGN=LEFT VALIGN=TOP NOSAVE> +<td><b>getTablesList</b></td> + +<td>none</td> + +<td>function</td> + +<td>list</td> + +<td NOSAVE>returns the list of tables from the current database</td> +</tr> + +<tr ALIGN=LEFT VALIGN=TOP NOSAVE> +<td><b>executeUpdate</b></td> + +<td>sqlcmd</td> + +<td>function</td> + +<td>integer</td> + +<td NOSAVE>execute the sqlcmd command on the current database returning +1 if no errors ocurred or 0 if the command failed</td> +</tr> +</table> + +<p><b><font size=+1>Global functions available</font></b> +<br> +<table BORDER NOSAVE > +<tr BGCOLOR="#99FFCC" NOSAVE> +<td><b>Name</b></td> + +<td><b>Parameters</b></td> + +<td NOSAVE><b>Description</b></td> +</tr> + +<tr ALIGN=LEFT VALIGN=TOP NOSAVE> +<td><b>setCursor</b></td> + +<td>type</td> + +<td NOSAVE>Set 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</td> +</tr> + +<tr ALIGN=LEFT VALIGN=TOP NOSAVE> +<td><b>parameter</b></td> + +<td>msg</td> + +<td NOSAVE>Shows a modal input dialog with the msg message, wait for user +to enter the data and returns it as a string</td> +</tr> + +<tr> +<td><b>showError</b></td> + +<td>msg</td> + +<td>Shows a modal dialog window with an error message</td> +</tr> + +<tr> +<td></td> + +<td></td> + +<td></td> +</tr> + +<tr> +<td></td> + +<td></td> + +<td></td> +</tr> + +<tr> +<td></td> + +<td></td> + +<td></td> +</tr> + +<tr> +<td></td> + +<td></td> + +<td></td> +</tr> + +<tr> +<td></td> + +<td></td> + +<td></td> +</tr> + +<tr> +<td></td> + +<td></td> + +<td></td> +</tr> +</table> + +</body> +</html> 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?wbhEHb<Y3@oIP#z2z<~p2&YVd*Gc#>wn(@puhMC3;X+Xrl;KK0k-MhPY@9y5c zd)2B{KxO6S<)NXWN=ix$qyWXAEQ}!aIv@gMrvt05f<j-Ck<5w18c#Q=r0D3m1jz8l gXm#oRU)<6VAhCg=+vy-fri>^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 00000000000..971f3f43dce --- /dev/null +++ b/src/bin/pgaccess/doc/html/contents.html @@ -0,0 +1,29 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.11 i586) [Netscape]"> + <base target="right"> +</head> +<body bgcolor="#00FFFF"> +<img SRC="ball.gif" ><a href="main.html">What is PgAccess?</a> +<br><img SRC="ball.gif" ><a href="whatsnew.html">What's new?</a> +<br><img SRC="ball.gif" ><a href="features.html">Features</a> +<br><img SRC="ball.gif" ><a href="screenshots.html">Screenshots</a> +<br><img SRC="ball.gif" ><a href="faq.html">FAQ</a> +<br><img SRC="ball.gif" ><a href="documentation.html">Documentation</a> +<br><img SRC="ball.gif" ><a href="todo.html">To-Do list</a> +<br><img SRC="ball.gif" ><a href="download.html">Download</a> +<br> +<p><br> +<center> +<p><a href="http://www.linux.org"><img SRC="linux1.gif" BORDER=0 ></a></center> + +<p><b>Other links</b> +<br><img SRC="ball.gif" ><a href="http://www.postgresql.org">PostgreSQL</a> +<br><img SRC="ball.gif" ><a href="http://www.neuron.com/stewart/vtcl/index.html">Visual Tcl</a> +<br><img SRC="ball.gif" ><a href="http://www.scriptics.com">Tcl/Tk</a> +<br><img SRC="ball.gif" ><a href="http://www.linux.org">Linux</a> +<br><img SRC="ball.gif" ><a href="http://www.java.ro/vtclava/index.html">vTcLava</a> +</body> +</html> diff --git a/src/bin/pgaccess/doc/html/copyright.html b/src/bin/pgaccess/doc/html/copyright.html new file mode 100644 index 00000000000..d67654b88e7 --- /dev/null +++ b/src/bin/pgaccess/doc/html/copyright.html @@ -0,0 +1,39 @@ +<HTML> +<HEAD> + <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> + <META NAME="GENERATOR" CONTENT="Mozilla/4.03 [en] (X11; I; Linux 2.0.30 i586) [Netscape]"> + <TITLE>PgAccess - Copyright notice</TITLE> +</HEAD> +<BODY BGCOLOR="#FFFFFF"> +<TT>---------------------------------------------------------------------------</TT> +<BR><TT></TT> +<BR><TT></TT> <TT></TT> + +<P><TT>Copyright (c) 1994-7 Regents of the University of California</TT><TT></TT> + +<P><TT>Permission to use, copy, modify, and distribute this software and +its</TT> +<BR><TT>documentation for any purpose, without fee, and without a written +agreement</TT> +<BR><TT>is hereby granted, provided that the above copyright notice and +this</TT> +<BR><TT>paragraph and the following two paragraphs appear in all copies.</TT><TT></TT> + +<P><TT>IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY +PARTY FOR</TT> +<BR><TT>DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, +INCLUDING</TT> +<BR><TT>LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS</TT> +<BR><TT>DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED +OF THE</TT> +<BR><TT>POSSIBILITY OF SUCH DAMAGE.</TT><TT></TT> + +<P><TT>THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,</TT> +<BR><TT>INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY</TT> +<BR><TT>AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER +IS</TT> +<BR><TT>ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS +TO</TT> +<BR><TT>PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.</TT> +</BODY> +</HTML> diff --git a/src/bin/pgaccess/doc/html/documentation.html b/src/bin/pgaccess/doc/html/documentation.html new file mode 100644 index 00000000000..48d3fa5ec14 --- /dev/null +++ b/src/bin/pgaccess/doc/html/documentation.html @@ -0,0 +1,19 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.11 i586) [Netscape]"> +</head> +<body bgcolor="#FEFEDF"> + +<h2> +Documentation</h2> + +<hr WIDTH="100%"> +<p>Still need to be written. Some information can be found in the help +included in the main program. +<p>Jim Lemon <Jim.Lemon@uts.EDU.AU> has started writing a <a href="tutorial/index.html">tutorial</a>. +Thought it is based on earlier versions than 0.98 it is a beginning after +all, isn't it ? +</body> +</html> diff --git a/src/bin/pgaccess/doc/html/download.html b/src/bin/pgaccess/doc/html/download.html new file mode 100644 index 00000000000..efbe7bf50aa --- /dev/null +++ b/src/bin/pgaccess/doc/html/download.html @@ -0,0 +1,42 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.11 i586) [Netscape]"> +</head> +<body bgcolor="#FEFEDF"> + +<h2> +Download</h2> + +<hr> +<br>The primary site for PgAccess downloads is: +<ul><a href="ftp://ftp.flex.ro/pub/pgaccess">ftp://ftp.flex.ro/pub/pgaccess</a> +<ul> +<li> +<a href="ftp://ftp.flex.ro/pub/pgaccess/pgaccess-0.98.tar.gz">Unix tar.gz +file</a></li> + +<li> +<a href="ftp://ftp.flex.ro/pub/pgaccess/pgaccess-0.98.zip">Windows .zip +file</a></li> +</ul> +</ul> + +<p>Another one (just with a little bit faster, try this one first) would +be : +<ul><a href="ftp://speedy.flex.ro/pub/pgaccess">ftp://speedy.flex.ro/pub/pgaccess</a> +<ul> +<li> +<a href="ftp://speedy.flex.ro/pub/pgaccess/pgaccess-0.98.tar.gz">Unix tar.gz +file</a></li> + +<li> +<a href="ftp://speedy.flex.ro/pub/pgaccess/pgaccess-0.98.zip">Windows .zip +file</a></li> +</ul> +</ul> + +<br> +</body> +</html> diff --git a/src/bin/pgaccess/doc/html/faq.html b/src/bin/pgaccess/doc/html/faq.html new file mode 100644 index 00000000000..f66dd8321ac --- /dev/null +++ b/src/bin/pgaccess/doc/html/faq.html @@ -0,0 +1,85 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.12 i586) [Netscape]"> +</head> +<body bgcolor="#FEFEDF"> + +<h2> +PgAccess - FAQ</h2> + +<hr> +<br><b>1. When I run PgAccess I got a message complaining about the crypt +library! What should I do?</b> +<blockquote>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.</blockquote> +<b>2. I cannot connect to a database from another machine</b> +<blockquote>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.</blockquote> +<b>3. I am experiencing core dumps when trying to run PgAccess. Is PgAccess +broken?</b> +<blockquote>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.</blockquote> +<b>4. When I try to run PgAccess I get the following error : Application +initialization failed: couldn't connect to display ""</b> +<blockquote>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 <tt>export DISPLAY=localhost:0.0</tt> +and run PgAccess again.</blockquote> +<b>5. Cannot run PgAccess on a Windows machine.</b> +<blockquote>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.</blockquote> +<b>6. How much costs PgAccess?</b> +<blockquote>PgAccess is a free tool. You won't have to pay anything in +order to use it. It is protected by the following <a href="copyright.html">copyright</a> +as PostgreSQL is. I cannot guarantee technical support but I will try to +answer to your questions as much as I can.</blockquote> +<b>7. I want to translate PgAccess messages for xxx language. What should +I do?</b> +<blockquote>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.</blockquote> + +<p><br><b>8. I am receiving the following error: <tt>message invalid command +name "namespace" while executing "namespace eval Mainlib</tt> ..."</b> +<blockquote>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</blockquote> + +<br> +<br> +<br> +</body> +</html> diff --git a/src/bin/pgaccess/doc/html/features.html b/src/bin/pgaccess/doc/html/features.html new file mode 100644 index 00000000000..4531663be38 --- /dev/null +++ b/src/bin/pgaccess/doc/html/features.html @@ -0,0 +1,52 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.11 i586) [Netscape]"> +</head> +<body bgcolor="#FEFEDF"> +<b>Tables</b> +<br>- opening multiple tables for viewing, max. n records (changed by preferences +menu) +<br>- column resizing, dragging the vertical grid line (better in table +space rather than in the table header) +<br>- text wrap in cells - layout saved for every table +<br>- import/export to external files (SDF,CSV) +<br>- filter capabilities (enter filter like (price>3.14) +<br>- sort order capabilities (enter manually the sort field(s)) +<br>- editing in place +<br>- improved table generator assistant +<br>- improved field editing +<br><b>Queries</b> +<br>- define , edit and stores "user defined queries" +<br>- store queries as views +<br>- execution of queries with optional user input parameters ( select +* from invoices where year=[parameter "Year of selection"] ) +<br>- viewing of select type queries result +<br>- query deleting and renaming +<br>- 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 <a href="qbtclet.html">clicking here</a> +<br><b>Sequences</b> +<br>- defines sequences, delete them and inspect them +<br><b>Functions</b> +<br>- define, inspect and delete functions in SQL, plpgsql and pgtcl languages +<br><b>Reports</b> +<br>- design and display simple reports from tables +<br>- fields and labels, font changing, style and size +<br>- saves and loads report description from database +<br>- show report previews, sample postscript output file +<br><b>Forms</b> +<br>- open user defined forms +<br>- form design module available +<br>- query widget available, controls bound to query results +<br>- <a href="forms.html">click here</a> for a description of forms and +how they can be used +<br><b>Scripts</b> +<br>- define, modify and call user defined scripts +<br><b>Users</b> +<br>- define and modify user information +<p><b><a href="api.html">PgAccess API</a></b> for developing small applications +<br> +</body> +</html> diff --git a/src/bin/pgaccess/doc/html/formdemo.sql b/src/bin/pgaccess/doc/html/formdemo.sql new file mode 100644 index 00000000000..73bf1c5027f --- /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 <ButtonRelease-1> {\ +\ 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 <ButtonRelease-1> {\ +\ 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 00000000000..57ecff52fcb --- /dev/null +++ b/src/bin/pgaccess/doc/html/forms.html @@ -0,0 +1,203 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.11 i586) [Netscape]"> +</head> +<body text="#000000" bgcolor="#FEFEDF" link="#0000EF" vlink="#51188E" alink="#FF0000"> + +<h1> +FORMS</h1> + +<hr WIDTH="100%"> +<p>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. +<p>For the moment, it has only some basic widgets : labels, entries, buttons +, listboxes , checkboxes and radiobuttons. +<p>Also there is a pseudo data control widget that allows you yo have access +to a query results. +<p><b>How do you generate widgets :</b> +<ol> +<li> +select a widget from the toolbox by clicking the appropriate radiobutton</li> + +<li> +move to the canvas , point with the mouse at the desired location and click +the mouse button to begin</li> + +<li> +keeping the mouse-button pressed move the mouse in order to draw a rectangle +that will hold the widget</li> + +<li> +release the mouse-button</li> +</ol> +In the rectangle that you have designed it will appear the selected object. +<br>Move now to the attribute window to change some of its properties. +<p>Renaming, resizing items are possible (for the moment) only by modifying +appropriate parameters in attribute window. You <b>must </b>press Enter +in the edit field after changing a value in order to be accepted. +<p>You can also move items by dragging them or delete them by pressing +Del key after selecting them. +<p>In attribute window, there are some fields named <b><tt><font size=+1>Command +</font></tt></b>and +<b><tt><font size=+1>Variable</font></tt></b>. +<p>The field <b><tt><font size=+1>Command </font></tt></b>have meaning +only for Button widgets and holds the command that will be invoked when +the button is pressed. +<p> The field <b><tt><font size=+1>Variable </font></tt></b>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 <b>t</b> and <b>f</b> (from +true and false) in order to simplify binding to logical data fields (PgAccess +0.82 used 0 and 1). +<p> 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. +<p> In order to make a simple test, put an entry field +and set it's variable to <b>v1</b> 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. +<br>Another test is defining in Script module a script called "My first +script" having the following commands: +<br><tt><font size=+1>tk_messageBox -title Warning -message "This is my +first message!"</font></tt> +<br>and then define a button who's command is <b><tt><font size=+1>execute_script +"My first script"</font></tt></b>. +<br> +<h2> +Database manipulation</h2> +Let's presume that our form have the internal name <b><tt>mf </tt></b>(<b>m</b>y +<b>f</b>orm). Don't forget that the Tk window names could not start with +an uppercase letter. +<br>The window will be referred inside the Tcl/Tk source as <b><tt>.mf</tt></b> +<br>If you want to close the form in run-time you have to issue the command +<b><tt>destroy +.mf</tt></b> +<p>Also, any widget created inside this window (form) will have the name +prefixed by <b><tt>.mf ,</tt></b>so we will have <b><tt>.mf.button1</tt></b> +or <b><tt>.mf.listbox1</tt></b> . +<p>We can name the data control widget <b><tt>dc</tt></b> for example. +The fully qualified name for that "virtual widget" will be <b><tt>.mf.dc</tt></b> +then. A new namespace called <b><tt>DataControl(.mf.dc)</tt></b> will be +automatically defined. +<br>The <b><tt>Command </tt></b>property of the data control widget must +contain the SQL command that will be executed. +<br>When the form will be in run-time, automatically you will have access +to the following procedures and functions from the namespace: +<p><b><tt>open</tt></b> - opens the connection and execute the query (returns +nothing) +<br><b><tt>setSQL newsql</tt></b> - set the command query that will be +executed at the next <b><tt>open</tt></b> +<br><b><tt>getRowCount</tt></b> - returns the number of records of the +result set +<br><b><tt>getRowIndex </tt></b>- returns the current record number inside +the result set +<br><b><tt>getFieldList</tt></b> - returns a Tcl list containing the fields +names from the current result set +<br><b><tt>moveFirst</tt></b> - move the cursor to the first record in +the recordset +<br><b><tt>moveLast</tt></b><tt> , <b>moveNext</b> , <b>movePrevious</b></tt>- +moves the cursor there +<br><b><tt>moveTo newrecno</tt></b> - move the cursor to that new record +number (first is 0) +<br><b><tt>updateDataSet</tt></b> - update the variables inside the designed +form that have a particular name (I'll explain later) +<br><b><tt>clearDataSet</tt></b> - clear the associated DataSet variables +<br><tt><b>fill listbox field</b> </tt>- fill the named listbox (whole +widget name as <b><tt>.mf.listbox1</tt></b>) with the all the values of +that field from the current result set +<br><b><tt>close</tt></b> - close the result set (<b><font color="#FF0000">if +you don't close it, you will loose some memory</font></b>) +<p>These procedures and functions should be called in the normal Tcl namespace +mode as in the following example: +<p><tt>DataControl(.mf.dc)::setSQL "select * from phonebook"</tt> +<br><tt>DataControl(.mf.dc)::open</tt> +<br><tt>set nrecs [DataControl(.mf.dc)::getRowCount]</tt> +<p>If you complaint about writting to many DataControl(...) you can include +many commands into a single namespace eval as in the following example +: +<p><tt>namespace eval DataControl(.mf.dc) {</tt> +<br><tt> setSQL "select * from phonebook"</tt> +<br><tt> open</tt> +<br><tt> set nrecs [getRowCount]</tt> +<br><tt> moveLast</tt> +<br><tt> updateDataSet</tt> +<br><tt>}</tt> +<p>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. +<br>Opening a new <b>DataControl</b> 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 <b>DataSet</b> 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. +<p><i>Example:</i> +<br><tt>DataSet(.mf.dc,name)</tt> +<br><tt>DataSet(.mf.dc,city)</tt> +<p>If you want to bound some controls to the fields of the recordset, you +will have to name their associate variable like that : +<p><b><tt>DataSet(.mf.dc,salary)</tt></b> to get the "salary" field , or +<b><tt>DataSet(.mf.dc,name)</tt></b> to get the "name" field. Using the +data control procedures <b><tt>DataControl(.mf.dc)::moveNext</tt></b> or +movePrevious will automatically update the <b><tt>DataSet(.mf.dc,...)</tt></b> +array so the database information from entries in the form will be refreshed. +<br> +<p>Here it is a dumped <b><a href="formdemo.sql">sample database</a></b> +that contains a demo database. What should you do ? +<br>Shift-click the above URL in order to download that tiny file (4 Kb). +Create a empty database and <b><tt>psql yourdatabase <formdemo.sql</tt></b> +<p>You should find a single table called "phonebook" a form called "Phone +book" and another "A simple demo form". +<p>First of all enter and view the phonebook table in table view. Note +the fields and their values. +<br>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. +<p>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. +<p><font color="#000080">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 <b>no live connection</b> 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.</font> +<p>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. +<p>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 ) +<p> +<hr WIDTH="25%"> +<p>Please feel free to send me your opinion at <b>teo@flex.ro</b> on forms +designing and usage. +<p><b><font size=+1>KEEP IN MIND ! +THE FORM API MAY CHANGE IN ORDER TO BE MORE SIMPLE AND BETTER!</font></b> +<br><b><font size=+1>SEND ME YOUR WISHES, YOUR IDEAS, YOUR OPINIONS !</font></b> +<br><b><font size=+1>ALSO ... DON'T BLAME ME IF YOU WILL HAVE TO RE-DESIGN +YOUR OLD FORMS DUE TO SOME INCOMPATIBILITIES WITH NEWER PGACCESS VERSIONS.</font></b> +</body> +</html> 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 zcmV+>C)wCXNk%v~Vdw#H0mJ|R-rn8-008#(_CZ8J#lpn^0DAxca{vHp003eD09pV5 zQUCx-002P%0672vF#rH5001BW02lxO5C8xO|NsAUadV`hq~6-zoSB@1fr9`500000 z000000000000000EC2ui0O$d50YC-+ARvxpX`X1Ru59bRa4gSsZQppV?|kpu0f2x& zEE<o<B(YLCHjjgXv_Pp^r`T-4!0mRcT(Gx$D4Wmdv>Cx}yWenjVotBy?{kHI&+q&9 z3xR@zgoS|&h>41ejEN18kdcy;j}DfXn3<ZE51pQ$prM`+q@|{(sH73AtgWuEs}i!a zw6(Ug6S=y(yuG;rz`?@9!~sJ}$VwDU%*{{8%g;s8NCQE~$=OLvPSsddS>WOnQesvV zUSQ@{VH9OmYVm7v^l^Ci_ka5PhW-7G00UAQIB=6egQ5~DOvR8PtcMS8Nu21bV#Q(@ zi(%82ZP~eV(v)$VHWJD;A{SEss$9vkrOTHvW6GRKv!>0PICJXU$+M@=pFo2O9ZIyQ zO(NEWpfs8j*vbG*S7P``H2~GCR;*&(N<k~vuVBN99ZQx1PpB%<M!ldG=hU)Wy~5=x z7g$-XUgd^edlTtN0(=Aad^@+W;lqd%gB8peCSk>J^+tyLwXsaUN&#Em%(=7Y&!9t# z9=#UxG19|gw)Oc|a$L%=W6S1xmh{ZWA6*~TJv%mO(@RCSRU0fVTBpa;Do^QDWox{4 zyPmTey|?x2htCQ#4z>Gow%(bC2Ol0e_n57_=B+}#F7>SLrOU@Y`!|84r)}%s&%eL_ z{{VId903`0HC0_=RY%|df($n3;DZoGDB*;NL6rd#W?gthh7=4~U;qcMr<ZH%sW%^c z6sD-+iY&J1;)`=xNQ7B0X~?062JU7ed({b3;g0I%6%3Df0qG-;Fea(wl1w%kmW4FR zRNw^#;s~OX4f2NNmRxq}rEE~rG-Z|d{q-SklNE_#Y?75IottoeDd(JY)_E6|QN}c8 zhh=7VCY#o^c~@41+G*&ah<+L7OnX|1=46G=He!#Io*3Pb@FlA0rkql^sFXMMdCZ?b zP8VpT@2z<vke#;b>Z@7eDQ2kn5kV@fxaO+su9SVMC#`1YSn8@^MoK7xye6ycvS9fN zQ=_8VDy){wR%`A5wQ@RJBd~r7OBS`*hAZy4*J<k#w6zlGZH&hnJJx$7zDe%9^uB6t zOXvoBC7TL<+wXM$)+_M9bKc8RzTNJtqq~EudMT>l5-jn=DH^;I!lSMm8Kyy^81S1y zhOAqUtmcL($CgrR*DzQec{0Z;U;6OJSNSMnsty-=WXd9g3?H&BzZ@{j9S1q|$wtad ztj8e}DRad0K}Yh>OlR8iu`tiv^pmnO%5BC9Q;a3lVvlXD#VTPeZP*UR8Ryj=qx$pE z?Z%z+-BHU8x4d>QjW^D4?p&4JM5p?8-tq1Y_|k`q?B?KoFHSJpDXFb4+iic_>w{#& z*7;YTD;9eHVx#ZPxz(x;TeIe@=hii-cse?vn)0E%Bg#+rTq4qIu3VVy0Mo8GktP#w z_0Bfy{BZ9$-$gU;uQ5NV@kkmyciu(s-n{dVQ|r6-G+PRA?JB2EeO9mk8hf;tKZ<zW z*z4_cT!O=IK5sWi9{u}O=SDdElB<g2RyRF{5e{gJd))ubmopK`?{6hrT>}AFHW_h* z0AE|1`^v__4vNi!9LZq&lms*hx+`Lh1KqoX=f4S>ih&-Cp{J;HK@6@hUAL0q>FA=v z9?nohA-ti!HfX2P?XOEl^q~^pMZ*h<Fo#TXp#Dsk#3fqsS|HTM6E$|KnpN?NU<@N& znixd?GU1Smt#hH@;+H^(iSdnZ%wk7`m@py+Z)@$jTKSw7G_29@X)mOn&FXhI<OT0~ zc|4!Va%V!R1ukZMB-$d2v`60s4Um!aBOY((vghT`Xz<cq(nf~0N{-S+a!ke+F$c$1 zx^iqZWR&HgXc#H-?SG*hQsW3Izr(4~X{20WFI&jJKR&N^Jk*~8)woPy1~7%gvnBox zsLMuDP?~)N=4(b|z(8V?J!A|Hm4IkNGX^UI=uD?N*U8Ryy7QgzjHf*3NzZ!P^Pc$3 zr#|<|&wl#zp8yT0KnF@tdGaY;0ZOPsQ<A68WPqUwedt0b`kw(&^rHJ|XiHXe9_D=i zr#MoAsA^yWQnrBSDa{cNaYBmGmX5}vE{&;YG};-7(sVx(m8niGLj(Z~ATv7+s!)eY z)S^bEr$60D4VQ|H0XX%kP>rfor%KhTTJ@?}&8k+n%GIuV^{ZeFt60ZM*0P#atV(67 zTGyI{bQyt9N(c!7EI`+~R=@%jz$;$m8igr*gbL&UtY86a05PNk9fd{5IuiR1cgQ0i z^@yw+@Il!+?BlY1@P}px5s=O<f*_!c#6d=j35A#z6b(tODImhyR!rozwXle6caf3W z1|zK-B7j^mwA*FWFdDlpf?L^2+`ekzxX2xYa+f=X$2xZ&l8tO-r;FL@Dqyq!*!8S- z84%j;lJ>i&4etX~OWxL+7q;k?z--rRTifE6xbR&nLXBDzJHGO!M71xr>@#2CD2F&8 zO^!*)lT!4cPEC(Qur}egJH2&JXWg7oZCtXQ0jpHN7_RVfG>lTI*w1AQOE3&+M@a*c z7;k0a?_cO!-}_dE#m<?Sih&AanPA|?IL@(-cg*7+`}oH|4ziGkOynZ>xW*|lvXYm~ z<R%Y!#`zIWg)NNX<*d}B7LGA89o9@8PWUAP9`Kc~{1hyU`8zF1Pwxr|VQ<0^OHdXk zlGE&B+8|lK*NXGy+RNuY`}xm+4z!>LP3S@!`p}3@w4xWy=tes_(K<2zXB~}HOgHxr z#dXfKrol<hhIX2cV8ipKM@?$TK#88K6txNOx4A&Fx^I{+wXBPnzGtPHOM+@$muJmu zB-VOcpw^)0irDL7`+7=V3-$<W*=9*Wu9(m?wzRiIIax_M)TAS3vC=s0Zr7>WvqWRV zBAo44$FF+cPB$!(4ZCX#yO#C);v}WkK;+3=-S{roug`UBUEMq10GHIh@zw8}RTF}5 z4!FYU1@3;csF}N7xWt>(aAngHQr7#Og7%2+iF=%c13#F<*|lb4#%p_V6Vk_5o}`Mq zd)X|H`4wG$&>^bMmZn=33Li*7Yq~nZIA<d<gRVIT29R&jZsX7Y6RyB%BAkjtmsjF$ z>B|IdS?I6^y43Bb^E<IyeJ{T_gF08mf9L$!t6tdIlc~CKlaTFgXL!gjHgX7=olbX$ z`>yh?!aCDjb`f&hFh{IyXm35@PqL=>DERcBb5ogHPdMABj`FA{J?)RD`r*mV!xF9$ zo4XeL(<@J+xu>n}X(#;Bv4ePSquuTA8vF8Q$L!aeJ4SpbS1O@l@pa99dsP?xZZ^Jp z<rzMDL8pA(EQ$1cLyv`)kG_c@&Uon$ewaIF=D8)ddu8;Vl`4WH0k@X%c^glXwnsjR z25HLh$$WC*oMYI<{r>t_F#f9izN#sH_4NbKZlQNXptMH+mbQKN$9?$6d-Df=-*!Z~ zcYq7meMx|NOY(et<VDNmeh_$o5{M!Cr*?^SbWsO+T(*HG$a)FreG9mMC)k3#(t#WD zfmSC>IhT2p$9bf8LaApeCk8>u*LPjlb6A%;L`Q(0XLO8nP0<H0BWQp=H-x`LfSZ?f zHrOIC_*ODFY-0x~U4(1@Qg*f1Y6AE>dbc3C2RzW1eq#hgHDV)Ks42wYf{9Xja42x( zR0QbcfiE{_eAtJ6_=kE1h=QmR_+=S36;Xqjh%l9ie^`iF7G^6&W{e_IBn4(xc8M&( zQ5<zJj3|f#@QDIIW1ZNCj>s5?7$7+{ihPJvnGs+AuK0?u7>lwvi?mpaws?!Un2Wl& zix=cmOXX9o$cw@_jKo-s#(0d#n2gG}j7l(E!)RQ{6^&ECT-2ys&-Gl<C0Wx|S=NPF z*tJ>P<yqYoTHi%l;&oc&rCR3ITImH_>or@2_Fl}`RDU6h6;K7t;9F4e4S`h-fi(_- z)eh^R4v2LQ?Qj6_aE)k?jncJ^_|T1)^^KYpj-54*pjD2eb&jT$j;XbdtksUM^^UR? zkFcnZ8xmY6`2^I^R`nQ*cjXLx#g8&6Sl~cdhV=ynsaQG5SP1D@3RwmWSq~2RkPxX4 z66p^VDG(M}5EzLN8krCr*$^HH5g<tsB6$)2geH$nWs+}&k}0{8EE$Z?D2-$(1=V<# zT=0|f5R~*Vl=)DUe{hulkd%$EluX%_n(&lR8I`Fpl@U>uw{VqMIcQqRi(J{2)zFgj zxR{LDn2!0FkQteb*<Y$ynU;B(ez=H&$bw-sXPlWVfjAoD0g2*qQlxnsC8uB|w`Dyj zLE2M2EYyRu$0A>LW?0r7W7Zwzfr+_!n_AXj%u`6JNj{LXJVgi{t0{R{5t{yG9A;K! zwwYy)k(#L~o2%(`$cc5a*=!G37`6FP&&iv<Ii6#Ni5Kt~2!wFJd37(eo~j3&M#P+( z$!ne|V=u)%n3<pYxt~I%nf&>m02-kG{NbN}_?cH!pAsXVpfMaBRUGB%9R*fkAwq9F z)19EX6Ps94y4hi;Ngf>9Q7@4mQ<F$YqH>v%hH!SDl)0c~CY{mQp{t=5YL;s#Dns8% zW#NgVI$ECNX=7}LJx%wcU!tG|N}rn{i8FzuKKgmj1}+v#A4DpkQaYtn8W<i@P*|F! zTDqlN+NEClrC=JSVj8A^Cx>PlF1vS!GxC9+SB7W$riv1OQF4d3Mlvj;d{oFwaJr|Q zLq;?OM0Luif|@Hb;)oYQfywfugQ{szG8S)$aZ#vtQTT((xu_HOckCl}Gk8cB7=~1H zfzWe39cQT?hpA`8fGwvqY4m^pq`GpZYI9*If}+!;)#o1Z(W)Q!s*^S>tp}+-h;F-t ztGQ}=m4m3ldaSrctkza@yGn*kqk$Vke4lDPcj`vS8iC3hZm61gz3Qw5_)I)^t=Rf? zw)UuJBd!vstJv0d5BNEXims!kuJ0zPQV4>ERDAF%bMgvvgqpAKx38KSd$BgFuII1% znytnvu$%{i5Z0y!8*>0lfBrInl0u=~W1<gRst7BCqw}sAE36T_FQC^;HTtn8TQeKG zf|GiE9(%H98nOoJvNHQSDa)+u>aFbot*)6kl`^vs2(v%ZniI=7CF`>XORm7CvSOGe zM!SJPtA)-=Hxbmd_4l;@%ocIzcRXHHsZ^`6NXu{LswiDswKZF&-b#B=yQywEbzIAO z1?#D%28284w&enQZt6K@o2e3;cr=K4TsJ(b$FhIRq$Id~!l$<H1Flmfbd>6Zk@|#K z>v-*wgNs{r(ImKR>px6bxC2`id3&lct8=rNdRg-^7AQa*SGuA)s-h}1<OiFh%etNV zJ;qW(mZZ8RN-Qt~I=SRM6pA|9)+WE_bGCy?vRk``V@iv(O~MI%tm?U6OK@S!w214g z{35r7N3Uu)w_{kZ*`%;>d$-<Oz4KzVJ9IlxSUj57cn4Iug4?->Q({b~wU-CDAaii* z%ec9wcz!f=t!cUc?VG;>W4=4|O@y1j5Qkt&H#Nj5oRWu}2JD)(YGUa*zrp#duQ$99 z47uT|B^$iB1N^zLI<_QSAtKzY=S!ll`@5*?Nago3QS-dw`>7<Vxp>q`_~W`StTa7i zy{LO>HcZ1fY)p}ayUeGjPjZBGQBC5<!7t3IDqMQeD{|9IAHoN~dSrbm=eXe8x3n5< z%@TySw8h=pgl@KY?%TFwTxnA{zUFs()+ejA+ke=%g9Kc{c>FDRf@)Q4Vtm^hxPz~D zE69Kh$X}?&&UUs7>&9ybMprlu(`#@?tb>nxN7EFfmkYv8n6u3Ht%lcSF>}dgti_+~ z$C_Mk_>0N^Y;3<u$H-Wef)m)s4Y-9Z8+ctzzPRiqwTvi_yrxPEBM!@j-Al*?NUM3w zDZN}yHao8`63pgChntLpu?Njp%*Dst%&@G7%gnD<$iSrA#QkEt$IHkvJblU|wAWmL z*&KtvtZ-<Y&QY|^SlG_9EWmT4d;$2qtL((03(u$|&yY;d#0I}%Owa;Yg&haRQ|r$X zlFSLq(AVtHvW!Yvv%2bAehUrJJ|xis{dQ-pb&IUgOT^LJ9I%Nh(s2aPzFg9KyR_Mh z(m$)x%51jLI?4H5%7_fprAE>;&41gg)3e6Ydb_Q}Y{kNy%ShdFMg7tt?ZbuqwoP4b zw5F#23dqt#J;zy>!GmkeN$AOs>vRb0Ok#}BK&ZGxIJh1xxn#`0R5-bsSHJwM%E0Hx zoBP(I{6oJr(I*tU*;~3JGrTQ4t+<QP$8@5CR4FL;yx$|k@$tLU<HEq}YQl@ott)=C zD?KPC&dYmlot(Rq&AdPwyXD-cRIP$m9lG4RZMV$Sy`r<JZN;uV%zrF8@2tJ7UC@JE zu|=EFEz?ALa;SR!$E`d;bsd7&*QEcOp3>?!%6+TU_eqyTH~VXO@=LU7ta#N8*I%67 z`vZFWJF=$?th@w#&WyoP6HfR7sKJff!%duxi^b85X&+3%Sl!tQU4-1DobxTm28^Bm z3;Z_T+(I@@ZYPG&jGMav=zM_fq+-o!NKiR+y52xNvyCbi%2uTqp5YoE6a>2A9{%AV zz7icC;{8#If^mufl8Ph_AS1rw`caBgRum|%8YMLpn|LuUo=`2G<D+5XC$&*Is-&EF z0gia%Ey|-U8l5%5<1CJ!OkUziTH_9iW**8?CLZHcPG(Y`Qbt}mPwpSA7-e5>8$Qk# zGwvTMKIZocjAE|lqCo*;+D;4==lA61`Vr=GX6Jgo=S0PdXZ7cR9_WHT=!9PAhJNUX zp6H66=spFCj{fM6o>Y)N>6BjSmVW7&p6Qyt>73r_p8n~e9_pe#>ZD%krhe-GsGjPo zzUrXpjFS24upaBOKI^nTnTjcl&{&qog_dWjmXO7kaNw4B0GDwomxVx=b!nHAfR~$~ zm!iOzed(940GNR(n7u%fweIS?nCrTp1-xF3zODwq9_+$y2gL3N#(wO`{#nW{3Cy0C z&W>8pehSh)?bIGy*3Jvq?uuX05y5qs>|>86SrWoElij`r%ypB@74B&;?r%`;=6>#c zknV)A?(E*~knrxA5byFn@1;=hu5j=8p6|M_@9_oj803{RLhxW|1g;Ji81fN!l~*($ zlYZ5YgEbE1K#=Xw^NIEIKW_y+8SV~0SrAVL5<l@2F9;T|2pBI~8h;7@9RCR(zgi&A z3L;MnBu`se*%4KsMZKl+Byo=fZxUje@-W#9NRak)^^z7~^Zq!K0BMtmbyz*WSP7Ys zYFYGcaP&x@^m?%LOyBf~@bnoU^_(#Eolx~3fAz7D^|G+_CExX`RQ3}X_P@mp$)N4= zrTI$$_k$JpS5T8Y5A+17lXve}djFGrF9&{~0DvF(g1-QSU-*XK0EnOXiqH6};P?>$ z`H?UA6JYZ2h4LuRTPkV!15%9Ke(+}b?F-NFXVCfx@cOVH`?F8`wSW7#pZkix_`L7? zzYqMvKm3%>?`iM(&|vv3zx>45{LT;k(J%c#+4|NW``0!5wa;Dux1akC@ckh0KqFb2 z=NPFg+q$Y0%QIce6Q1ikj|V?6C>#a^gd;MkTr!)^Cv*@17@^iHQ=r{)yWTH2EFP1~ z<}*62UbEZoH#{zXW9#;NQcA`1`~E**px_{3q2VE7qT(VWlU~(Dq~s)JrR61NrsgJR zr{^bVsOTtZsp%<ds_H6htLM?<k?U+LhV3nGuI?^xukSB#u<$T3FYPgCvGOu=voP{2 zK`a4u^(Y2Kw)Qr6xA!-AxcE4Ex%s)bwYnuXy8AnP{P=n%>=Y#ZWdP+qa(j1xYyr&; z97xb0!FLGdG2BK<NVR^U{xw{9&Z4%37%>XW_`_YkOZN8vPzzaUpTv|uB%zEX@dA)e z|2}pELct(Tnl^KCy!jDl&6_?m3ba`iXuzHg;XRzBG9^rxD_usdDz#rsm{X%-ec2A^ zQKAKD3MK0kDYt?{&jtlpbF4;mCM%7^H<u+<t9Ywo&8rvF*R&ml4&J7gFj#Mg5fdGZ zF!5rgOF@o;c+#)aynU^1hRV58;KGd)HzsUY^yt)#-I`u(`rO?~b!El&+wwDC&B+9> z2J71~xyXfoizfbhGQ*~qb=zjXIrHD>5@)tneY`sMjl<stVNG0exZ06sm#qDg^UB-L zvu>K{du;2ULwSbFxjOq%`rDB&RemzPUNNa>+g4NmvG>we7f_^;e2<X@S%atD2VZHu zjh0k*u!%>WcqUQA-#0{nI3kJNba>2%C5Fflc$0O=;feI5s3MIu))?a~GupT#e=kaN z4{bOKIV6!q8hIp=slb>dlTAALB$QFMvZRz%T6rawSqe#|mR)-JC75A?!ljs(=*T0Q zX;N0Ef@-?i--bVu#HJ=^zIi8}+0fZ$o_&_%<1`&2h{<`Sgch8ii6ZCUk!QAek)mtH zMy5%F;<lbtndW9yXy2h0DX1EXQmAJJYKG~hntH}gQNXQrm`<+78tR{M1}fgFmZ6#} zOI|sa;ab<xIxIMh_G&6~o1%v-UqJx2pK#d!1#29!#o7vFd9hhq>Z#2+CrPJbo%U$8 zp&Fa2bDiy~>RznA`m3z4!YgdK+5n2}p3m01Z*p@L+R4BA_M{Ye<Pv-DocX%TFT;|m z!=5J)b8;waX_*C%!NVeKm%@|S*)Yf^()n@7C2kyK$0@74GRw12+A_>B%RI9r<YiDY z&N=J6GtW8Oe3LUl3q3T^MH_uI(n%}5G}BEx&CEU-NIf;xRZD%r%|8c#O~yTY{WaKO zhaB}16lA~z1z1y{HP;d%DmL74%RP6EWGA8L1!b$vc3DOlbrxyeVdzoUbQ^v+;``ct z1m5G_y|<iI+`RR))oHg~T%RVsIp>}K54(8dH6xLB){!4EIoD{p?Y8O_dj2}>vEylX z=&~^m`825at<!^k_g)r27t208@x?DicI}khUV838(`!8R(Mz9a)XCFD`r4)wp!@KJ zPyapmATDkN_I!6AKKkjSSv@B=<Bl!&@R-$lMURQgda%+8uRj0%E2MV&%BQ{fDa2ws zK@Nish`-D|&wmbl;5gW~3HLD%e$I;r12rc<-nfo_`tu$HL-;)jYJ!5<YaZpG2SO3D zP=x@Tpa4-wvKG>?hKM6!CQN8Pepw`Akg*{UA&5gv=x~4++#q*W7^1(u=5K-%Txs?f z#3>qYh?gj$4CT=}B`T(3Ta2Rr>!>J3=~>YdShQdYF*u<S^$?6d+|L-}7`-x9;*2CA zAQAybq68AoBTa;hVYn#ALF$Z-l(3`Zj(EJC36hYGESVuEfymP-axzRrAn(xOphiBj zlVf{f31f)H8A7T=Z7ij<JgG{<MN$%z++HO$X&p9t@qVdfq7+xD%R+)OhoZb=EM-X= z@zt^|`U~SOli9OYM&gxtEFdy1Sxn$n4vx80CN>q<OCtU<k!dU*C$lNe^=<Qt-K69< z$EnVBMzEY_JSQyE3C&iSQkLwzr`MPXzzPCWo)-aDI0?r);RwNx_&g}X^y$oC+B2Gq zgjN#~Dp5$fvySk5raLnKNX$<qWpxw%Xt@-6QHE-AnBoKEE$su+l`2Z4@9QTi^U2bg zCd#G!^kz&k7RZ1)bVW4%X-zA7$dUT9p&pecDuJrhH`(-rqpV29HflLA26CxZt(#CK zNz|PBRD(zb+%S21)v<;stFGKCRK5CD28LCvWVLEjcX-3M($$h?Z6;dls@ML-)rcu9 zoLl!QSWxvfi+T)8e(2e^!7?_VcipE`VTw6hzOjLgy=+JyyU@Sd(wbDoENBy|*}MX@ zcLRlEXj5CQ!alVemsBlmLB?9i5;m8wjV*35Hrkisl(34G&^2=_+}ZY4jmF#vu*M~< zj;d6+&b`TQZ;DR;uDT^!2HfAQET-1y#+JC#O=~I>G92p$m%EqsZak@5AEuhux#-1c zd*iE3_rZ|2-{sE=O&VVLb~n0_Ep8q$R9>HASFr=;Z(ZL@(zo5GfE}%_Wf9z11s63T z`aOu|vMXWOQdqqljIcOxsh{6&c*6dbE6xI2;(K<ueku+zetpQ`qaNqQu5~RZ#VVN{ zANZlBl<|#e)M72d4ahK#s!sc4uyFEp$Lm$oivt_w6Z_S}6+#NZ>}Sj;zYEEg^`KY3 zSXs~ZxW?jo@G-wk+5C-}gJ|Y*n?F3iGcQ*yYToW-J^L0UFL2Fs#xr#38%q18mqmT% za(>>N<ozQ5wxHux;D_A|)??yt%Qz+|H6u!1H+FW?VZIQ-J{#%|()n_khR|)hxamAc zTDfQzuzYqp;2|5A)m=qRi{dO8Q)~3omTvP8ksCq8yn1!-5jC;R+-l(V8rf>qGN&`V zX4D$As}xFe7gxmGPB*(gR5q+$b<AG%*?6_zZtaTG9aKU4lF;zo(UJ`<<Rjmj$cvsa zz5!kDVdIzH*#<B8Xbokt=*Q8!E_jAgt;fMpI<bxhXnhW7+JO<gkDgZe{BHZ62kmsv zB$l;67i-{GCH&7zY!FY%&B$}p)=k0wY%TA+Tt7Rz;TN9jaTonXJ^x$3JI6Mkqn+tW z+uWi5V(uw8Sq|WVv-;*gzj@P(&U2^J+}Aj7IGm&TV3{l0>c!@D&1oEUs3)D>+;sPX z>jtfh75G;SLac$e4KI|=r>b?gY=qoC>WyocE!B1+#;ZzqzXi`hiEUNa316JShgj~! zF7xXIuI@sb*zD#+dxhaGULW(w;5N!JQ&q0-e0QGc0RMO6jhYdq-*?<W=Dg-zjzFf< z{`8%PHi$`&^krw1^@VnQthkPPWuF>&#V$N{Q;p?_=bYyrW$RQOk6eu_zv39PbInbS zYnn@6G09afsjdAksz;s7r%a3Q->vrY$4B`Zwj30@k9;S`oZiQ8zZ4bk#`qV1{yqQy zKmGL|{&9r<VGjS@pR8RD?mf@ZSsgVApZ2Yu<-HT;Sy@^=9Wn`zqIr<&KpwT(8UTh} zwQ(B>wuJ{W8kk9%%-J3I30<C@;FXEp+)dl99UGYqpFpHv+O6N@(U9ngUJg#6MO9!A z79mq%O&#PFqGcfO&E5z$(x~N8Qb`rH$et83p$xuW9E}eYC?WDS8sG^ON-<nU3E;Cy zT*~Pj;MrMo`Q2fa+%?VG&@o!bk)i&<+R0hhb%EjUBwC~8PgJep;qes`Vu2SPngBwd zr748TdEM1f+}QnJ&i&j7UfML(A0i^4(19HW5?$9xV)2pP92Mdf9HI+i9nh)&ktRZ7 zC>q@<g54z2p!Xrl2D;*}Ro%=rp9)Ia_JN@I#p37@4;Max7fu`>ju<@^V67EL>K)(r z@kVL62Hb@qT)+qDSsdO$8aAR_{;eSa`c5@sV=}&<_l+1h0^u@|BKZ)Z4WZ-bz+l%X z+}MQBFgk%Lwv+*>NC56z#6_Vy8lj)mV-wsXt=QN;;$V{5*6snM*a#%ruwy}Hp~-#X zG?87(X$M87BE$V7LyC_&b|FND$^u4OLFJkVdeJj>87RV<CUzu6osA)eq;K_<MhRQ? zIUxhS;zGKlxxr*9$|O$)Wkq}>F#@Gf9_9b|<T^^%@3GWDBISG~p;4y)7{S3~RYqZT znIrXqqaS`8R7Q$J>J3w>pKQtE=C!1!kz}X+A{~C^=MbemP9;_9A*9fy4Avxr>6%-< zrBZ_ASngn14&pqeWWIT0C7u=w!r)#C8C(veT=GmnaiqO1rbssCL;hvv<qRvr9c4OF zSSkTQGLjZ{<|BRP<6x!*rpfY|p_~N|X>OrqisgT`UcHp0SsL4GdXj05&STExCf-{Q zNoH=&&2BEwY&Io04W}3tCjo?}azZ6@I%mJ}<8!`MboOQh1z#H0plJ!FVpgXdT_<Wz z=GWQcBeo@Yj+1yECt3R2d9r1B24i}z(t4s;MrBtxmg6=Kl;O?)r#jVVl?7%N`ll`d zD7Xd3cgmY385twW79Wjf;Yro!sb0|4Q#$r#QI02sE)#`zXh;nxLhfW4mfm#69%RNQ zXkup!dfXBrBAiKMFBV+{W+Jk!<_BJ#_>CE~eIiy)r16E|Ee1vR;U~<w8F}p}n_*!q zvM72&8H%1JdjcjiE+R=n5x>#lIigyuHQ@u^BnPG>-)WokA?b|bW}opWE>0G6S?LD_ z-qh`40;*alvT0YYn^bD(jHTf7ap_6!8YoIz)>RYEZRvJhn<ENpMBN>iE+8fTX69^Z zEjpjhiJ&#|>9%nopWcaqq8ot{r{_^o^_YW-c4`kIPYE^u=crEMys2uYPUbS2s3^K8 ztGa54dZ>K1YK8h(71nB5!DQN8k#X85263gsRb0W59I?)#$JwSa+F>^m=|)b=MgE~x zM(P(jYk_rVTJB-AqSh0+AIgQCwF#ogv6(Txp*+f=weBOi1|e_O5pUwDg2pGO4e3q7 zXOUv629YT*UI(VJNF%~2YqB3J(yQ?0=xx^MT59Bbvfx3SUjROxI{vCFL8-6~CXPnm z9IoJ`N~*ph+Q$Zti#pgGV&cFyY{8;zpGM-LZtO~)C)BAc@kJ~Rav{a`rF8xiVxnvR z-J#uK9Fh7_aF(oyb&%t&T{VuOt`cV6JsvDxQaASh?AHBGf4ZhKrt2UoqZ?A=;Ss8W zZf)af<zo;f>B#2Ak}5;iBZi_XW)gwhzAfCwt=!Hn-PWz$-Ywqdt={e}-}bHF{w?4J zuHX(X;mWNj{3Y5Z?s3u#<2J72D$L6~uH;TG<uXa+R<4vpN+d80=6=cLcJ7l<>|JEQ z<{}B{g07Z)F6uIg=+4FIw(gLe?&@BN>dx+wz-~yquIbt??P?G2RtfGx2WG5-?rMUi ztU|!J((hJD?Jlp71g}$^2e%|k@-|cHW<tP}N@wiF^b(QtMoII2?}<RKB|HUGm~ZuB z&Gixrp=3q(9t*Qvk@!AI_|9)_kZ*u^3udgViu_&x{^l>bD9gI!ko`8v037fDBuoL{ zu6Pu$k;v`>8_5v}Kmv121P{soR)Yf<2?Ss8kW6p|ql^dRNCrd01`|mKk8q5DumY=a zjFd1koN(;A@COqB1-CE_=dcb#t__E9w(Kwv2eIe&Fb)f`5g#%55^)tY0uwi}6F)H& wN3j%7F%?(w6;QApP;lXHF&B5S7k@Drhp`xsF&URJ;ZiUHr?DEZaR2}SJIqAcBme*a 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 00000000000..7ccda192907 --- /dev/null +++ b/src/bin/pgaccess/doc/html/index.html @@ -0,0 +1,11 @@ +<HTML> +<HEAD> +<TITLE>PgAccess</TITLE> + +<FRAMESET COLS="200,*" border=0 framespacing=0 frameborder=no> + <FRAME NAME="left" scrolling="none" src="contents.html"> + <FRAME NAME="right" scrolling="nonw" src="main.html"> +</FRAMESET> + +</HTML> + diff --git a/src/bin/pgaccess/doc/html/irix.html b/src/bin/pgaccess/doc/html/irix.html new file mode 100644 index 00000000000..b678458569e --- /dev/null +++ b/src/bin/pgaccess/doc/html/irix.html @@ -0,0 +1,133 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> +<HTML> +<HEAD> + <TITLE>PgAccess on Irix</TITLE> + <META NAME="GENERATOR" CONTENT="Mozilla/3.04Gold (X11; I; Linux 2.0.33 i586) [Netscape]"> +</HEAD> +<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EF" VLINK="#51188E" ALINK="#FF0000"> + +<H1>INSTALLING PgAccess UNDER IRIX 5.3. +<HR WIDTH="100%"></H1> + +<P><B><FONT COLOR="#000080">This HOWO-TO make PgAccess working under Irix +is written by Stuart Rison</FONT></B></P> + +<P>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.).</P> + +<P><B>1) Requirements:</B></P> + +<UL> +<P>You will need:</P> + +<UL> +<LI>postgreSQL source (http://www.postgresql.org)</LI> + +<LI>tcl8.0 source (http://www.tclconsortium.org/)</LI> + +<LI>tk8.0 source (http://www.tclconsortium.org/)</LI> + +<LI>pgaccess source (http://www.flex.ro/pgaccess)</LI> +</UL> +</UL> + +<P><B>2) Installation:</B></P> + +<P>a) tcl/tk:</P> + +<UL> +<P>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:</P> + +<P>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.</P> + +<P>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.</P> +</UL> + +<P>b) postgreSQL:</P> + +<UL> +<P>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.</P> + +<P>Configure using ./configure with the following switches: ./configure +--with-includes=/usr/local/include</P> + +<P>--with-libraries=/usr/local/lib --with-tcl [this and previous line as +one]</P> + +<P>Then make, make install as usual</P> +</UL> + +<P>c) Compiling libpgtcl:</P> + +<UL> +<P>The source for libpgtcl is in $postgreSQL_directory/src/interfaces/libpgsql.</P> + +<P>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:</P> + +<P>before:</P> + +<P># Shared library stuff</P> + +<P>install-shlib-dep := shlib :=</P> + +<P>after:</P> + +<P># Shared library stuff</P> + +<P>install-shlib-dep := install-shlib shlib := libpgtcl.so.1</P> + +<P>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/.</P> +</UL> + +<P>d) running pgaccess:</P> + +<UL> +<P>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:</P> + +<P>wish -f $pgaccess_dir/pgaccess.tcl [postgreSQL_database_name]</P> +</UL> + +<P>e) et voila!</P> + +<P><B>3) Concluding remarks:</B></P> + +<UL> +<P>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.</P> + +<P>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!</P> +</UL> + +<P>Good luck</P> + +<P>Stuart Rison LICR University College London London W1P 8BT<BR> +<A HREF="mailto:stuart@ludwig.ucl.ac.uk">stuart@ludwig.ucl.ac.uk</A></P> + +</BODY> +</HTML> 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<C$;AP-geri=j+%vIQr69Fj6~{8;+H7CdCN-bV zg0O}-9naFTZdXQT4*uc>^-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?LMOWKboD<uW(<gPpv*W_KM^=3vZ_leC~@~&47KFVIPwaMrv<E66P zQyVI(C)IKn@yZ#BOP!bOYJAT=Nm5y6(t>GvZJ|n8Q4FbvwynLrz2Nbwx!&9JVrG5% z^lGm8OQ|L5ObQQDpNlUD+1lXtEi-}PU_)JVBul4ObKhin|AVS^s%DMNoT3Uo3I(e! z%4<wN#<S+|v`@nQ!2*l3X6dk{PueW7Vxdw7x6su7h%{HLz|;D-n3UW1_O4$dwcH{2 z)u9_jY{wJ!8O{ID^k@DfnRERjIiIR`6~rGpTJ!4O776EP4-_8>eOva&%elO3j**<t zluI}7-W2l*5oy`(rki(QqF}jLw8O!PUMX)sa#U~CRB!SX3R`f1iRVXwx1?0&M`zPh z0mTz!%om7Uanez6Jlky$bmV@@3kh=pqwNP~EHKuO+IlL^f$gMtSjyA~Q|panCU-<E t{c$2i(81TpQ%1$(AWMY!tkzVX8IsTLw`TSpx;9OpBlFqJwZLp(4FIlfKV1L- literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/doc/html/maillist.html b/src/bin/pgaccess/doc/html/maillist.html new file mode 100644 index 00000000000..4e0ce850c96 --- /dev/null +++ b/src/bin/pgaccess/doc/html/maillist.html @@ -0,0 +1,43 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> +<HTML> +<HEAD> + <TITLE></TITLE> + <META NAME="GENERATOR" CONTENT="Mozilla/3.04Gold (X11; I; Linux 2.0.32 i586) [Netscape]"> +</HEAD> +<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EF" VLINK="#51188E" ALINK="#FF0000"> + +<P>The mailing list for PgAccess is : <B><TT>pgsql-interfaces@postgresql.org</TT></B></P> + +<P>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.</P> + +<P> +<HR WIDTH="100%"></P> + +<P>To subscribe please send a mail message to :</P> + +<P> <B><TT><FONT SIZE=+1>pgsql-interfaces-request@postgresql.org +</FONT></TT></B> </P> + +<P>having a single line in the body message : <B><TT><FONT SIZE=+1>subscribe</FONT></TT></B></P> + +<P>In a couple of minutes , if everything is ok, you must receive something +like that :</P> + +<P> +<HR WIDTH="100%"></P> + +<P><TT>Welcome to the pgsql-interfaces mailing list!</TT></P> + +<P><TT>Please save this message for future reference. Thank you.</TT></P> + +<P><TT>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:</TT></P> + +<P><TT>unsubscribe pgsql-interfaces yourname@yourdomain</TT></P> +<TT></TT> +</BODY> +</HTML> diff --git a/src/bin/pgaccess/doc/html/main.html b/src/bin/pgaccess/doc/html/main.html new file mode 100644 index 00000000000..2bddfd61d4a --- /dev/null +++ b/src/bin/pgaccess/doc/html/main.html @@ -0,0 +1,34 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.12 i586) [Netscape]"> +</head> +<body bgcolor="#FEFEDF"> + +<h1> +PgAccess +<hr WIDTH="100%"></h1> +A free graphical database management tool for <a href="http://www.postgresql.org">PostgreSQL</a>. +PgAccess has been written by <a href="mailto:teo@flex.ro">Constantin Teodorescu</a> +using Visual Tcl, the best tool for developing Tcl/Tk applications I've +ever seen. +<p><b>Last version</b> +<br>Last stable version is 0.98 , released on 29 August 1999. Read <a href="whatsnew.html">what's +new</a> in 0.98. +<p><b>Portability issues</b> +<br>PgAccess is available for every platform where PostgreSQL was ported +and where a Tcl/Tk package is available. PgAccess has been reported running +on : +<br>- Linux +<br>- FreeBSD +<br>- Solaris +<br>- HPUX +<br>- Irix +<br>- Windows 95,98,NT +<p>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 <a href="win32.html">here</a>. +<p>PgAccess is protected by the following <a href="copyright.html">copyright</a>. +</body> +</html> 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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 Tq(-WwPAa8Vs-;$H0000xi)D7O literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/doc/html/newuser.gif b/src/bin/pgaccess/doc/html/newuser.gif new file mode 100644 index 0000000000000000000000000000000000000000..5c56c9ad2998cd3a4ae31d3f43e26fd0a920ebf0 GIT binary patch literal 3965 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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 00000000000..4bbf11fcf07 --- /dev/null +++ b/src/bin/pgaccess/doc/html/old_index.html @@ -0,0 +1,143 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.11 i586) [Netscape]"> + <title>PgAccess - a Tcl/Tk PostgreSQL interface</title> +</head> +<body bgcolor="#FFFFFF"> + +<h1> +PgAccess - a free database management tool for <a href="http://www.postgreSQL.org">PostgreSQL</a></h1> + +<hr> +<li> +Download the last version of PgAccess <a href="pgaccess-0.96.tar.gz">(press +shift and click this link) (tar.gz file)</a> or <a href="pgaccess.zip">this +one (zip file for Windows)</a></li> + +<center> +<p><br>Latest stable version of PgAccess is 0.97 , released 16 August 1999 +! +<p><font size=+2>PgAccess 0.93 and higher will not work from the beginning +with PostgreSQL 6.3.x !!</font> +<br><font size=+2>Read <a href="pg93patch.html">here</a> how to apply a +simple patch in order to make it work !</font></center> +<b><font color="#000000"><font size=+2></font></font></b> +<center><table BORDER=2 NOSAVE > +<tr NOSAVE> +<td NOSAVE><b><font color="#FF0000"><font size=+2>NEW</font></font></b></td> + +<td NOSAVE><b><font color="#000000"><font size=+2>International version +(english, french, italian, romanian)</font></font></b></td> +</tr> + +<tr NOSAVE> +<td NOSAVE><b><font color="#FF0000"><font size=+2>NEW</font></font></b></td> + +<td><b><font size=+2>Context sensitive Help</font></b></td> +</tr> +</table></center> + +<center> +<p>Precompiled libpgtcl and libpq binaries and dll's for i386 are <a href="ftp://ftp.flex.ro/pub/pgaccess">here +</a>!!!</center> + +<h3> +<font color="#000080">Installation problems</font></h3> + +<ul> +<li> +Some problems related with locale special characters could be solved by +this <a href="specialchars.html">simple patch</a></li> + +<li> +I think that there were some problems loading libpgtcl library. I invite +you to read a <a href="index.html#libpgtcl">special section concerning +libpgtcl</a></li> + +<li> +For Silicon Graphics Indigo computers, Irix operating system, there is +a <a href="irix.html">HOWTO make PgAccess to work</a></li> +</ul> + +<h3> +<font color="#191970">What does PgAccess now!</font></h3> +Here are some screenshots from PgAccess windows : <a href="pic-pga-1.gif">Main +window </a>, <a href="pic-pga-2.gif">table builder </a>, <a href="pic-pga-4.gif">table(query) +view </a>, <a href="pic-pga-3.gif">visual query builder </a>. +<p><b>Tables</b> +<br>- opening multiple tables for viewing, max. n records (changed by preferences +menu) +<br>- column resizing, dragging the vertical grid line (better in table +space rather than in the table header) +<br>- text wrap in cells - layout saved for every table +<br>- import/export to external files (SDF,CSV) +<br>- filter capabilities (enter filter like (price>3.14) +<br>- sort order capabilities (enter manually the sort field(s)) +<br>- editing in place +<br>- improved table generator assistant +<br>- improved field editing +<br><b>Queries</b> +<br>- define , edit and stores "user defined queries" +<br>- store queries as views +<br>- execution of queries with optional user input parameters ( select +* from invoices where year=[parameter "Year of selection"] ) +<br>- viewing of select type queries result +<br>- query deleting and renaming +<br>- 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 <a href="qbtclet.html">clicking here</a> +<br><b>Sequences</b> +<br>- defines sequences, delete them and inspect them +<br><b>Functions</b> +<br>- define, inspect and delete functions in SQL, plpgsql and pgtcl languages +<br><b>Reports</b> +<br>- design and display simple reports from tables +<br>- fields and labels, font changing, style and size +<br>- saves and loads report description from database +<br>- show report previews, sample postscript output file +<br><b>Forms</b> +<br>- open user defined forms +<br>- form design module available +<br>- query widget available, controls bound to query results +<br>- <a href="forms.html">click here</a> for a description of forms and +how they can be used +<br><b>Scripts</b> +<br>- define, modify and call user defined scripts +<br><b>Users</b> +<br>- define and modify user information +<p>Here is <a href="pga-rad.html">a special section concerning forms and +scripts</a> . +<p>This program is protected by the following <a href="copyright.html">copyright</a> +<p>If you have any comment, suggestion for improvements, please feel free +to e-mail to : <a href="mailto:teo@flex.ro">teo@flex.ro</a> +<p><b><font color="#FF1493"><font size=+2>Mailing list for PgAccess </font></font></b><a href="maillist.html">Here +you will find how to subscribe to this mailing list</a>. +<p> +<hr> +<h1> +More information about libpgtcl - downloads</h1> + 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. +<p> One of the solutions is to remove from the +source the line containing <b>load libpgtcl.so </b>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. +<p> 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 <b>libpq </b>and <b><tt>libpgtcl </tt></b>libraries. +<p> 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. +<br> +</body> +</html> 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 00000000000..4c77bfac61b --- /dev/null +++ b/src/bin/pgaccess/doc/html/pg93patch.html @@ -0,0 +1,25 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.5 [en] (X11; I; Linux 2.0.36 i586) [Netscape]"> +</head> +<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#FF0000" alink="#000088"> + +<h1> +PgAccess 0.93 patch to make it work with PostgreSQL 6.3.x +<hr WIDTH="100%"></h1> + +<p><br>PgAccess 0.93 is working fine with PostgreSQL 6.4.x due to some +changes in libpgtcl ! +<p>There is a small patch that you have to make in order to make it work +with 6.3.x ! +<p>Replace in procedure <tt>wpg_exec</tt> the following line: +<p><tt>set pgsql(errmsg) [pg_result $pgsql(res) -error]</tt> +<p>with this one : +<p><tt>set pgsql(errmsg) "NO ERROR INFORMATION SUPPLIED"</tt> +<p>And it will work fine! In some error cases, you will not get the appropriate +error message from libpgtcl. +<p> <a href="index.html">Back</a> +</body> +</html> 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 00000000000..7564cf7b553 --- /dev/null +++ b/src/bin/pgaccess/doc/html/pga-rad.html @@ -0,0 +1,65 @@ +<HTML> +<HEAD> + <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> + <META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (X11; I; Linux 2.0.32 i586) [Netscape]"> +</HEAD> +<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EF" VLINK="#51188E" ALINK="#FF0000"> + +<H1> +PgAccess - Scripts and Forms +<HR WIDTH="100%"></H1> +Beginning with 0.70 version, I have introduced in PgAccess two new modules +for operating with scripts and forms. + +<P> 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. +<BR> +<BR> 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. + +<P> 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 ! +<H3> +Forms</H3> + 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". +<BR> 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 <A HREF="forms.html">special +section concerning forms.</A> +<H3> +Scripts</H3> + 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. +<BR> 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 <B><TT><FONT COLOR="#000080">open_table +"Your sample table"</FONT></TT></B> and you'll see the result. +<BR> 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 <B><TT><FONT COLOR="#000080">execute_script +"My own procedure library"</FONT></TT></B> or open a form with <B><TT><FONT COLOR="#000080">open_form +"Main window with menu buttons"</FONT></TT></B> , and so on. + +<P> +<HR WIDTH="100%"> +<BR>Remember : I'm waiting your messages at <A HREF="mailto:teo@flex.ro">teo@flex.ro</A> + +<P> +<HR WIDTH="50%"> +</BODY> +</HTML> diff --git a/src/bin/pgaccess/doc/html/qbtclet.html b/src/bin/pgaccess/doc/html/qbtclet.html new file mode 100644 index 00000000000..b990c0f15c3 --- /dev/null +++ b/src/bin/pgaccess/doc/html/qbtclet.html @@ -0,0 +1,45 @@ +<html> + +<title> Visual Query Builder in Tcl/Tk </title> +<body bgcolor=white> +<h1> Visual Query Builder</h1> +<hr> +This visual query builder is included in <a href='http://www.flex.ro/pgaccess'> +PgAccess</a>, a visual interface to +<a href='http://www.postgreSQL.org'> PostgreSQL</a> written entirely in +vTcl , (Visual Tcl). + + +<p align="center"> + +<embed src="qbtclet.tcl" width=590 height=485> + +</p> + +<br> + + +Visual Query Designer demo<br> +Click <a href='qbtclet.tar.gz'>here</a> to download the source </a> +created by Constantin Teodorescu with vTcl (visual Tcl), teo@flex.ro +<hr> +Facitilies<br> + - drag and drop selection of fields<br> + - drag and drop fields from a table to another do create links<br> + - move table position by dragging<br> + - point and click any link or table then press delete to delete them<br> + - modify sort order by clicking on (unsorted)<br> + - enter filter conditions as criteria (>2000 , ='item')<br> + - easy panning of table and result panels<br> + - show SQL command<br> +<br> +If you want to use it for your database, modify ql_read_struct in order to read + your table structure. +<br> +Feel free to use, modify or copy this software for non-commercial purposes.<br> +In any other case, please contact me. +<br> +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. +</body> +</html> diff --git a/src/bin/pgaccess/doc/html/qbtclet.tcl b/src/bin/pgaccess/doc/html/qbtclet.tcl new file mode 100644 index 00000000000..9d086a33900 --- /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 <Button-1> {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 <Button-1> {ql_dragstart %W %x %y} +.c bind mov <B1-Motion> {ql_dragit %W %x %y} +bind . <ButtonRelease-1> {ql_dragstop %x %y} +bind . <Button-1> {qlc_click %x %y %W} +bind . <B1-Motion> {ql_pan %x %y} +bind . <Key-Delete> {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 <Button-1> {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 <Button-1> {.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 <Button-1> {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 <B1-Motion> { + ql_pan %x %y + } + bind $base <Button-1> { + qlc_click %x %y %W + } + bind $base <ButtonRelease-1> { + ql_dragstop %x %y + } + bind $base <Key-Delete> { + 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 00000000000..0cf3ac6b65b --- /dev/null +++ b/src/bin/pgaccess/doc/html/screenshots.html @@ -0,0 +1,43 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.12 i586) [Netscape]"> +</head> +<body bgcolor="#FEFEDF"> + +<h3> +Image gallery +<hr WIDTH="100%"></h3> + +<ul> +<li> + <a href="mainwindow.gif">Main window</a> 9 Kb</li> + +<li> + <a href="newtable.gif">Creating a new table</a> 9 Kb</li> + +<li> + <a href="permissions.gif">Table access control</a> 10 Kb</li> + +<li> + <a href="addindex.gif">Adding a new index</a> 12 Kb</li> + +<li> + <a href="vdesigner.gif">The visual query designer</a> 16 Kb</li> + +<li> + <a href="function.gif">Working with functions</a> 10 Kb</li> + +<li> + <a href="forms.gif">Form designer</a> 19 Kb</li> + +<li> + <a href="newuser.gif">User management</a> 4 Kb</li> + +<li> + <a href="help.gif">Help</a> 7 Kb</li> +</ul> + +</body> +</html> diff --git a/src/bin/pgaccess/doc/html/specialchars.html b/src/bin/pgaccess/doc/html/specialchars.html new file mode 100644 index 00000000000..b6b82f2336a --- /dev/null +++ b/src/bin/pgaccess/doc/html/specialchars.html @@ -0,0 +1,47 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> +<HTML> +<HEAD> + <TITLE>Special locale characters</TITLE> + <META NAME="GENERATOR" CONTENT="Mozilla/3.04Gold (X11; I; Linux 2.0.32 i586) [Netscape]"> +</HEAD> +<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EF" VLINK="#51188E" ALINK="#FF0000"> + +<H1>Special locale characters and PgAccess +<HR WIDTH="100%"></H1> + +<P>The problem is related with some special characters used in different +countries because PgAccess did not use fonts with `-ISO8859-1' encoding +-- </P> + +<P>The sollution was proposed by H.P.Heidinger ( hph@hphbbs.ruhr.de) and +it's very simple.</P> + +<P>If you look into PgAccess, you will find fonts declared as follows :</P> + +<P><TT>$ grep -e '-font' -i pgaccess.tcl<BR> +-font -Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-* \<BR> +-font -Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-* \<BR> +-font -Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-* \<BR> +-font -Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-* \</TT></P> + +<P>It should be something like: -adobe-helvetica-medium-r-normal-*-*-120-*-*-*-*-iso8859-1</P> + +<P>You can achieve this by running the following script :</P> + +<P><TT>#!/bin/sh<BR> +cp pgaccess.tcl pgaccess.tcl-org<BR> +cat pgaccess.tcl |\<BR> +sed -e's/\-\*\-\*\ /\-iso8859\-1\ /g' |\<BR> +sed -e's/\-\*\-\*\}/\-iso8859\-1}/g' |\<BR> +sed -e's/\-\*\-\*\]/\-iso8859\-1]/g' |\<BR> +sed -e's/\-\*\-\*$/\-iso8859\-1/g' |\<BR> +sed -e's/\-Clean\-/\-Fixed\-/g' |\<BR> +sed -e's/clean/fixed/g' >pgaccess.iso<BR> +mv pgaccess.iso pgaccess.tcl<BR> +chmod +x pgaccess.tcl</TT></P> + +<P>The final version of PgAccess (1.0) will let the user decide what fonts +will be used through a "preferences" dialog window.</P> + +</BODY> +</HTML> diff --git a/src/bin/pgaccess/doc/html/todo.html b/src/bin/pgaccess/doc/html/todo.html new file mode 100644 index 00000000000..f19b61ab90c --- /dev/null +++ b/src/bin/pgaccess/doc/html/todo.html @@ -0,0 +1,11 @@ +<html> +<body bgcolor="#FEFEDF"> +<h2>ToDo List</h2><hr> + - Finish the report generator module<br> + - Enhance the form designer<br> + - Enhance the scripts module<br> + - Translations in other languages<br> +<br> +Please send any suggestions by mail to <a href="mailto:teo@flex.ro">Constantin Teodorescu</a>. +</body> +</html> 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 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 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 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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 00000000000..a63f1a89fbf --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/index.html @@ -0,0 +1,33 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html><head><title>PgAccess - a Tcl/Tk interface for PostgreSQL</title></head> +<body bgcolor="#C0C0C0"> +<h1>PgAccess - a Tcl/Tk interface for PostgreSQL</h1> +<hr> +<a name="intro"> +<ul><li><a href="intro.html">Introduction</a> + <ul><li><a href="intro.html#whatpga">What is PgAccess?</a> + <li><a href="intro.html#helppga">How to get help with PgAccess</a> + </ul> +<a name="start"> + <li><a href="start.html">Getting Started</a> + <ul><li><a href="start.html#getpga">How to get PgAccess</a> + <li><a href="start.html#uncpga">How to uncompress PgAccess</a> + <li><a href="start.html#putpga">Putting PgAccess where it will be found</a> + <li><a href="start.html#startpga">Starting PgAccess</a> + <li><a href="irix.html">Installing PgAccess under IRIX 5.3</a> + </ul> +<a name="problems"> + <li><a href="problems.html">Common Initial Problems</a> + <ul><li><a href="problems.html#connfail">Connection failure</a> + <li><a href="problems.html#nonuser">User not defined</a> + <li><a href="problems.html#libpg">libpgtcl not found</a> + <li><a href="problems.html#spchar">Locale specific characters</a> + <li><a href="problems.html#pg63">Problems with PostgreSQL 6.3.x</a> + </ul> + <li><a href="tut.html">PgAccess tutorial</a> + <ul><li><a href="tut_user.html">User Administration</a> + <li><a href="tut_new.html">Creating a table</a> + <li><a href="tut_edit.html">Editing a table</a> + <li><a href="tut_sel1.html">Querying - SELECT</a> +</ul> +</body></html> 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 00000000000..2f056599edf --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/intro.html @@ -0,0 +1,39 @@ +<html><head><title>PgAccess - Introduction</title></head> +<body bgcolor="#C0C0C0"> +<h1>PgAccess - Introduction</h1> +<a name="whatpga"><h2>What is PgAccess?</h2> +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.<p> +Obviously, you <u>must</u> have PostgreSQL installed and running, and Tcl/Tk on +your system before you can use PgAccess.<p> +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.<p> +If you are not familiar with how open source software can be altered and +redistributed, please read <a href="copyright.html">this</a>.<p> +<a name="helppga"><h2>How to get help with PgAccess</h2> +The mailing list for PgAccess is: <b>pgsql-interfaces@postgresql.org</b><p> +If you have any questions regarding PgAccess you should subscribe to this +list in the following way:<p> +First subscribe to the list by sending an email message to:<p> +<samp>pgsql-interfaces-request@postgresql.org</samp><p> +Send a single line in the body of the message as follows:<p> +<samp>subscribe</samp><p> +In a short time you should receive a message beginning like this:<p> +<samp>Welcome to the pgsql-interfaces mailing list!<br> +...</samp><p> +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.<p> +You may also email <a href="mailto:teo@flex.ro">Constantin Teodorescu</a> +directly, although writing to a mailing list with many correspondents will often +produce a quicker answer.<p> +<a href="index.html#intro">Back to index</a> +</body></html> 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 00000000000..7d472aa9cdc --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/irix.html @@ -0,0 +1,133 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> +<HTML> +<HEAD> + <TITLE>PgAccess on Irix</TITLE> + <META NAME="GENERATOR" CONTENT="Mozilla/3.04Gold (X11; I; Linux 2.0.33 i586) [Netscape]"> +</HEAD> +<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EF" VLINK="#51188E" ALINK="#FF0000"> + +<H1>INSTALLING PgAccess UNDER IRIX 5.3. +<HR WIDTH="100%"></H1> + +<P><B><FONT COLOR="#000080">This HOWO-TO make PgAccess working under Irix +is written by Stuart Rison</FONT></B></P> + +<P>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.).</P> + +<P><B>1) Requirements:</B></P> + +<UL> +<P>You will need:</P> + +<UL> +<LI>postgreSQL source (http://www.postgresql.org)</LI> + +<LI>tcl8.0 source (http://www.tclconsortium.org/)</LI> + +<LI>tk8.0 source (http://www.tclconsortium.org/)</LI> + +<LI>pgaccess source (http://www.flex.ro/pgaccess)</LI> +</UL> +</UL> + +<P><B>2) Installation:</B></P> + +<P>a) tcl/tk:</P> + +<UL> +<P>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:</P> + +<P>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.</P> + +<P>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.</P> +</UL> + +<P>b) postgreSQL:</P> + +<UL> +<P>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.</P> + +<P>Configure using ./configure with the following switches: ./configure +--with-includes=/usr/local/include</P> + +<P>--with-libraries=/usr/local/lib --with-tcl [this and previous line as +one]</P> + +<P>Then make, make install as usual</P> +</UL> + +<P>c) Compiling libpgtcl:</P> + +<UL> +<P>The source for libpgtcl is in $postgreSQL_directory/src/interfaces/libpgsql.</P> + +<P>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:</P> + +<P>before:</P> + +<P># Shared library stuff</P> + +<P>install-shlib-dep := shlib :=</P> + +<P>after:</P> + +<P># Shared library stuff</P> + +<P>install-shlib-dep := install-shlib shlib := libpgtcl.so.1</P> + +<P>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/.</P> +</UL> + +<P>d) running pgaccess:</P> + +<UL> +<P>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:</P> + +<P>wish -f $pgaccess_dir/pgaccess.tcl [postgreSQL_database_name]</P> +</UL> + +<P>e) et voila!</P> + +<P><B>3) Concluding remarks:</B></P> + +<UL> +<P>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.</P> + +<P>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!</P> +</UL> + +<P>Good luck</P> + +<P>Stuart Rison LICR University College London London W1P 8BT<BR> +<A HREF="mailto:stuart@ludwig.ucl.ac.uk">stuart@ludwig.ucl.ac.uk</A></P> +<a href="index.html#start">Back to index</a> +</BODY> +</HTML> 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 00000000000..ef2185f4b78 --- /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 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 literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/doc/html/tutorial/newtable.tga b/src/bin/pgaccess/doc/html/tutorial/newtable.tga new file mode 100644 index 0000000000000000000000000000000000000000..6104f58bd85cd0aa417e75334f0fbc963cd6a611 GIT binary patch literal 44583 zcmeI5--|8TRmb~uM<4tPe7tXh4}w1W<RBV+5W_I|9}F0f2#J4y_h%+??o7r+%*2>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`#<pBUwGfGAO4{qIe+TMo~oY{+Ft+i>-qED;BODK|8KP4 ziT2yb-@Sb|f4&p^A^W}>_Fnk<TVKCZ=-q_lGx7ay1nXl#ZwGzY)8~46ucz6Me~-44 z(EI$OuRJ<=`aMshe;uFg@%`S($@v4u1brbWcH`ehKiboMaNG`D&!KY!U&e!f;DKg5 z`hC*lfg*sfQ1E7Yzwr9wczMU=cs`D?L-8B)gLYzex2Jb{KeJ!p!LOE^pf3i`82ozB z<A)!@m-8WR^bNH${!Y@PKB?ogzi-BvF@I6@0Dt1A<_|v`hMwX-^_TsouJC(>jg#|_ z1Yrnn15-Fs(=1=9ZcD3M@>0jo;V$k`V)q8z{9xygZoZV<#9gv}zjrsHam8)gbq6{6 zD|~q<@^iR@8(_OX;109RsxuQ=x{@{Bfo{syhe8c<W<jbumA5^+_g3iGr8qZbt9Osu zv?zf?g2_ULEiB<mY0pJ$7Hhk_dMZ_4c6;e-GTdx)k^bYixVV0eL!L{-38kN+H%`iB zJykyY_c+FqR^|}qKj%zhPkWndqJ3=cnL6i&inf;EXSUDxFHOL(&ANpx=eug_i@mK~ z*66D1s|)CQnD!0zd!ElLmb{0ee(GNB+w8rf-F?<7zOzkx^Pk_$pKk@vw(cmpUj!Z# z*H6Cu$rt03<9mNRz6?1*Jbqq?&&PuQTF?_z#n1o5=cVn2$E9|T+S5pOr{(X1ka`rx z*Vp1hwcH@R9}bt8$UcZ`@zWw6^mX_WUgC2n+L<(;EAnpye;Kz=^}T->w2$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_{J<iJ|`NCH=}*`f<jWC2`#p zYmU^T9oyw=zx){eT;O>7oQk%~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%FX<jF}?omrbQq&^8XfLU3II^Kg3sRnFFO)`5sz$DAFomg0_AQL&Lwshf<Hx z?YJ;#JJgQm{j{Nl`^8xmo`%8>Y<rNfH%PU#i7b%H@8|jzEupnN+u0kdTH4h&O)Hn0 zCtA4pq9BF~Kntzn!a_S&cF1s9)r+|WGKREM6I6s%Czfc=<)-#_)g8=QTT{YXJ0oAr zH?_Ar#DiJmIE>jkuDtc0c{b(w*+<Ay{Iu)^<;2XaajZEdt7kFh!ZthYosfLAM>2-M zrKi<ZAiXHngg5}VI=h01<GX&XT61w57#vPZGb0iU2v%yEzb9yr{4ZT7VD0?^ed(6L zNN(fDY3PW^hF8xAVcyRk@Zv^WLE<G191J#l0f=Tafy#U|U+k|0UHdEldowt->YRGW z1JvSCdEAk`sc3iM_2v&oyr85`Lowa`eSU<sg?xD0<O<0d*#m#R<8LYhfq3E9mDF_H zr=h7UC}O+aRWT*v?xU&)?P3iDWA)=W=jb-R#C&P&6?5gyhV)7F1<cM*HDAsL>nds8 z;=OJBciA8uZFEl)TaCr!GG{*6K7S)VOuD?U*6MrDYYd%y+Vy?Z)lID}u)~|?W4yLo ze~$6GzId^d=N|q)<I~<a*z@{E9|uG+{ha?teCE)3tdHxfk7MkQu^)Ru?Md4YJZ3J7 z`HL64@{=FtBF;hg-FN<f(#f4;dn=pyJbpY%@*eJwXz$kw-;9&rHQt^CcwBV|TlpDO zy{F<HYSsA<lvS`nXw4@?muCsyGuk`&JbBOc)fkCen{7K9$mBBxF%Cd;d$4ai8`8s7 z=eOdj|23KyNIM53+Nd_=rOH_zl~-<zD!-I3gf*upANq(%4AlqPr@UrzDD3zm#!c93 zzx){e^@VDw#vk5z4`K207?N8z4tez{cZj@TYr|BPT~YjuaC_`2ZmB{`Oj#_;bI%z^ zomXE<H@>?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+5H<g$c$fn}2<g znkT7x#(bg{FYiLzrMPfqdbwA`wuAf<k$y-W^~y*c9^RjdOoULbq;bD?xz5zq>SUoz z;n9Yh1fc6U)7vWe-rr5L;SwIS_ca27Gwp8&mZ4c{&Mm_4V<UdrY##IwHrp#hVapgE z!sboc3Y|y3j!(C@KglL;d|I9Fxm$Tsbv?$%@a=f|e>rdNdK|Fnmc!eC&qvJj96iSq z5_Q*Gj3u8qxMSO}Y9f|bO|}P|);jDn3x-38ZcSXd<ue7N%S&#L=8L7ycJ+LEA?*8X z`dyaY5{Om06lUU-<GpSZUu!~aU}oH*FoL<}Tr57kt2sBWuPu~&Fy%PHi%Be*uB%(+ ztO@lTBEHyKvze|X0Mw<Yg~tn|?5Oj2sD4WAw%4~<hc~}FejZYMZt~7@P9M3(j=R+E zFDbcm+-H}{5=*7BbhML!pe_~uveC=YudTV?RdESz?>&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<K8%vU{AN~)B! zwzp|#p}KU6)237`(xG;yW&5T6S*5Di{!H_D^)FSQR0{J>-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<Kl3IYb#Z<eH~a> zlhO+2vIE6^Xj+w&W^HB^-K(IzRAH4OmPoViC26}+nwqoe7<7?|Lu5o7QnAQqN?5F# zDwlcW>bT6~W0r?UZylHAHuYEiOIC5UReiDFc4Ou(aqXYVt4F<c+@^lzrH6`9zOT`? zK8Tr1BHy{#U**Sm_2hBb9cs^Yr9SDQVgd%SX<O{JOKq=mQ~5DH*5fAq+BsxwDkd>N 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^$1<DS7<w?;QzYkvBlZP8$Ext z$=|-=<Y)8C6UW$gHML|7`BFeTn~SZxcZc34)b^H>ROg)KacAAygDQ_+ZZqW7+xQr- zPmCKH@5>3^GiZ0t>xXAcr-3m@{OhTtNTv0ZQY2pKj^l<Z)SP%9t>^6tR<u_=Ly=(o zn4ZH&gdC;Yw{kZ}FB$IdE9r%8Vd-faJQlT92fcV54p06wB`fgLtd7NaTdU+aqg%2n zt&<$caJWT+fNC2GZ=L3L<Q-qz9k(eXjvLdnseM;mn{qZ6t}*<^WzLyqET<KN{I;=k zoY)&5>#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`eb<MeMVcXQ(!!+(gJ zVmoc@3R@#bciuS_aRJlJZ88fM6A2e}9VTxf!874-G2{d(M|&|hl%H+Pxeq++%y$23 zTVLk9pdMi&-EJL^6(SyczK+uJ6t#AYZFkMR(bw2Jy>9<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$<QUr>&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 z<xXJp(S@g-?(TD}kjvPK{i-X$vSVY^Dth}w4ecJI_lh$4`N8O7O>cGu>q~_FpStjz zwD-W%?re#h@tbPvrrbE+6hFS1>i8QoZOo4cnm6Y_GtL^%UycvU=iKkMQYX%(ZFvqm zOFT3<+S#ri+uBLuZ&-dlAO7$bN!!5$^$p5;*!jhf<Kd_^$%zr;{2lg}`u;f&_<t9j z@#DUxZGX4G*f6E>?T^+6KMm{i;VqBJ+b(MOf7i7rKGy@~k@e;MEPF&Yd%%avO9^Fe z$57f+=G_}&EgC5U{!v;oMSmHtRjKOMIll^3Vd3GUuRPkp^L(eGHGB<h7aL)DsdBBX zLaw&MXTA1I9p5rA5FB61Q*KOO?jOQCA!__Nx29%#tz=6gsFA3i+AppB@>2DVMaU-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$<Q9!-jphX`)2uJY3D6Zx`1|Z~lBIcwg(!?R>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 00000000000..2238fb617d8 --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/problems.html @@ -0,0 +1,83 @@ +<html><head><title>PgAccess - Common Problems</title></head> +<body bgcolor="#C0C0C0"> +<h1>Common Problems with PgAccess</h1> +<a name="connfail"><h2>Connection failure</h2> +One of the most common initial problems is the message:<p> +<samp>Error connecting database<br> +Connection to database failed<br> +connectDB() failed: Is the<br> +postmaster running and<br> +accepting TCP/IP (with -i)<br> +connections at 'localhost' on<br> +port '5432'?</samp><p> +This usually occurs because the "postmaster" (the postgreSQL backend) was not +started with the <samp>-i</samp> option. Usually just adding <samp>-i</samp> to +the command line that starts the postmaster and restarting will fix this.<p> +If you have installed the prewritten script to start <b>postgreSQL</b> +automatically, this option is (currently) commented out:<p> +<samp># PGOPTS="-i"</samp><p> +just remove the hash and space and comment out the "blank" option above:<p> +<samp>PGOPTS=""</samp><p> +<a name="nonuser"><h2>User not defined</h2> +Initially, <b>postgreSQL</b> only has one user, <samp>postgres</samp>, and any +other user who starts up PgAccess will get the message:<p> +<samp>Error connecting database<br> +Connection to database failed<br> +FATAL 1: SetUserId: user<br> +'jim' is not in 'pg_shadow'</samp><p> +See <b>User Administration</b> in the <b>PgAccess tutorial</b> for a description +of how to create users.<p> +<a name="libpg"><h2>libpgtcl not found</h2> +PgAccess requires a library of functions named <samp>libpgtcl</samp>. 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 <samp>libpgtcl.so</samp> (perhaps with a number appended - or +<samp>libpgtcl.dll</samp> on Windows systems) on your +system. If not, you will have to download and perhaps compile this library.<p> +<samp>ftp://ftp.flex.ro/pub/pgaccess</samp><p> +is one place that you can download precompiled libpgtcl libraries for +PgAccess.<p> +<a name="spchar"> +<h2>Locale specific characters</h2> +This problem occurs with some special characters used in different +countries because PgAccess did not use fonts with `-ISO8859-1' encoding.<p> +One solution was proposed by H.P.Heidinger ( hph@hphbbs.ruhr.de) and +is very simple.<p> +If you look in the file pgaccess.tcl, you will find the fonts declared in +this manner:<p> +<TT>$ grep -e '-font' -i pgaccess.tcl<BR> +-font -Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-* \<br> +...</TT></P> +The font declarations should be altered to:<p> +<tt>-font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-iso8859-1<br> +...</tt><p> +That is, inserting an asterisk between the first pair of hyphens, and changing +the final two asterisks to <samp>iso8859</samp> and <samp>1</samp> +respectively.<p> +You can alter the source code by running the following script : +<P><TT>#!/bin/sh<BR> +cp pgaccess.tcl pgaccess.tcl-org<BR> +cat pgaccess.tcl |\<BR> +sed -e's/\-\*\-\*\ /\-iso8859\-1\ /g' |\<BR> +sed -e's/\-\*\-\*\}/\-iso8859\-1}/g' |\<BR> +sed -e's/\-\*\-\*\]/\-iso8859\-1]/g' |\<BR> +sed -e's/\-\*\-\*$/\-iso8859\-1/g' |\<BR> +sed -e's/\-Clean\-/\-Fixed\-/g' |\<BR> +sed -e's/clean/fixed/g' >pgaccess.iso<BR> +mv pgaccess.iso pgaccess.tcl<BR> +chmod +x pgaccess.tcl</TT><P> +The final version of PgAccess (1.0) will let the user decide what fonts +will be used through a "preferences" dialog window.</p> +<a name="pg63"> +<h2>Problem with PostgreSQL 6.3.x</h2> +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.<p> +In the procedure <tt>wpg_exec</tt> change the following line:<p> +<tt>set pgsql(errmsg) [pg_result $pgsql(res) -error]</tt><p> +to this:<p> +<tt>set pgsql(errmsg) "NO ERROR INFORMATION SUPPLIED"</tt><p> +and the program will work. The only disadvantage is that with some error +conditions, you will not get the appropriate error message from libpgtcl.<p> +<a href="index.html#problems">Back to index</a> +</body></html> 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 zcmdVBcU)6lur3@>5fIcwK|)iKPy?t5RX_zoAOV7e9>4;j1nD5vf+9^qOQC~OLKUPp zK@sUvq)JDMAc!b}qNs3vU%|J2=ey<H-#usZ$C~UtYi8D3vuDjbd$BdN^%8Ipi^iY< zOiTa((~m#E)+j(7z{<k1mt_y@-o1O-*jU*)4s&ws+s6S09XfDWfcL1N053oPF_^UI zF^D9TpI=N~T=K+885x<QqKYaC2xV!c4B|H-Ol)jy9Q!zUI5~L`Li|FA|K)3|9sp!z zy1}HgiwOc?1~TmeGHo>i_<tD5yo>2Kdv~rqdw1<-VP<0e@f3d$0NBIKw3~hZUREY% zmR&zsn3#9%-U9@&91=1*%ndmyYe1ou^m56l>U(%zxkWE7ZRqJkAm#CH)J!N$-S86e zW{jG#`(9zWw6Z5w?^k}v<oTiOFZzDU{P6?|{QUvbu3dX}YytkJ?xZT{&?O;+e(}`S z2!LbP4}*cbfPgcAuD){_ed3S5SgJHBax!wAH8D9I&oBv5Ra1+87vzLi8iWnRiQdKa z_GJQ(r;q8j$+X?+QqIl*Tdd^GX^d?FPCs7BxJ!NZX>R%Y-M-1!-?=v)=ck_Pc!!vC z>7J4Q^6hH&%G3U}M~<qIg4v8!D_%Dmu0qd_&8Pj<?RA*t^cLXLW_rgd+p!0t)QFja znQJRa{3?3dbB#Pd^*_<dD$J(&VxPLEoi3Ma2QAS}hh=4mSlrZwC=Z`o!h~G@_%575 z<G7_vxsVo)>mJqG>~3$PUG@TDy6BzTpH=hQAaYek@=uENd*h=Q%4Th!&w8_##gd37 zSZXFY7AtkM|F$J_);EF?^FHLL4MI-4E4KkN*GooIRNg*G0N?di9o87zcl0mzo!4I+ zRyFfGY@4TB;{3#*t0oJS0TrbsW!~5D2WjKNE!LY~F_#<P6^UPc^Zj<mrkgY$1~=Qi z-#&CDrNFvweGAaKfAX&qHEktLNFc)ZMgFkK;+!(GYLTg2o11<5mL#R2j-uDlo;uGL z){Z*&;_yyQ-42A2$mK&VU|6ya*c=OTn9z4gSg6`};4dOu47k50T;Oa&rAO!Sa`xg~ zQ<1I@+?Pp@ZXQ1$U*$U7+3FT27(FW1DMK%?wOca?Z4*aUY?N`Q94TVE@A^^Yc+x@Z zklcl<Lm_M|)rLvu!gVb|z%8c?;NH7@$E5DjC@L)B<HkxyTnoN?J%l1OFjcIDGCGyI zhIHJeiuVP?T6v=tuF!A{Fg9sHYI=XmUyN(O6%It&XkKb{vJVbz4!Spjx-tX7N7$C1 zZ?6kye>fTTR-!=h&IVA#-3wldl;Zak9@M^CigS_L?;@~l<1tap^EZJlc!@r`SrqTp z*(!Io0XfGsX|zwcZjzZ9MrNqB&9t&|Eqbxuw&j39@0Vg01;5m|&d^H$aPgmAh371b z<DbVJe30p{Zh0H<zbv4pQH>I4aW&=kBI}ZaGdJY1|Ji3lm5&$fC!)>-B(-(zIm2^7 zgZbQE?)cle?2*YSw_RX`S?%1f!ynl^9zXsG@k#3420=cf`=z|QN3g@=@XfK?oClzm zxwGHp{D;ly;$DWvsb-LLA_X6f_NwtN3mEefLR36o#x*!O3q;e^igUg;O->5M6}#N% z?Wq&I!Bn8`I}G}8X+GIJvRdy}d4U5GPqY1T`OjG|8{0@}i{!Nw3p%*NT4a+o`Sg>S zae>hpPAnOAxYzWoSJf&Xj<qixx|HFzlo&cnn#8{x3jY@WvLvXnuw+3f7_5eY(GbHz z!uO(lD%TPgPFfk^r``RiDLGymwu^@D@6%u(N6n@o=-F^wxVKd1dRJwk>(fmaRDk#H zxbtBco6rwOJr_EU@8T$Ex&(nBOSINV$3LA+5p+*5(9SS2rhk_-TrbRc_x<P=;Fdqk z(8h!T6bw4IbTunPL$0=Jz)rj;XLY`Il=IPaMlOxPMu?@wz2(OwjF-Cr!>W^(CsjVS zydB<z=XiqO7a#I$?_roP81B`1FuAeoa`8tgJ)<@Mas5k*7c!AJhcrkAuZ*VAP3bn* z1W6nJdn-e2D3U&}9)?$k9NOBfQjEV-dMdV>TnXVIVq+ruV}#1Bs#B9<K@em$5Gb{G z{7|Y#a`IQ%`Bh)#@9(J3Dhs}t<YekN%?oO<XU17pxRJ7Iu$E<9-7HBQ*8==)9Xktg z!xr9F<1KYAj9Xtv_K=tL@rhCFcw5AhVq`%Xmeik{`O>N7FhlwiEJmgTxqS3Xg|BR) zp@L)=9Ut5%Uo@9_Y6CwS2an|f4=tl?jh8tU;UYN)P71q&+uAxGy;`ZcW1h*dSoTI} zbmL<3ks^7xTt;K2&c)|n9%UBZnF)2Xy`c4s4J;Og5hF)Ec5_jZgM;GlEXA6~K)Ek5 zs!)}#^nu%zT}_#9Yn9~<0^Vwjcz9$;dtjPpi8a(KY(1HM{xQzf?2WjqdobuWGZ~+g zL(UNfZgWX;tBYBuv=Oqr<OhMO79C4+iT9Kn>8*C6qH<s3nis{LDRhtOv9=>Br!*>* zl~?uS-PXs|bt<Ulky0pH8q5TVRN0NPe9k3-aC2%`)Sc~b)I!SI8DL%GJSLT1K1zzm zv^90QCex_~N6olF24&fYiI#5?&*X-4CEpW%G(zkXZ6JRL<7lVQg!hYURzV?V1uTVA zQsTWtY6+R*yYR7<OVs%3@ifG_?9iD4lBjFNVj}*1%;bKUK-BvQ6#)E*yY-ns70QR? z&U?{h&$t8Z+CFz)KfmzY))J&0gM}xYIcMPx!I2DGbh)LbEB4tJ?-P<8akfgHS+zzR zsfrugrbbVQ>Y@mTY`~K1D03>J*BDvNv26HKR^K6c_H}FWqFW^xmzhHFT!2l?nbS#| zArnkSaFLUly|r<)%v8RZUJHb>FmVg;w2H8=R=sanp_;R7^o#7teuSwxb^#|AO^^Zd z%D5ca;I`qe-X$iaD4o0^Xmg<INiG~)simLwm5L~i0fj%J!@j1Y_GrCjnx9QqA68Us z8LilBqV3tAB+%Y$Urp*2_%~Oq07#(!KOL!fXd^Z|Z$o7{r>uUD*{>g7ry046kD~nZ zq)spy|N0>imFwX5AY)=NTnAv3vhyRvdXbQt|9ZV9y$`@;xAP<Im#qIB!6P_#dt4uX zTTNzcCSRDZ#GS81dpte~Na0u;`a0ONDU@p_3kt(Kr0KPu3PdD4+I#$@aW$`=YK2X$ zt<-ZSOM@du*^lM0Ib0ewn@DXN&S?y9vM|Yb|I~#l8E{r><TJ-osu_AzH#7P+<Qj@X zi!luirQQoQ)9og;m)&s__MPJ)eH3dgO0+NtgGkBOjTo(YYkza#*2l-_DfZ4GSrjo| z;?m~1_7Tlv1dh;-x0%l~q~8X(oft}P!tQEo8_D!38od-d;tX8|3;oy=MQ$w%l&x1b zzwyY^X}hj%CLn&`aftGwRV~(o%}gN*=}~MCf4BdMk$q0?<2?g&vCniA7*#}?pzmch zkmij{2UYsxJSTth`?;nZ4O9-^j4I$=|3(`0JYOKPnQ#CDz7fDxI}@L1EeRDN_FZfw z+*Kaa#NQTWe~=+VfsBI_HleqEM(?0i+T9JpgK0faj&lQDJU2RDN8jpcJI#~%<-ml! zPMf9LUAl)zDLUb_a_GrK?2N*bO9bvOIpkzF(b{S62jd67h+vmeWVM`}3uGWNX)Gwa zhjx#M<}a2byA_c}?XSvT9Cq*Sby)lC+Jz7_$XcqrU?~%?$eFudT6HjYH%9Kx999WL zvv*w5aF^maOz7va;mI9}9f0h{`}FtrC6ia<J4^JxBe7vlyy2YhXP#OMjn0cWR9jTk zOeH7ey>cIU6EJ0-VT_rxIipQg?laTHV3KEv4+GN0DUV#-lCjUJ7_M;7@qSHmPmSkD zhZd0EN|~mRJ*PbPWT-v1=k%8vnw8(%sp4TG71>BL?Fj9-Qr(tVXd+cuW%pChONGye zC6eXrbwu{QwQddv8QgJW6isQGEfDlPjca0iW3oZv3K-asKjV3xj?FF&*nFOh!|mM8 zglhiuSkH+H5Nw{7uVO81Cf`W3MNv%5x9tvgx6P+NyIi<Sq33?z!{cf>2FU7y1aRw@ z4uv9XOxCCB^Dic<y8p(^3^F0UAzAHO3%N&iH;rDS*Y=Jm_vN~GP8rKu$pC@5Vq*yj zL#@$nWr?yHiDcVxMmo~b*tS1TT>4nsn&MqGX^omLvwi_Gxd>K?^1t=QgDPuLXm05? zHTzgNgy%Z>>-{RKdc^%<yfGCH2J<cvZN``^QE7(Rv*VI8$sbWUvr7un5Wbk_DXf;O z?N=o5c;bTTs4!fu%z}Eoys8vxoF^qgEroU`_m{OAL{N1od^UXP$QE)074MqaJ{QsJ znP|KEQ>km0&VYNh)0KKn;+XHrV^}Lgo1*j_Z8sJMtgTUDV+<S4mKrD=8(2IRh5k6l z!ZF)v0*`%Rf!yv5uD`e~;OVxj?XhDD+$MLJSzLK`_;<AZKWEwvOHP#tHtI+co0I2% z*-T<IC%@r|r9X0jiVRYfKs}EqmAp~B?$;mSP<zwq7$xus)ixeiG#eze0Gn};)vD1I zp#c*TW~#Hd0PW+Cw*3ga?Y7XH`OlAL_jH{~D_L`oK-~(S^obqKcQ&I$GcHwUJyYc^ zA_-p;_#oiKqD)gVN)ka#Cx0Ps@VH@QD=0Qu_wTcis*`N}IM%@4&Kk9g7q0CN$?2}5 z;Ege6B}6QSLh&<sghmmsJ%tGFEF-TkW(&Z`+k~y3ZQ`_;3i&n>wy#@kjOKgNSlED= zro{OsXK*02NHAqzRR%oy#1<f_=a{S`QFA}OHt3y<<Ry#QU*wOvd;4NqU~RU`ywl`? z+y{-ai{0~4&qtQE$dD1!Qu^%oJCJ(3uw<l4s;L>jzj84*0QKibth5q^PrjFkZc85; zO_@Nknu6VuzcYseAo$jq;a5Sw$pK#6js2~6(QnLFl7KMn-&Aq`#;g$l6#uPv!*9%? zMa=&Ps-nW>lGI|WC56S|i4jDU#w0KhpI^Uv)v_z>CKwSmI7_rNo1=$Sig!z~7t>ou zk<i{VDkch-wgB?!YG3bux(si9^GQSuJI`@uZcPhi4hBA@JrMHm+{a_0_>0_`HUMC6 z`bKsw?`>1s@jU-0IU0AWhOVvOQP0HP4~_ML=&v`cL~jB3=fxT{9UpE1d^eg;7*pI6 zK?{A0thu}y2K^s|r9?91Xag%TnPp=I{^l6d_E{p#OZ}Tiat2p9HVS_k26w;M;M<0O zD9o$ls8pF?&}-NmO|5uMn-aV4pD9H+?892xm8I(~HF3qhp&S>vq)F8=FU&fHAC$>5 zMyQJ+wHq@9slw8Y_lanYppv6A$**`ELq5+dqTzivEdtu9Oyqr8GT$ZG-{&la3=S7f z0W(*GG8wmXy4FjxygOq(DuX!hT;+M6UYQgnkXhC%Z5PA_2U@J9-jaH6Jkfe1(t~D= z-B+mGFu2%XZZ|H8RZ0nK0v_3b2$jf+*X2Ft@gK=y8S27GRkhZai@Y&f@>)JvkARoQ zYytf0Fo59$D_!nnjgIylR~u=i53higj;o=U2Fg0yw*X~s;xh792>oe9i4J)QjfU+- zGLxS3#^9*z{=G)h+Dl9J;cojGFJh-zlOgqi<5SAENnmj5T>FW|ir;6D^XKF@8AwD{ zC5#wEr^XpZP|u}5^*d!a<M>P}nkM;Zx|pkXAqK=szXIi=i=Rr69jo*m$Y38hrBp1a zd(yckenH!`H^H=x<6h@+P_&;8?IEZ*2F%U<`@k>#oX#n6&nr(;aLHq$Nwkmd*V}x0 z@0$x~ifdsK-pM$0iiNA`qOs*&^P{(lRD@pj&s1b5<2mCDNwVOW1aWSq8`Ld;wL-r~ zFx2N^ok;T#XUO?0>{$GCYZ%*e?3o%hK`+DR>@Ed8rE~78GI55X&nIuNA9jExB-!h8 zb+S*s<DuPnvv0F;P0PJRG@Tx6FiGY0OSpcQi?dpAS9fNA9E|tQ+cXp!RrdPyXK1#q zTid0|p;+gVX^c}<$Vp)mq8bdgM<AA?{Dn3ZyY%mjWNRjl`8jvqX-~@?eplOg$6--R zJ?b>B3~R%<hEPkEwDHXLG*L#`)#iETtd{ud6(c;GGteY$N>3t%bY?{AxR9+*VY7oP z%|SFwT$Q&hV3{{@rd2lWMQa!qw?w1X=(Mg0lv$JsuF%PaXtc`GPiO26C`&fT=@Y>O z;~lbM2_$q$bhS@B!O3x?$c|GwA(MLNb6+TVdRqSlQkYBjM5>><B6QzHDRKP~wR2x6 zNsyitOroSs4Ni*1G;-?lPY;)wseMzDHP26YUyH#BgNI7(m5zKtp7|ihl6iV0$LEPZ zjJcwjVRCcs^TU)weAYX0BH-znr9qRJ7fU+l=s$C`NAuqk+drK89(D&*{q(?>IuMXv z9K)}O{cxoAd2x`(FEZedz~J{YAcU#?j1T!_L>`BTc~h|Jumd~`8LXLIMNHyp8WvHg zwiuYm83h<;6XT~}d6@X6{c(>sg<>5}@3dSD*?yMc2ypPiL`s{;dgmP;T~bG4`@-f8 zQDup^=4o=7V9E^NMSyZEZOrE_sI3o4D3j}rb7Grp(7g2ekA4E%G9!wZcth@`dz9iE z)1z0lNSBAYNot&EN(G<2?1S%H05$MeSj!Q3;==*Hi@OX;bllvl^XtwnQTZ(j9o`u_ z1#s?G#yi|EsF;AIg|K1G;i?w>;XlBb+8eK30su|Y9#W43dN;_?Nr}(`jWz8W6!FBT zZOi5AS^j0P2M4%w%XNm^9PZJ}ukLR_1@l9cEEPr@?u%L>;X|D;ujlHd1lO4pqa2#o zvdl3;6+N7d3^qtH5Gc}!vV8IgAgi=(ui!<v!fXp>zcBo2gu-)sq~r+uCj@j7%6AVS zD^YtuzG>`r{3tK|{NAMLWltRz@D{+fq&D)gmDTO-Bz^tw>rXBqhfcMdMAyv)k>SZZ zWF)0AUHZ$=-g=%2ZGm+~;T29w%e5}d)w4EC;l$!e56Xpu!;;=(vvG|q=l=g$+<$iz z$;!k1qGPJV7$+?B9r$3J)7+TTG#Wlf^TSSl4<&sQfY(3hw<=V5nqg?uV5Mj4I&ZEW z?<IkI0UuchSJdghxWUkC#P%w1?+vf)5vqYGjz2KGGPz)|!nxfF90bgJZS%=(x1MKr zrHp*kwA`ehIk?>ddjR{rFAoTKZy0`4-)=Qgfd7KxP}i(>hjKhsAJ}`|poAkrOLBms zr9bNKJ-J!eAP_xY!ccgjBZ<M-_1iK8!i1BII=ZV+1f3`6^coC2XA(+;V}yJnl!QB_ zVg#X+%jY-b-zOY!h@|yMIM4WEMRbKDUgd;FNIVKeN>6dVG9m>L)34&ywAr;LaO+<u zmp37b<t2u^9bN)XgCj1knPN0k&V3C8r4jAN>EC<M{ab)iv-6r4ichNj&!iYakMC<v zt5vo}@-uw*P1u`pez!UUVrqC6Lkn$3i+323Ft*wtm>i=o8K0zmnFOPj&SH_G-b)uW z{c&N3UjT>EQ%Wq>V!i{2#<+77r+E-vte4V6E)%lF;xQtaYVf#x*IOke%P@nkQR`;E z(=G>kyTlpi*LxfXKbB2zCSE!e^BECQQ*$BMxm*~3@Wa%3Z1FTU$$V&C3noRvm=;aB zEPy!Z1P9G$-WOU2`stjG{Yo4);fiw+l8-Xws2*%qjTme{W&Bbj7K+KKRCD{59@(Vf zhLfQq`rbDC5isDaRFD0;!Mw!@scv=Rn9O2&$NhZu(wGDEeZ}sV!5<u=-%21K@<e9} zHQtM5#7MLkS0uws9Z^Kv3}toFx2VWZ2GWI?0NXcjTismFs+WMugvB9F1A<d>PNz;J zEa+20J0f7%C--H~#eS7+q3BjH(m;l{I!|T2xY+=OBB9vO_IB8GaiSX#ObZPOQa7}? zM>n*fiA`X#_c<PNFayWL`l4=>$$(t%Eum?Np)25ouz+&_fMet4nVaV#?>_0RW&e(b zS=~5VpQEYwa^d`*>lsWcS}#onr6*CruX{6HB@Y~NNmutopZ#Mi_y=`xpp0QaB4#o) zQaqQ^tL<&BJwXV)v8>a6U-*?PV4%h)_Kffurla~-us2N{TCs<?Bp_H&iU=;|9e2t! z-?ZF~%f_|3j}02izWzN>{YM*B3ExKJbr}5WPWXzR9E7eMJ9zi;wN~Y+Zrai97Mf`! zS|^8cQ0D24goIVY>Eb%Va2ZOQc<E(XK`vOwl12?2oC?ADa8+H|6*=laIO=;`EP>#S zku%n<LECta!}Uc~69m72V`B(T*T1hHTMapVZl{erZ`kv^(c}}pzathXEG-mrICeze zQd)tSBtwNS$K9@!_?k^jW@IC!KI^usy=u7@d%+1+BGNffK^tomLD}N654fSxCJ=0d z5cKQ%SYQ|b7uD@n-6-#^;zn4#)2pN*+U=ZSGnw+N&(U!lMdBJZmf}c6Lw@Y++vOC~ zn?_xZqN@oH!Q<>WSjzhXc}QcB>HGVIbkij}Yo@#F@2dAED}D&vZi8K!C@gJFQ04f> z<o1HZD_Eu1%e;r)@OpecWpeXEP9s@w<}(-T!q2#TQ8br-->#<7*U{s=hLL-2PQP8# zat>|%$NK+qgITbAwEr>tyJFM$gC7eg7@tk9-KlqA9sXWGSdsg#$0o#grab?=$Ykym z;o9G8lM5c3oi@G#*BhJIewKl(?L&VJ9bAu4uCL&&=U3HQUETmcNADL&!{(KIR5hg7 zH1-Q<FN?Q1kZ1NYSXFrs#|~mKRQs`<0(YYohN;0V73Tas=Q5kzdFSLy%{|9uZMOhE z*QAqjA@G!lJ+|a$Y6Zz-(<T}z^!$l$bEhxb**L5}R*Z_5s0x~uc^b%qSUtW4cm-Ub zXxp`3Dzj}PI@FJsE+|he8`?ilvM3hFhCLTn8CI4?m`gkWxl7xnRaD49RE}z`!Ye&6 zBq_P1uJ(a<*FBD&K$evIPbRl?Fm?2~8+|rAi?@I&JjKuIIK9F}XEZKU`CwJrvN}rh zB)yGVqukLCv$REX4M_gNAntZ(>fus>5blb;%i|>B1(F05b4VPCW#i>owlYwHo78>j zxLUuX<~QJCTNB4p!TI(1ldDX4;F+kGhS2Qyo)4HG>qoTi^TkHvG~CiV@;$TpO#IQW z(AKycd$I4~A9>goHJR&Iyf$F+Xgc)fMW2V)Kz!+lKbHBQR7io>$KwqTmyAVrt6Z+k zz0NghRm6Mi*PE?{?tbg=BCK-J$M~+@-*V3*KRzn|eOEzLAfO@Q=hfB|xz%r&Ml}Yx z?Bt|B-}+rCx&&#zd!x^WzB0G_>Lmy%ma4)P&~|I5W2}_8o|kL^LRWZ81?D*CqpL_L z^xP>tEx5m(8>=LxP#B2YRo5DRz1d4i)8w^Fzv!`<l#FisG{g3$nn?6zsnu$GdBWJx z5C3SoF&y3B&Mu6;x|q>}F9Qu_i)ZuUPv+`i+y*FYCX%MQa*d`s9fe+X`M5|a-0n3* zl}Cn_b{l@gK$=0E#uMqhj(%F?R`N5Sj(|m1P{UEho-le*uDI(sj!T9Dm1litjR8@w zxR9hjzp~bsD3D1^Vxt&o7$Wl&7j19_<z>NK$sJRw!V2e>cjv6w8f4P^sb(idl*J{h zdS}yj0n_?0(!%>~hxHY3_qrBDk0<@u4=ClDn7lT9kb1GrTxQYe(y0(LH(14(S{R0) z^P@Z=aF8En3`M3Ph3}|q#rN`E?Vs+aF<^FK4*I<Bojrol=u+J5phHDC+Yc~>sr1n2 z%{^+Tw!I=I?As0IG=VdL3?Hry^6rm2o{@o#sV`Etd=$pn1OBIH{BcKp@S$Jal;tP* zp+CX|r|PeW0E60nD!<$~`cWCKSNgY5uy6Us@cjqS2Sf2`+Zd1#_zx)K-}4N%lE)P( z9Vv^!?VBUs2=6=@TN^F}2czZMi_p;u-$wKmC#3u1xBOUL&LJ|*hkTz3RRYF@=@Tvv zUl_&B;XbO{+;CD#P#OT&vvAVCmn{?D8OoV_>Z_*K=_dpJg-Ppx9oMl^g#K49f$_+S zXVv5SKu*Q&1Q#v3@{Rqr=jML;OOwSDhx&JdX@tbii-scpF;V}Zm<|x$E?x-o9=fl? z>i5D0{|)}A>7wjz$IZb4pQP*Ax1%HOjto3F<kJ7X;B@y_S^DgiuZIo`djua{^@AO+ z{(C)e+vX4WEO@i{Xc+q>M8Tatd)zmTDE~3^o7Nt0g752cw&lL*{tTlve#^+d$mUev zvZ-z}kzVPN&O~x=iMGu{tWGd_k@&)WeBPK0H+;R^=quAyvuMqbvc}q2!w`WowOG{! z1bzwIjJkH$hBVpT^lkQ=dP&*4`RPsf>yWZ(0y!2@66sP;xf3&JEB?hnm9bwgi@~@1 z@`PtwEiB2ZGlo~E=c?!}Wrv4l@rOUViWZ+@(ZL3$%J5;teXKL1gHp<3(q~J?Qa22} zj2_y}_RQ9Cy~xtQPuDn?_<oRt%ZML&?&l5HC%q$or)S?db7YmevfEWhKiQ8iTeTzw zJQ|0?*>Z_5T7gJ3tQ$%7{)=#?%>F45wpEwhDH`IZA$8ISf~1w_1vC+9Rk}^`ybANI zkHW>F%_-68MigpEVa5bf`ti<)goX*;t1CAY&m1%XTL$PM(FQV0<KT)+?&cJ%m*2T^ zDVClkPdG>(Hg^aiIiklz(P<M-F<j7}Cw{nVMO=tLlY8TYGh|`CH_8a-)jAR^$^BDe z{dyq$Em@L)-9IMqSeVw`miH3CzMngH^N)iM7<hCrtYk4P2+Y_IiX4%7&0G5O;S+=Z z;vTnG9tqD``=T8#FLtjvI^3GHkfYY;UTqO!BE_P)iOTwk%TXBRM#cs<%+npg{fJ!I z6w=Tgx2EfF1V0<&U{v=X$d{MODevG2d{LE0-U*AuRrl1wvqK#edboAYG{XTRH5Xyl zpYR%!(<xs)wD_>@Cz{q0lFe_+f9;EHpH$}HOt=U8ISM=>A@vqS`t{U;GuGkCDMH>M z0gLw8&zIF7@Fr=qDq^vqi0P6<RZ2l<xW`pFjE3@(;uheuw@Hgp{C6Wmd4b$!ac9ZI zXk7|TTetf}`guraEVI5f6dNX|WmeE7Z@kDCd)WY6KaGFY$zCkcGNB|c>bw$n)&D1W zXi})>{NZ3tep?#dGAo5%8jC?Wx1`xCZ%SgYDV?bheJk0aj+K-TXLat>E-ITWBHKYj zxl)P=aMe~D5J8(=o^?g6)RrntDHe;I%MgYi^d9{k3Jd;y60PdOjOkE^KH+ZPmO0hX z+NU@^ZG-TQCPoQvZ!a;uS<~8vO*X4JUEn?38CfWKSGbD7O(JkCLq&h)4PiWg_PTmK z{7z{u^D9>bM*ky#{c+=0dQg1gj}oCDSo)PvKJB!T3R3%(GyG>%1Hg+X9C=RF9FTQ+ z$;Yz4FtF47Gkc!`#}3W%BryNps_`ZO8Std&;^J%NfyV(m{JZ{z4F>shp~M#rMcd#H zcbImH4eRqJ+K4IH_qYpX|99CR^#<?RiQ0H>HX0b~w5dwmFW>yQy8?dXO4(dTw;b9T z2<o*Z5(!SeVOJ8nh8gLnU`twb*5{ivVv~$QtS)-00JTv4)#lQZdmTw|@HF&|2|GNZ z&B-kRFMNS0tQ$jpfq|{WeXE3NWLKfopVC_Q_Y-oeSrGFw$((Hl82NK4r`U|Exfcj$ za@U(k?Y);}kK~<9_R0y9dTf@YYhhS%OXT3hHT&w=H;T5=CP+wq`dGqpH^xlW)LNuH zV|Y*1+P4&{5!SfR$ExPGOeW(YjNIoPrPgUzjZ69Zk(PLvKuEqJ_pFqADabLoO}N47 z#o#9wZfXPi(RXtDC!v%YS@D8|q^zgtu1C)r8nlV$*SqY;FMulFJ-YT@Q{;`TDOiKx zlfTc8ko(@?p}LgFo9Go@0u&AkEj~mn7b}(wvrR9KGf<=D(t=aW-}pA>Hpgc3!6a!x zx$M|B5mF<Xib?bqA=)MZV>sR!9K&2|nG6KKNWM6uFg=2$RgjmR5)v$W?X~~{Qz@|o z@>9nXy}UMM6h0?5*iRVH9s*frt_uKg#{c<^`|nkuvFZjLSyt(qd=uOdzAiZL^07rw zr!b9flyx`cLUgaFOz+V!Lj#VYz{s`)UbZ#CKs?P0GkL^wjSYNd_^qK$K}kf>rGBWv zn2m1E_!T|d8}>M>60OpOv6n{g1u0F{d3T5Oug{FV-K=sHd+fICwFR(nZ+q}!a%ebq zA$RzSugshqH6*B_Lh~(`b?<{=QCGqNwq<IRYxXN6;|%TVYT_M?k59r>Xfh7|GJT6? z&Y__ZO+r$+PqB^;kC=N+X#%)yv!7nl_!{L=xiPax&}zPSIC_R$Rc?i)wTb_zz#>FF z^F4#?djqTQEmM)@-9B7_+uTz{>EBzbN58uz1Bf>TV(CJ<j0WZQaL=#d@4OFZ{E8G> ze*t5d{eETBj9)+uIpB{7`VZ<?91XkqD^Fy(_bVl&{0gpI*~5R&1%v)0Z1{IXMacZu z2iD({MZj$<K42>CjntGyHs(d-oKLJ4_IS3x`|a4s_XA!*xa;XZmdo}NtN<e#t1CsS z;L0sgX4f~9!-sYhWwlhpog6Q`%f3<Z$aJSII3ceYFxXPxRG}PaQ~uES)r*re#+ym= z7SH|mao>7wTt9)s6T*vQ4(&4s$7iCZmt%)z`HYpuXjJ_Ku_&NG<T|9{Q`6>#_t(p> zg16fM_25R<oCt6&C*%_psh^NA)^F=)n1TFtftxwQzpuUf^y1l0%aqKrL+-RpLVu}$ z#sa#W@CS%(-k&7kr|c^|mhVMv0o?xE#QP`4u>NTyK|c*OA}d>i+k_QTPXp3`_CFRO zGVN{JiG`}M?M@jna)Tt+wk&?IMr8}Vjya0*l};v0Q~Ga9FQ{g<V}u*Q3HPJa?o$yE zldvy{j`^(XTY!_Hr4PNJX0>AxPvm?ev}ChhWAQ$RQ}(zQk98w*?3XgAgp`vs<;C;Y zk=hu!)i5j`t3TCDICx8jfuh2OT9@+&V|qSB>a-PwPD#snOOzZFCT<v|c8X~9lN!8q zhjq&srVq9NhnJ`4Y*O^U#a#D4+^<R%A-}}}3o!~LEQoBIUQa}uHRkTg26DfV^V^FZ zV1_Fl+7~6*l>BYh;+b~jyc_WKhH$Fo!<v1Vg<9c5(1Xde2$rmG9Um6>n4EI^^R1|% z80FXj>$-l5N>5HW8^|#Q5N2BbV&Z{-_>g188z)c-tQ~3w&ZJ#dJ4{O)u726Yo$M{S z8)a)?C4N}OOHHO_UWbzNiNJS-^dz-2$@XoSunjLKiUfyx+Jykeu(tvLyKMhl1)hZd z#ku|~K`y8C*h9azxLN!<WN{Jb&z$jX>Ab^(c)lG%7{DGr#C3GuYSrj!{SNU&3}AS^ zK4%M{bR;o<j^!7{c9uE)(;m$)L$w1JPRQ*LSO8ZpyG(`d$1_54Ajh20=(c<BJ|~jx zw}I$GLBAi{*r}ll{}qk=j{@VbTG{I2FYJLS=NHTXyS-CD2a!Jg17EoI_d*&9x85m} zt=Z>)k$(!uYZnaH1J4C+qw1pj7E|9l9Nb1$n=Jk{RsK`&e~`Zr)W-T-?T5+|&Fnl( z?-G!)&?jLG`r7LrS02>P0D{|d-wC1V#=<c%KaeZ$%P(aaCt`Dr0*75N9w#t_WVJ)V zZLY2NQ<oPvv}@Gzm;Q;k{cj%?;r|J0oRqt)?KUgr0Aomrb)vl>aF@ty?GYyj`$y(A zWO5=z%w`v$TL4JmsZ%?Mhvo@#+MN;5ZNqe7Hn^}jfi?7Dqly#dbXoY9(1Ve*y|NWr z8@<Qpj>)whC1`wWWD*eDf7vnSW9Eg9v)f$Er_S*Y4nyB)J&q3;g<T^ZSv|Ph^PXZs ziRNI;jgw5<{aF{zdYBWV3Lu+SySDoSdjsYweu`z;?hj=!b#9C0{MjF%iQSdBEtc<R zf588~SsBUgof|G>_;8NzwoF-@0r9@rhRl9QmCpS^+B^kiOOjbA-U6J1+TeThe6eQZ z_LBR#AvN?LIpXT1%DYBQ$$noIBiVdVL@825>9a|lhtiR?WsdeFlri5!_BLaP6veBK z{9x^2^NpoTIfl6@A&JjG5MWhrnb4cWD7F}G>gmrJ|AMyu2W!9oRn2{GbM1)AllEpH zN@jykYwJ2Wigl`F8=e(#6x<g$egCV>or2}o@<!a;@hj>jQf`N;!^ialG!3&K?!P7w z+#9Gf>~QI+zCau7X`w~gyYaI1HE<}Zg-Dnd^*B<KHq2cWHrBM9GiUwEbFZmI+%T0} zq|xHj1z&NQ*2r6!+(yb_#%~AfZ9qmfQb(W_eMWIyT<hmE`ZH<=`OxO}gt1019G4Il zO|2H_H}xI}5<y#uDnVWVmE!9L_HUb|i7-QDGy3A45i?b9RnIYskA)7l(d>>&iRou{ zv?eLV<lN7<R~j`Ai*?jVL#G&AdTpEM+--ixzOC}$?aT=SQuPCNU7~rqB#KCCB%F<W zx;@NuOW_u%Wvg{V4+gEHq9Y}anTXM`z2WICmwhC~tYYwxT7N`uYp;pEY5QWaX|s&Y z?l^Z!f}Soy+wB!9dNtoy9Ghr<S<N-|9R`@w+7X8Gi6$X+J8pZrXom|iWY#dwat|_t z>OEW6CNaD$SuGh3Hh$t=_qv#40*2EvpHnllc~^M#hX$q*aEtdZ>nb&}{k0tZ<g!fC zlNUK$AJJ~?mEQu;ZdM$7Qv7-(;rtzs96rH_T>9(mQ-KQXXwE2ffBTw2%GsecC!Gfx ziv8ev)_-AS;*nF~Gl2KtuI#ezDM!>Do<C;?fU@iu^Gn~$-4}NR?MPNl29S3&-rO+( z82}925ws(j#g+NQj-X$Xy8!?BCOW(r9Qhz!q*FGdo4%_J%iW$>e8{dA3+dSc6n*=; zeFSki<I@e(72k1Djh(Mi;lINF;FFhCrzN^ewXz96=5Bzg6=Z{iC?7_fN0bEtf8a~^ zOHMCp>po1Gnk^aV5X0Ve^EpTZRx?Y`i7`N6Li)TFM9An$1i1fg5+VVr6nL@CkgVVm zxl}b?xpvLwUAEtNkG|7@#ib27(Px}B`Q$U`#xEC*Zg-(44p`51cRh7Td@CW2=yGa2 zF(o7+o7108SQ?Qe(&#JBo-y33YkqXKIB6+t&a-@f7Lb*Q69tyf&2?{(AtkW^mn34* zw_sx(i{H29UaB;53wb?sSCYLb*X-y}8*ohh{iwP@g?oI+z7rF!L*^_P9I}CmjlR~` zNKaWuVLqAh_b!|e@9rQZM4-JW)6uuE$=YEgk&@~JSZm@$@%Q5kSv8}1RZrI(^<w$1 znDAVW2>VcP7Ni>gLE^aXUGQ)zkF#QKm6x?#AR$bGblEJ2<}69CfoHacv&9~}Nsa7# z)qCFAf%8N><yl11UK`<oG#~Tv>z!h9y%^kLD@4zIy7V97^Y8Bw-x-M9V&RGJe1~4$ zG}(Qear8;&kMDNJobFhB_<*I{=5GU+{V2lff{rl3`mu<ow?-GB6Uzs7%xpYj%5LDC zH*=t;__XQH3LO4-;s3(PTv&8CYuu>$Xol6*q8%IeSY8y@{l{e2)Z>%3=jQ2-Lar+T zj2+{Hcf?4%VZ!cM@`o=BGShbC@7P}df5Xg*yfbzmqmHEXdhVPYTM&FU?9w+Dko%zz v*xcWn=q%~^<KF_@CB@<A=j$f<3$R!by(^#EP;^3L!S~%7TY%@GTf_eY{H1#0 literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/doc/html/tutorial/sel_tbl.jpg b/src/bin/pgaccess/doc/html/tutorial/sel_tbl.jpg new file mode 100644 index 0000000000000000000000000000000000000000..548dbeead372a0dceb54dc67086fd4d0056fbfbc GIT binary patch literal 15983 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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 00000000000..8ad8c2ae18f --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/start.html @@ -0,0 +1,74 @@ +<html><head><title>PgAccess - Getting Started</title></head> +<body bgcolor="#C0C0C0"> +<h1>PgAccess - Getting Started</h1> +<a name="getpga"><h2>How to get PgAccess</h2> +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:<p> +<samp>http://www.flex.ro</samp><p> +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).<p> +<a name="uncpga"><h2>How to uncompress PgAccess</h2> +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.<p> +<h3>UNIX (Linux, BSD, IRIX, Solaris, etc.)</h3> +The files will be compressed using "gzip" and packaged using "tar", and have +filenames like this:<p> +<samp>pgaccess-n.nn.tar.gz</samp><p> +Note that "n.nn" will be the version number in an actual file.<p> +First decide where you want to have the program. A typical location on UNIX +systems is <samp>/usr/local/src/<name></samp>, where <name> is the name of +the program. To use this location, download or move the "tar.gz" file to the +directory <samp>/usr/local/src</samp>. Change to that directory, and +uncompress the file with the command:<p> +<samp>tar -zxvf pgaccess-n.nn.tar.gz</samp><p> +You should see the files listed as they are uncompressed and placed in the new +directory, and now have a directory named:<p> +<samp>/usr/local/src/pgaccess</samp><p> +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. +<h3>Windows</h3> +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.<p> +<a name="putpga"><h2>Putting PgAccess where it will be found</h2> +<h3>UNIX</h3> +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:<p> +<samp>echo $PATH<br> +/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:./:/usr/local/pgsql/bin +</samp><p> +Usually the directory <samp>/usr/local/bin</samp> will be in your PATH, and that +is a fairly common place to put programs like PgAccess. Other common +directories in the PATH are <samp>/usr/bin</samp> and <samp>/usr/sbin</samp>. +Simply move the file "pgaccess.tcl" to the directory where you want it.<p> +<h3>Windows</h3> +You will usually link PgAccess to an icon, so just specify the full path to the +program when you create the icon. +<a name=startpga"><h2>Starting PgAccess</h2> +The easiest way to start PgAccess is to simply invoke the program by name:<p> +<samp>pgaccess.tcl</samp><p> +If the program has been placed in a directory listed in the PATH, the PgAccess +window should appear.<p> +<h3>Starting from a menu</h3> +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 +<samp>/etc/X11/wmconfig</samp> with the following contents:<p> +<samp>pgaccess name "PgAccess"<br> +pgaccess description "postgreSQL frontend"<br> +pgaccess mini-icon "mini-pgaccess.xpm"<br> +pgaccess group "Applications"<br> +pgaccess exec "pgaccess.tcl &"</samp><p> +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 <samp>/usr/share/icons/mini</samp> 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.<p> +<a href="index.html#start">Back to index</a> +</body></html> 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 00000000000..e5387e618df --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/tut.html @@ -0,0 +1,50 @@ +<html><head><title>PgAccess - Tutorial</title></head> +<body bgcolor="#C0C0C0"> +<h1>PgAccess - Tutorial</h1> +<a name="admin"><h2>User Administration</h2> +The procedure for setting up <b>postgreSQL</b> usually results in a single user +named <samp>postgres</samp>. In order for anyone else to use <b>postgreSQL</b>, +users must be added. The program <samp>createuser</samp> accomplishes this. +First become the PostgreSQL administrator (usually <samp>postgres</samp>):<p> +<samp>su postgres</samp><p> +Then create a new user:<p> +<samp>createuser jim<br> +Enter user's postgres ID or RETURN to use unix user ID: 500 -><br> +Is user "jim" allowed to create databases (y/n) y<br> +Is user "jim" a superuser? (y/n) n<br> +createuser: jim was successfully added</samp><p> +You can use either the UNIX user ID or the postgres ID to identify users. See +the <b>postgreSQL</b> documentation in the "admin" section for a fuller +account of users and groups.<p> +To remove users, use the <samp>destroyuser</samp> command in the same way.<p> +<img src="screen1.jpg" border=1 align=right> +<a name="basic"><h2>Basic use of PgAccess</h2> +<h3>Creating a database</h3> +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.<p> +Press the <em>New</em> 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 <samp><username></samp>, your +username.<p> +Assume that you want to create a table with entries describing bibliographic +references in the field of chemistry. Choose a table name, such as +<samp>chemref</samp> that will be easy to recall and find in a list. Enter the +table name in the first input field.<p> +When you already have tables in a database, you can use the <em>Inherits</em> +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.<p> +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 <em>int2</em> 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 <em>varchar</em> type, you would have to specify how many +characters would be allowed in the field.<p> +As you enter each field, click the <em>Add field</em> button to add it to the +list at the right side of the window. You can change the position of fields +using the <em>Move field up</em> and <em>Move field down</em> buttons, or delete +a field if you decide it isn't what you wanted. When you are finished +specifying fields, press the <em>Create table</em> button.<p> +<img src="newtable.jpg" border=1 align=right> +<a href="index.html#tut">Back to index</a> +</body></html> 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 00000000000..8282fb9a422 --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/tut_edit.html @@ -0,0 +1,39 @@ +<html><head><title>PgAccess Tutorial</title></head> +<body bgcolor="#C0C0C0"> +<h1>PgAccess Tutorial - Editing a table</h1> +<img src="sel_tbl.jpg" border=1 align=right> +<h2>Adding records</h2> +Once you have a table, you can begin to add entries to it. In the main +PgAccess window, when you click the <em>Tables</em> 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 <em>Open</em> button will open that table in another +window, as shown below.<p> +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?<p> +This is best handled using the SQL <em>COPY</em> 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 <em>delimiter</em> 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 <samp>newref.txt</samp> that starts like this:<p> +<samp>Cassileth, BR~Unorthodox Cancer Medicine~Cancer Investigation~~1986~4~6~591-598 +<br>...</samp><p> +Notice that there are two consecutive tildes to allow for the fact that this +particular entry doesn't have anything in the <b>Editor</b> field. +You can then perform a <em>Query</em> as follows:<p> +<samp>COPY psyref FROM '/home/jim/newref.txt' USING DELIMITERS +'~';</samp><p> +This will read the records from <samp>newref.txt</samp> and insert them into the +table <samp>psyref</samp>. See the PostgreSQL documentation under the headings +<br><b>Tutorial|The Query Language|Populating a Class with Instances</b><p> +<img src="addref.jpg" border=1 align=right> +<a href="index.html#tut">Back to index</a> +</body></html> 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 00000000000..8fca641e6c0 --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/tut_new.html @@ -0,0 +1,36 @@ +<html><head><title>PgAccess Tutorial</title></head> +<body bgcolor="#C0C0C0"> +<h1>PgAccess Tutorial - Creating a table</h1> +<img src="screen1.jpg" border=1 align=right> +<h2>Creating a table</h2> +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 <em>objects</em> that are stored in your database, which should be +empty at the moment.<p> +Click the <em>Tables</em> and <em>New</em> 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 +<samp><username></samp>, your username.<p> +Assume that you want to create a table with entries describing bibliographic +references in the field of psychology. Choose a table name, such as +<samp>psyref</samp> that will be easy to recall and find in a list. Enter the +table name in the first input field.<p> +When you already have tables in a database, you can use the <em>Inherits</em> +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.<p> +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 <em>int2</em> 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 <em>varchar</em> type, you would have to specify how many +characters would be allowed in the field.<p> +As you enter each field, click the <em>Add field</em> button to add it to the +list at the right side of the window. You can change the position of fields +using the <em>Move field up</em> and <em>Move field down</em> buttons, or delete +a field if you decide it isn't what you wanted. When you are finished +specifying fields, press the <em>Create table</em> button.<p> +<img src="newtable.jpg" border=1 align=right> +<a href="index.html#tut">Back to index</a> +</body></html> 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 00000000000..fdadbe8e6d3 --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/tut_sel1.html @@ -0,0 +1,36 @@ +<html><head><title>PgAccess Tutorial</title></head> +<body bgcolor="#C0C0C0"> +<h1>PgAccess Tutorial - SELECT</h1> +<img src="altern_q.jpg" border=1 align=right> +<h2>What is a query?</h2> +<em>Query</em> 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 <em>asking</em>. +As we saw in the previous section, a <em>query</em> can simply copy +records from an ASCII file to a table.<p> +The PostgreSQL documentation has a complete list of <em>queries</em> that can be +used. We'll start with the common task of selecting records with certain +characteristics.<p> +<h2>Selecting records</h2> +<img src="altern_v.jpg" border=1 align=right> +Suppose that I want to know all of the references in the sample table +<em>psyref</em> for which the word "alternative" appeared in the title.<p> +By clicking <em>Query</em>, then <em>New</em>, a <b>Query builder</b> window will +appear. Clicking in the area below the buttons will allow the user to enter an +SQL <em>query</em>. The specification of the <em>query</em> must be exact or +PostgreSQL will return an error message.<p> +The <em>query</em> shown will <b>SELECT</b> those records from <em>psyref</em> +that contain the word "alternative" anywhere in the <em>title</em> field. The +'*' indicates that all of the fields are to be returned. You might only want to +return, for instance, the <em>author</em> field if you were only interested in +which authors had used that word in the title of their work.<p> +At the right is the record that fulfils these conditions, displayed in the +<b>Table viewer</b>. If you wanted to save this query for use again, +clicking the <em>Save query definition</em> button will do so. You will then +see <em>altern</em> listed under <em>Queries</em> when you return to the main +window. By clicking the <em>Save this query as a view</em> tickbox in the +<b>Query builder</b>, the result of your query will be saved as a +<em>View</em> which you can access from <em>Views</em> in the main window. +Click the <em>Close</em> button to leave the <b>Query builder</b>.<p> +<a href="index.html#tut">Back to index</a> +</body></html> 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 00000000000..c4a6f09fbb3 --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/tut_user.html @@ -0,0 +1,28 @@ +<html><head><title>PgAccess Tutorial</title></head> +<body bgcolor="#C0C0C0"> +<h1>PgAccess Tutorial - User Administration</h1> +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. +<h2>Creating users</h2> +The procedure for setting up <b>postgreSQL</b> usually results in a single user +named <samp>postgres</samp>. In order for anyone else to use <b>postgreSQL</b>, +users must be added. The program <samp>createuser</samp> accomplishes this. +First become the PostgreSQL administrator (usually <samp>postgres</samp>):<p> +<samp>su postgres</samp><p> +Then create a new user:<p> +<samp>createuser jim<br> +Enter user's postgres ID or RETURN to use unix user ID: 500 -><br> +Is user "jim" allowed to create databases (y/n) y<br> +Is user "jim" a superuser? (y/n) y<br> +createuser: jim was successfully added</samp><p> +You can use either the UNIX user ID or the postgres ID to identify users. See +the <b>postgreSQL</b> documentation in the "admin" section for a fuller +account of users and groups.<p> +The reason for using the command line to create the first user (other than +<em>postgres</em>) is that <em>postgres</em> may not have X-Window permission. +You can also create users using <b>PgAccess</b> if you are created as a +<em>superuser</em> as shown in the example above.<p> +<h2>Removing users</h2> +To remove users, use the <samp>destroyuser</samp> command in the same way.<p> +<a href="index.html#tut">Back to index</a> +</body></html> 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 00000000000..f2faede0153 --- /dev/null +++ b/src/bin/pgaccess/doc/html/whatsnew.html @@ -0,0 +1,50 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.11 i586) [Netscape]"> +</head> +<body bgcolor="#FEFEDF"> +<b>29 August 1999</b> - PgAccess 0.98 has been released! +<ul> +<li> +international version (romanian, french, italian translations available) +in separate files (japanese translation now possible)</li> + +<li> +context sensitive help, complete help for SQL commands</li> + +<li> +geometry changes for many forms</li> + +<li> +form designer enhancements (widget icons , new attribute window style, +form startup script)</li> + +<li> +ability to inspect PostgreSQL system tables (preferences)</li> + +<li> +enhanced table design window, table permissions</li> + +<li> +distribution archive changes</li> + +<li> +unified internal global variables</li> + +<li> +unified internal window naming conventions</li> + +<li> +usage of Tcl namespaces for all modules</li> + +<li> +PgAccess developer <a href="api.html">API</a></li> + +<li> +web site enhancements</li> +</ul> + +</body> +</html> diff --git a/src/bin/pgaccess/doc/html/win32.html b/src/bin/pgaccess/doc/html/win32.html new file mode 100644 index 00000000000..368eb9990eb --- /dev/null +++ b/src/bin/pgaccess/doc/html/win32.html @@ -0,0 +1,45 @@ +<!doctype html public "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> + <meta name="GENERATOR" content="Mozilla/4.61 [en] (X11; I; Linux 2.2.11 i586) [Netscape]"> +</head> +<body bgcolor="#FEFEDF"> + +<h2> +PgAccess on Win32</h2> + +<hr>In order to run PgAccess on a Win32 workstation you should follow the +following steps: +<ol> +<li> +download and install a Tcl/Tk package from <a href="http://www.scriptics.com">Scriptics</a> +(8.0.x or 8.1.x)</li> + +<li> +install PgAccess package</li> + +<li> +check the Tcl/Tk version that you have</li> + +<li> +check the PostgreSQL version installed on your database server machine</li> + +<li> +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</li> + +<li> +check if your win32 workstation is able to see your database server (ping +yourdatabaseserver)</li> + +<li> +ask your database administrator to verify if your win32 workstation has +access rights to the database (pg_hba.conf)</li> +</ol> + +<p><br>You should be able to run PgAccess. +<br> +</body> +</html> 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=cPdz8F<gR-TM|eMgllU<MIn zG#AEA^4>Vtt8;ZU6}*8fN=}7MkcV*v(PfLQNMtQD6Vc^BClNfu5k>~&`-07Y4QQWE z%UET2f*Y6oysdV#A~G-5KirH<J)VuDTYBmgRv{V|Eq+ZHCi$3zSx?>04Cm!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<gWsRfZ=n!Kpl03Ed~!yAW^xl(I(0s>{_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<g;<T#A<>}@#UF|mD)J-Iig5L zvSI5g`N+6zufDo~NMV=3@TlxoVGdM)$reOcEto-sKqR)7nThCnMkg^m!x4rD<k!4S zfemPnZdcJ{c!Iki`6srXW<_KcS68Q6)%Bi@quV+<iKc;rXjpWLXhM$UT@nVK($3`a z@~&<J#boH4me;Twz@w6>+PI(xs+ebh01+Kp5W^5=wn&m#@7Xz;$!8k%mR8;vr<XJ; z-D|Q^X<7D6jz)AYg%;oeCz21tI*~HQ%*pn|);zN#dMR_xHZ^-guAI^LW6*$9=EFZE z%!roM-{>F_39Th&L$o@YNs{<k9yjVB1v0p#@w|$3C-D;gd7`A#Z6qGv!A;A@T=>3^ zI&{?~QEiJ-=1V(%?>U%;<Pi3OhGeB}o1VQRXM>psabqoO9M`Bp2_dZfrNF(w0zm-= zJSI?KcUw-Q)&hHwLr_$41Kdp(Ww@QRy!Xzz(r~f;tKn1188h@&+BN%OCU}s<Yduf* ze9xiU2ks!`6#+uN+_k}i!Wx6wF(hiRC;EY!2fGgFf<^)q1q}<;sr`Rvs4L(71<*09 zp~1s*cJU@{+IdQrZ24BOZU2GokG5he6{MbCFMV3P)1RM+?lwQm<mUC0D<{Uj9+}*+ d?qO!f#?P<r6;Ai^^yBj{X3fo>qx}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$$<zs5Snk-mIK_<%kt{5fx-bh7=e-AJQN4W=@jvKyeK_ZH zzTb0(M|PLrpJFhcp{+`#vb?;!`tRzDoM_l-#fJ^e%C7@9ImdpM+(1}57uRQ5y-jB5 z_V@2p7YCWkL<3Sj9wn#9PZ@W#TkmS(b%oHtjLDpe#z72Y%A#u)%pgK25?jm6M0BL6 z(-@xN2t$4He90ET2K1i(yM`9S6WlQ=-LUn56_L5Ma_^g@y1}z?G^Z!W(K2ul4U2pc zO&HANeiDVA0%rzGa=&gv#bjtj%b&0t!DCXa*|@CxYFJ``01+M8HB3S!kTkX4vvYL5 z6gKLKR^Aw=?`l-r)ifv7#Ik2{G^+axNB|Ewkx~@ZiIg$sq9C<3&+Le9%SC5fn!O=c zDeB8Hs86a((V7!xR7>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%}&<PgrNxB+e>PKL<R#Cz|Yn;4qOo;Q3! zIb(WXNVaGnRKja%+?glcB>}2E;M_}oEI<SpKHUv8(NtJx@a=x2in>Ohq2|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!#<q{LKSiz><T6oxj@2nLh5Iw#S8B7& zUlSE&G848>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#w<!Ywl&Y}i0;dxvn!gtAy-Q2as(Qd z%2N1W5@u3M;+=Gmh=kS>vmsiWO2u*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(=At<P*0q%(_rnnQgz4y+!xrsvOO~WUYGiL0ubZYjW zh2T~k^?6SB|2u^0Ah??%zYrkg6FnL<71kO2HjP+~^cPoA^W84<8Zl51G%Qrt_WQ+H z?|knUKqs-DMm}G(cQ4XF;;ZyezvJ>o73g5JdGE^L`1Hu=$<a^MhwCrtA%h1$ZrgHm z&*ACWz1POKTtELRTmIsg@X-D{-%Wk9`)1#T@}qr!d~|T$Y<Rt6*G#EdK5(Odpt;%n WJ%8wS|9tD`V+Vho`Rjuu;gh$)trisk literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/images/icon_label.gif b/src/bin/pgaccess/images/icon_label.gif new file mode 100644 index 0000000000000000000000000000000000000000..d60681690ce84ae61c296e84474f1288ae014b98 GIT binary patch literal 80 zcmZ?wbh9u|6k!ly_`m=HH*Va}0ns241}6QU{*|Y>_!qNuZ0mZzu`Qe5?4ep(tmm@R e6-GG^RNv<u3X)yCmhHN@1*cubkw*&|7_0%vryHRF literal 0 HcmV?d00001 diff --git a/src/bin/pgaccess/images/icon_listbox.gif b/src/bin/pgaccess/images/icon_listbox.gif new file mode 100644 index 0000000000000000000000000000000000000000..c485e9be40607bd4aa2c0d5fb14e772dd10e9ba9 GIT binary patch literal 896 zcmcJO&udgy6vw}Ja>YYP<*6rTkt~7?#f0c2Peuo%a0{VLOQ4US8*yRU27-ta^x+Q> z%&t&Hqzt7{XfKUqW<YphaIz~mRgohG2`(gvJE4fUFz*eh5V_76{1ZH@1LttQ-|q*` zx8HqJIy}u_yaDFt=hxTQ-)_Ejm?=x4Y0oK+4b8~v1)EN@KT9qSiiM;x$LcJZ^1YL% zs`VM>pNL|aEQINK^09G+9s2wVVuk$%W04$C;V7sCQz(h9SuleLfk<L4GZWFpyv`DM zh9ivi%ll=U0~^pG-Kt@O;R$Y5innc}hZT|eZ*%k4wDyH(<LH`>k7L8YK{PDdK{R2M z<Vh9=o_d@aEy|OI4HT217g`>`?gU4Yui2!e`)gQcfB+F4S`fn!Dua?`)_Zo2D#d)W zk!t0Qae7Uo+Sw*6)zq?Qax|$&b4URXIFVu)Hi(olW=ZyCw(gl7(LGsmc0;o_<mU5w zF#+{UbvgV<!c1z(ZCMA2NN6oF8=}o9pJmCvMO<ot6v*JT#+@2^+K$)oNfUEgwYKDe zNL~+xPy47%cQLekhyz3Bw7hEBr=EkkJX%TS**kI(WC&p&XrwdUutDWk(%jA(M>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|HgfP<MV$Dcz`!J+ER^73 zc)+<+fZ4>xL&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_qN<H9Zb#d9#0lU5Y2P^T_GWzp<`@0H1xt$Wrs&@&M_Q}J7b>B{Pzlq@6cgaLO8 z8X*+H7(Vh7stH=g^CsAX9D<UH>fkoz$pEb+_TD?^#`2}s@4C+@XH4%OX-(U&<zOa> 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<B3aC0pq-L-l4qx#B87`sZ6Pg#xM_8vRUsAWMEkII zQ${JM!7d6}lveOsp);exi&G~HX}L)&auksuR0DP)6rlwd=DjCo5xJdd@K5NsI*Y^k zzV8QT+xuH9Z|z|)o}#CEy}q=xw6eNVlTycit~fHZUv7P2lRfMYlZ%3KDQ-`(I!vZ^ zZTEpjYd`Z|qDUr6VRD3gWL#-bADKs_@S4GRRbE%&7^nhMs)%k{FoOtzNNg=L6VcIv zPGfk6Ba9ErvpL%bHlR0k*2FTy6WpYfuh@2u6_Ht3U7b#vFL*YNPV4AnEE_n8hDEoC zCXA8XO~b%b&Y7{Y+-=)HF&X+>%MI8U!Br_VZCugAP0TSsfQSw)h+zmbc}Y|2Jv&D; z<wB>OXyuJ@dQqd%+a@cG#Ik2{G@-}(kN_TVBIPh_6DecNth|!imS=WE*JRe&WzF7@ zs~7Z7F=$vCbK!p^%!HP{wdf!b39Th&L$q2gq-p$X8DF+R3S@9l<F_Vq-NcJ{?ujXl zY|S3X%YkAzG(-Uz6WaU4!9jVD*~GJV<faOg#mGa72!}wU@+h;*Hki2-cludlheiuZ z2w`Il1P=o91O*uIc7Y0e(^3wt1nfZ$K~2RSa4%d`;4DqN_s+Sg@mlt*<NK5|X7sjX zE&Jz8a4C)ZJ?94=7ttI7cPa8C0Yd()XM=f#bp~g*BUK{<(NnZM*mYS~G*X}@=vb(3 z^Z!w!z1zKC07Y0&Bk#@H1<*^c?)t8p|NX>3e<inj_Q$%~us(lfGWcuDF>F3QQd~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 00000000000..62dc80bb42c --- /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 00000000000..157dd4feb61 --- /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 00000000000..3293632e616 --- /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 00000000000..d234ce3b0e7 --- /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" +} -- GitLab