tags:

views:

654

answers:

5

Hi,

i'm interested if it is possible to make an application like an Address Book (Windows: Start->All Programs->Accessories->Address Book) in Delphi Personal Edition or in Turbo Delphi.

If yes, how to make it? Which components to use?

How to make an application to be used on some other computer, and that no files would be needed to install in that computer for the application to work? (saving data through some form and an option to search for particular entry (like Find People in Address Book))

Regards

+1  A: 

To start with the first question, you can write (almost) any application in Delphi. Other version often implies a smaller library and possible limited use (as far as I know you can't sell comercial applications build with the free version, but maybe codegear changed this)

An addressbook is a nice and simple (database) application. And with database applications you have basically two choices:

  • use the data aware controls
  • do it yourself

Data aware controls are great if you want to build an application fast. If you have a life connection, you can show it (even at designtime). But In my opionion they are a bit limited.

The do it yourself option is harder. You should write an infrastructure yourself.

Some remarks on general application development

First you need to decide what you want to build. Take some paper and draw some screens. For example:

+-------------------------------------------------+
| menu                                            |
+-------------------------------------------------+ 
| Toolbar                                         |
+------------+------------------------------------+
| -Friends   |Name     Mail                       | 
|    >Hers   |Alice    [email protected]      |
|    His     |Bob      [email protected]         |
| +Coworkers |                                    |
| + Us       |                                    |
| +Them      |                                    |
+------------+------------------------------------+
| statusbar                                       |
+-------------------------------------------------+

We have the following controls:

  • An action list (not visible) which contains the actions independent of the menu/toolbars.
  • A main menu, linked to the action list.
  • A toolbar, linked to the action list.
  • A treeview to organize the groups.
  • A listview to show the contacts.
  • A statusbar to show the application status.

With the action list, it is easy to use both a main menu, context menu's and toolbars.

The listview has several view styles. You need to set the ViewStyle property to vsReport to get the expected behaviour. Within the listview, each item has a caption, which is shown on the first column. The other columns are filled with information in a stringlist (subitems).

Then you need to decide on the actions:

  • Add address
  • Remove address
  • Copy/Paste
  • Move (drag & drop is nice but can be hard to program)
  • Print

And there are lots of other questions (possibly for later) like:

  • Do you want a single addressbook, or do you want multiple? In the later case you need a mechanism to connect to another database.
  • Do you want to show one or multiple addresscards at once?

If this is too much, I advice to start small (single database, single card, no printing). You can expand later.

Gamecat
You can sell applications built with the free version - there are no legal or commercial restrictions (apart from the obvious "don't redistribute source code from the included RTL sources, just the compiled form"). The main restriction is that you can't install visual components on the palette.
Mihai Limbășan
A: 

Unless I'm mistaken the Personal edition does not contain Database components. But you can code your own. To ensure that your program runs in other computers ensure that the dynamic linking is set off - then everything is packed into single EXE file.

Riho
A: 

Hi,

I was away for some time, hope we can continue, i'll give some more information.

What i'm doing is for school project, i'm trying to make an application which would actually be used by some electro-engineer. The purpose of an application is- to easily find a map in hard-disk, in which a certain project is saved (for example, in OS Windows, C:\Projects\2009\Project1), using some query.

Here is what i got, of course this is only visual concept. Any tips on how to make this work?

Regards

link: http://picasaweb.google.com/lh/photo/XHpz7ODSUfkTgv1OrskxpA?feat=directlink

A: 

Hi,

a question here: which type of database should i make? I see component TClientDataSet has an option to load from MyBase XML Table, is this appropriate in this case or should i use something else?

A: 

You can build your application in Delphi Pesonal edition as well as in Turbo Delphi.

If you want to use Delphi Personal you should know that it does not provide data accessing facility so you can't for example use BDE or ADO, etc...

If you want to access data from Delphi Personal then you will have to install a set of components from Delphi Warrior especially designed to allow programmer to access Access MDB database through DAO. There are also data aware controls specially designed to work in Delphi Personal.

Turbo Delphi will allow you to build database oriented applications out of the box but you will not be able to add/install any new third party controls to the IDE. Of course there are way to use third party controls through code but it is highly non-intuitive so avoid it.

Yogi Yang 007