une gestion de compte bancaire avec planification de mouvements périodiques. Exemple d'application d'une petite classe de base de donnée fichier facile a utiliser compatible avec kylix et Delphi7
la sources contient:
- ravagedb 1 base simple compatible avec le type record (sauf reels)
- ravageidb 1 base héritée indexée avec structure
codee avec des pointeurs.
Source / Exemple :
{*------------------------------------------------------------------------------
ravageidb.pas v0.1 for Kylix3 and Delphi7 - 12/06/2007
ravagedb database is under the terms of the GNU General Public License
please see licence.txt
depend of ravagelib.pas
exemple:
procedure TForm1.FormCreate(Sender: TObject);
Var
db : TRavageiDB; // ravage database
id,id0 : Integer;
begin
db := TRavageiDB.create;
if Not FileExists('database.dat') then
db.init('database.dat', 'driver,car,track,version,conditions,date',
'19,13,4,19,1,6',
's,s,s,s,I,i' );
db.load('database.dat');
// to add an element
id0 := db.add;
db.update(id0,'driver','gaston');
db.update(id0,'car','mac laren');
// to find an element
db.add_finditem('driver','gaston','=');
db.add_finditem('car','mac laren*','like');
id := db.findfirst();
while id <> 0 do
begin
Lst3Find.Items.Add(FloatToStr(id) + ' ' + db.get(id,'driver') + ',' +
db.get(id,'car'));
id := db.findnext();
end;
// to remove an element
db.remove(id0);
db.close;
end;
Note: On crash the base can contain invalid data, dont forget to check data
Like that:
for index := 1 to db.MaxEntries do
begin
tmp := db.get(index,'j');
if tmp <> '' then
begin
d := StrToInt(db.get(index,'j'));
m := StrToInt(db.get(index,'m'));
y := StrToInt(db.get(index,'aa'));
db.get
if (d<1) or (d>31) or (m<1) or
(m>12) or (y<2006) or (y>9999) then
begin
db.remove(index);
continue;
end;
end;
NB: The Source Code is commented in french
@author alvaroc
@version 0.1
-------------------------------------------------------------------------------}
unit ravageidb;
interface
uses
SysUtils, StrUtils,
QDialogs,QControls, // pour application CLX
//Dialogs,Controls, // pour application windows
ravagedb,ravagelib,pc1;
const
KEY_BYTES = 3; // de 1 a 4 1:256 2:65536 3:8388608 4:4294967296
--------------------------------------------------
dans ravagedb
RESERVE_SPACE = 2048; // de 0 a 65535 espace RAM de reserve.
Conclusion :
pour application simple nécessitant une base sans installer de client.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.