At 16:40 04/09/2005 -0700, gossamer axe wrote:
>> I use MySQL and Database Designer 4 (DBD4). DBD4 is excellent and allows
you to >create a DB with a GUI. It will also import the DB into the GUI
from the DB. For >example, if you have a DB already and you want to modify
it, see how it's laid out, etc, >you can import it into DBD4. You can also
write queries with it, and it supports plugins. >One useful plugin is the
PHP web plugin that will create a web front-end in PHP for >your database.
>
>I'm working on a database program, it's done with MySQL, PHP and
>Apache.  It's basically to keep track of items pertaining to crafts. 
>Needles, yarn, thread etc.,  I'm learning PHP as I go, but a lot of
>people who run Windows don't know much about installing Apache, PHP
>libs and MySQL.  I've been reading a little about GTK PHP to create an
>actual program rather than web scripts.  Does anyone have any ideas? 
>I'd like it to run in at least Windows and Linux, and be a
>self-sufficient program (not needing a lot of extra
>software/libraries).  My programming experience leaves a lot to be
>desired, I mostly work with PHP, Bash scripts, very little C (I can do
>a little more than "Hello World") and some Pascal (BBS Days Doors,
>Utilities etc.,).  I don't want to spend years learning a new
>language, basically, I'm trying to easily port what I have (most of
>the site is done) to a non-web based app.

Lan Barnes will be doing a presentation at the May meeting involving a
database application using Tcl/Tk for the GUI work and program logic and
PostgeSQL as the database.

As far as GUI programming with database capabilities, what you really get
in the Linux world is a GUI toolkit like GTK, QT, or wxWidgets, a backend
database like MySQL, SQLite, PostgreSQL, or Firebird, and finally some glue
language to hook the two together. You can choose the glue language from a
variety of choices from C to C++, Perl, Python, ObjectPascal/FreePascal and
others. I'll mention Java as the All-In-One solution.

Unfortunately, there don't appear to be any development environments out
there as simple to use as Delphi/Kylix, which are commercial products from
Borland. The above mentioned Database Designer is written in Delphi/Kylix
and is an almost trivial program. I say that because all the heavy lifting
is already done by prepackaged objects that only need to be dropped on the
form and then hooked up with a few properties. You get real-time feedback
between the code and what you see because Delphi/Kylix has two-way code
editing. You stretch something on the form, its properties change. If you
change the properties using the property editor, the visual representation
changes (for GUI properties).

There is a project called Lazarus <http://www.lazarus.freepascal.org> which
is trying to be a clone of Delphi/Kylix. It is cross-platform and uses the
GTK toolkit for its graphical portions and uses the FreePascal compiler
<http://www.freepascal.org>. The database portion is still somewhat weak,
but Zeoslib <http://www.zeoslib.net> has just been ported over. I am using
Lazarus to port some Delphi programs that I have written. 

The only other thing that comes closest to this is QT designer, which
generates C++ applications.

You might try something like Boa Constructor
<http://boa-constructor.sorceforge.net> for using wxWidgets with Python.
I'm playing with it now. There is also PyQT and PyGTK. There are
equivalents for Perl. Then there is Glade, which gives you an XML file that
you use in whatever application you build and it's up to the app to create
the bindings.

I haven't found any of these to really be a satisfactory solution. The
widget set is limited and it is difficult to create/derive new widgets and
add them easily to the palette of available items. Because they are used to
create the GUI (and nothing else) you don't get any help with the rest of
your applications logic. Of course, that's a matter of personal preference,
and I'm sure someone will start screaming at me about clean separation of
UI and logic and how they hate Integrated Development Environments. I can
also tell you that I can build a full-blown cross-platform GUI database app
in about 15 minutes in Delphi (and soon Lazarus).

Since you mention you know some Pascal, I would suggest trying out Lazarus
with SQLite as a database backend. Lazarus produces a standalone executable
that will need at most one DLL/shared object for GTK and one for SQLite.

Gus


-- 
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg

Reply via email to