aldweb

Fermer I. aldweb

Fermer II. Gratuitiels PC

Fermer III. Gratuitiels Palm

Fermer IV. Partagiciels Palm

Fermer V. iziBasic Palm

Fermer VI. Connaissance Palm

Fermer VII. Ordinateur Poche

Fermer VIII. miniPortail

Recherche




Newsletter
Pour avoir des nouvelles de ce site, inscrivez-vous à notre Newsletter.
S'abonner
Se désabonner
296 Abonnés
Webmaster - Infos
Visites

   visiteurs

   visiteurs en ligne

StatPays
En ligne

China : 7
Korea : 1
United States : 4
Colombia : 4
GoogleBot : 1



Depuis le 11/02/2009

France:3249198
United States:1011313
United Kingdom:527621
Germany:290499
Italy:246121
Canada:178546
Belgium:163583
Japan:124716
Spain:102914
Russian Federation:91117
Switzerland:84533
Netherlands:83691
Mexico:76530
Brazil:66571
Argentina:59224
Czech Republic:51444
Poland:48949
Morocco:47300
China:44284
Colombia:39914
Hungary:38976
Turkey:35325
Australia:35063
Portugal:28839
Sweden:26581
Austria:23412
Taiwan:21649
Finland:20429
Denmark:20080
Venezuela:15533
India:13399
Romania:12813
Korea:11691
Greece:11424
Norway:11118
New Zealand:10788
Chile:10575
Luxembourg:10288
Slovakia:8642
Croatia:8271
Ireland:8085
Ukraine:8064
Indonesia:8016
Malaysia:7445
South Africa:6413
Uruguay:6370
Singapore:6222
Israel:5713
Peru:5160
Estonia:4555
Bulgaria:4407
Thailand:4204
Lithuania:4109
Cote D'Ivoire:3026
Madagascar:2920
New Caledonia:2580
Gibraltar:2569
Belarus:2187
Hong Kong:2146
French Polynesia:2145
Dominican Republic:1720
Philippines:1635
Saudi Arabia:1610
Latvia:1519
Serbia and Montenegro:1518
Pakistan:1487
Moldova:1444
Algeria:1412
United Arab Emirates:1370
Guatemala:1295
Slovenia:1253
Ecuador:1232
Bosnia and Herzegovina:987
Costa Rica:956
Tuvalu:924
Vietnam:915
Monaco:871
Paraguay:807
Egypt:786
Macedonia:541
Bolivia:499
Nicaragua:446
Guadeloupe:435
Cyprus:403
GoogleBot:397
Lebanon:372
Honduras:361
Cuba:361
Netherlands Antilles:351
Kazakstan:342
Syrian Arab Republic:287
Jordan:276
Mauritius:244
Albania:234
Kenya:234
Andorra:223
Ghana:223
Nepal:212
Georgia:202
Reunion:191
Mozambique:180
Congo:180
Uzbekistan:24
Jamaica:2
Zimbabwe:1
Iran:1
Trinidad and Tobago:
article.gifSCOOP : CPDB bientôt compatible avec HSPascal !
 SCOOP : CPDB bientôt compatible avec HSPascal ! - Posté le 04/10/02

Palm OSDepuis que j'ai découvert CPDB, je rêvais de son portage sur HSPascal. Et comme on n'est jamais mieux servi que par soi-même, je m'en suis donc occupé. C'est maintenant chose faite et PeekPoke sortira courant de la semaine prochaine (c'est là qu'est le SCOOP !) ce portage de CPDB sur HSPascal.

En avant première donc, vous découvrirez dans cet article la facilité déconcertante avec laquelle on arrive à travailler sur les bases de données avec CPDB... et on se demande bien comment on a fait pour attendre aussi longtemps que ce superbe développement de notre ami PeekPoke (rappelons au passage que PeekPoke est l'un des deux valeureux membres fondateurs de PeekPocket) arrive !

Comme on n'apprend bien que par l'exemple, nous allons décrire un petit programme écrit en HSPascal qui utilise CPDB.

Le petit programme en question enregistre dans une base de données PDB des scores (aléatoires pour la démo) réalisés à différents niveaux (aléatoire aussi pour la démo). A chaque lancement du programme un enregistrement Niveau / Score est enregistré et le programme recalcule alors la moyenne des différents scores réalisés. C'est simple et c'est parfait pour apprendre

Passons aux choses sérieuses, le code HSPascal : Tout d'abord, nous allons inclure la bibliothèque CPDB dans notre programme et définir nos variables de travail :

Program CPDBtest;

{ $ SearchPath Units; UnitsUI; UnitsSystem }
{ $ ApplName CPDBtest,TEST }

Uses
CPDBSTD
,DataMgr,Crt,HSUtils;

const
NoError = 0;

var
Error: Err;
iHandle: Byte;
Level: ShortInt;
Score: SmallInt;
NbRecords: SmallInt;
Average: Integer;

Nous pouvons ensuite commencer notre programme, et ouvrir la bibliothèque CPDB :

begin
Randomize;
CPDB_OPENLIB;

Puis, on crée la base de données si elle n'existe pas encore :

  if CPDB_DatabaseExist('HiScoreCPDB')= CPDB_ERR_NOEXIST then 
Error:=CPDB_CreateDatabase(0,'HiScoreCPDB',s2u32('TEST'),
'NOM=STRING[10];LEVEL=SHORTINT;SCORE=INT');


Maintenant, on est sur que la base de données existe, alors on l'ouvre :

  Error:=CPDB_Open(0,'HiScoreCPDB',dmModeReadWrite,iHandle);


On a tout le loisir ensuite d'ajouter un nouvel enregistrement Niveau / Score :

  Level:=Random(10);
Score:=Random(100);
writeln('Adding LEVEL= '+i2s(Level)+' SCORE= '+i2s(Score));
Error:=CPDB_AddRecord(iHandle);
Error:=CPDB_WriteShortInt(iHandle,'LEVEL',Level);
Error:=CPDB_WriteInt(iHandle,'SCORE',Score);
Error:=CPDB_UpdateRecord(iHandle);


Maintenant, nous voulons connaître la moyenne de tous les scores déjà réalisés. Pour celà, nous commençons par compter le nombre d'enregistrements :

  Error:=CPDB_CountRecord(iHandle,NbRecords);


Puis, nous plaçons au début du fichier, et le parcourons en notant bien tous les scores réalisés successivement :


  Average:=0;
Error:=CPDB_ReadFirst(iHandle);
while Error=NoError do begin
Error:=CPDB_ReadInt(iHandle,'SCORE',Score);
Inc(Average,Score);
Error:=CPDB_ReadNext(iHandle);
end;


Nous pouvons maintenant fermer notre petite base de données, calculer et afficher la moyenne recherchée :

  Error:=CPDB_Close(iHandle);
writeln('Average Score= '+i2s(round(Average/NbRecords)));


Il nous reste juste à fermer la bibliothèque CPDB et quitter notre programme :

  CPDB_CLOSELIB;
end.


Et voilà, c'est terminé. L'écriture de ce programme n'a demandé que quelques minutes de travail très détendu puisque c'est CPDB qui s'occupe de tout ou presque !
Cette bibliothèque est carrément INDISPENSABLE à tout développeur sur Palm et il ne me reste plus qu'à tirer bien bas mon chapeau à PeekPoke.

aldweb

Le converti à CPDB

Date de création : 01/01/2003 @ 00:00
Dernière modification : 01/01/2003 @ 00:00
Catégorie :


Imprimer l'article Imprimer l'article

 
react.gifRéactions à cet article

Personne n'a encore laissé de commentaire.
Soyez donc le premier !

 
Spécial !



Version mobile
de l'aldweb Site

m.aldweb.com


Ni Français, ni Anglais ?

Essayez donc l'un de ces drapeaux :
[de] [es] [it] [pt]
Météo / Spam / www

Météo Lyon


aldweb contre le SPAM


Sites web de la famille

News Amis
Sondage
Comment trouve-tu le nouvel habillage de l'aldweb Site ?
 
Superbe !
Joli
Moyen
Moche...
Résultats
^ Haut ^