CPDB.Net

https://cpdb.ppcompiler.org/

7- Index des fonctions (CPDB librairie)

CPDB_AjouteEnregistrement





err = CPDB_AjouteEnregistrement(UInt8 iHandle)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.
Description :
Ajoute un enregistrement � la base de donn�es.
Recopie l'enregistrement courant et ses modifications si une lecture et/ou des
modifications ont pr�c�d� l'appel � la fonction.

Utilisez CPDB_RAZ avant l'appel � CPDB_AjouteEnregistrement pour ajouter un
enregistrement vide.

Retourne 0 si aucune erreur ne s'est produite.
Retourne CPDB_ERR_WRITEFAILED si l'�criture a �chou�.
Retourne CPDB_ERR_MEMORYERROR si le syst�me a refus� l'ajout de l'enregistrement.

CPDB_Avancer





err = CPDB_Avancer(UInt8 iHandle, UInt16 piOffset)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.

UInt16 piOffset : Nombre d'enregistrement � sauter.
Description :
Utiliser CPDB_Avancer pour avancer le curseur de "piOffset" enregistrements, le saut
est relatif � la position courante du curseur.


Retourne 0 si aucune erreur ne s'est produite.

CPDB_CompterEnregistrement





err = CPDB_CompterEnregistrement(UInt8 iHandle, UInt16 *iValeur)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.
UInt16 *iValeur : Pointeur sur une variable UInt16, o� sera stock� le nombre
d'enregistrements compt�s.
Description :
Utiliser CPDB_CompterEnregistrement pour obtenir le nombre d'enregistrement
contenu dans la base de donn�es ouverte.

Retourne 0 si aucune erreur ne s'est produite.

CPDB_CreerDatabase





err = CPDB_CreerDatabase(UInt16 iCardNo, const Char *sNom, UInt32 iCreator,
const Char *sDescription)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.
UInt16 iCardNo : Num�ro de carte m�moire du Palm, utiliser 0 pour la RAM.
const Char *sNom : Nom de la base de donn�es � cr�er
UInt32 iCreator : ID du cr�ateur, exemple 'CPDB'
const Char *sDescription : Masque de description de la structure
Description :
Cr�e une nouvelle base de donn�es. Si la base de donn�es existe d�j� la fonction �choue.

Format du masque de description :
NOMRUBRIQUE1=TYPE[TAILLE];NOMRUBRIQUE2=TYPE[TAILLE];...

Type accept�s :
SHORTINT : Entier court sur 8 bits
INT : Entier sur 16 bits
LONGINT : Entier long sur 32 bits
STRING[TAILLE] : Chaine de caract�re

Chaque rubrique est s�par�e par un ';' et est d�crite par son nom, le signe '=', son type
et sa taille entre [] si le type est STRING. La taille est exprim�e en C, donc caract�re
ASCIIZ compris. Exemple : une chaine de taille 20 ne peut contenir que 19 caract�res utiles.
Attention : la taille n'est � d�crire que pour les rubriques de type chaine (STRING).

Retourne 0 si aucune erreur ne s'est produite.
Retourne CPDB_ERR_INVALID si le masque de description est incorrect.
Retourne CPDB_ERR_DATABASEALREADYEXIST si la base de donn�es existe d�j�.
Retourne CPDB_ERR_CARDNOTPRESENT si iCardNo ne correspond pas � une carte existante.
Retourne CPDB_ERR_RAMONLYCARD si iCardNo ne correspond pas � une carte inscriptible.
Retourne CPDB_ERR_NOTENOUGHSPACE si la m�moire est insuffisante.

CPDB_DatabaseExiste





err = CPDB_DatabaseExiste(const Char *sNom)
Parametres :
const Char *sNom : Nom de la base de donn�es.
Description :
Retourne 0 si la base de donn�es existe, CPDB_ERR_NOEXIST sinon.

CPDB_EcrireChaine





err = CPDB_EcrireChaine(UInt8 iHandle, const Char* sNom, const Char *sValeur)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.

const Char *sNom : Nom de la rubrique.

const Char *sValeur : Valeur � inscrire dans l'enregistrement.

Description :
Ecrit dans une rubrique de type Chaine de l'enregistrement courant.
Exemple :
err = CPDB_EcrireChaine(handleClients, "nom", "CPDB.NET");

Si la chaine est plus grande que la taille maximum de la rubrique, elle est tronqu�e.
Retourne 0 si aucune erreur ne s'est produite.
Retourne CPDB_ERR_WRITEFAILED si l'�criture a �chou�.

CPDB_EcrireEntier





err = CPDB_EcrireEntier(UInt8 iHandle, const Char* sNom, Int16 iValeur)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.

const Char *sNom : Nom de la rubrique.

Int16 iValeur : Valeur � inscrire dans l'enregistrement.

Description :
Ecrit dans une rubrique de type Entier de l'enregistrement courant.
Exemple :
Int16 annee = 2002;
err = CPDB_EcrireEntier(handleClients, "annee", annee);
Retourne 0 si aucune erreur ne s'est produite.
Retourne CPDB_ERR_WRITEFAILED si l'�criture a �chou�.


CPDB_EcrireEntierCourt





err = CPDB_EcrireEntierCourt(UInt8 iHandle, const Char* sNom, Int8 iValeur)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.

const Char *sNom : Nom de la rubrique.

Int8 iValeur : Valeur � inscrire dans l'enregistrement.

Description :
Ecrit dans une rubrique de type Entier Court de l'enregistrement courant.
Exemple :
Int8 numero = 123;
err = CPDB_EcrireEntierCourt(handleClients, "numero", numero);
Retourne 0 si aucune erreur ne s'est produite.
Retourne CPDB_ERR_WRITEFAILED si l'�criture a �chou�.


CPDB_EcrireEntierLong





err = CPDB_EcrireEntierLong(UInt8 iHandle, const Char* sNom, Int32 iValeur)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.

const Char *sNom : Nom de la rubrique.

Int32 iValeur : Valeur � inscrire dans l'enregistrement.

Description :
Ecrit dans une rubrique de type Entier Long de l'enregistrement courant.
Exemple :
Int32 code = 123456789;
err = CPDB_EcrireEntierLong(handleClients, "code", code);
Retourne 0 si aucune erreur ne s'est produite.
Retourne CPDB_ERR_WRITEFAILED si l'�criture a �chou�.


CPDB_EstTrouve





err = CPDB_EstTrouve(UInt8 iHandle, Boolean *piFlag)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.

Boolean *piFlag : Pointeur sur une valeur Bool�ene, dans laquelle le r�sultat de la derni�re
op�ration de recherche sera �crit.
Description :
Apr�s l'ex�cution d'une fonction de recherche la valeur de piFlag est 'true' si la recherche
a abouti, 'false' sinon.
Pour un parcours de tous les enregistrements, utiliser plut�t CPDB_EstEnDehors().

Retourne 0 si aucune erreur ne s'est produite.

CPDB_EstEnDehors





err = CPDB_EstEnDehors(UInt8 iHandle, Boolean *piFlag)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.
Boolean *piFlag : Pointeur sur une valeur Bool�ene, dans lequel le r�sultat de la derni�re
op�ration de parcours sera �crit.
Description :
Apr�s une op�ration de recherche, CPDB_EstEnDehors est utilis� pour connaitre l'�tat du
curseur dans la base de donn�es.
Le "curseur" est la position du dernier enregistrement charg� en m�moire.

Apr�s l'ex�cution d'une fonction de parcours la valeur de piFlag est 'true' si la recherche
a abouti, 'false' sinon.

CPDB_EstEnDehors est tr�s utilis� pour parcourir une base de donn�es ou pour controler
la validit� du curseur.

Retourne 0 si aucune erreur ne s'est produite.

CPDB_Fermer





err = CPDB_Fermer(UInt8 iHandle)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.
Description :
Ferme la base de donn�es. Pour ouvrir la base de donn�es, utiliser CPDB_Ouvrir.

Retourne 0 si aucune erreur ne s'est produite.

CPDB_LireChaine




err = CPDB_LireChaine(UInt8 iHandle, const Char* sNom, MemHadle* hValeur)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.

const Char *sNom : Nom de la rubrique.

MemHandle *hValeur : Pointeur sur un Memhandle, dans laquelle sera �crite un handle
pointant sur la chaine de caract�re lu dans la rubrique.


Description :
Lit la chaine contenu dans la rubrique. Le MemHandle est allou�e par CPDB, vous devrez
lib�rer la m�moire apr�s utilisation.
Exemple :

MemHandle hClient_nom;
Char *sClient_nom;

err = CPDB_LireChaine(handleClients, "nom", &hClient_nom);
sClient_nom = MemHandleLock(hClient_nom);
...
// votre traitement sur la chaine ici
...
MemHandleUnlock(hClient_nom);
MemHandleFree(hClient_nom);

Retourne 0 si aucune erreur ne s'est produite.

CPDB_LireDernier




err = CPDB_LireDernier(UInt8 iHandle, const Char *sNom)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.

const Char *sNom : Nom de la rubrique.

Description :
Lit le dernier enregistrement de la base de donn�es.
Utiliser CPDB_EstEndehors pour savoir si un enregistrement a �t� correctement charg�.

Retourne 0 si aucune erreur ne s'est produite.

CPDB_LireEntier




err = CPDB_LireEntier(UInt8 iHandle, const Char* sNom, Int16 *iValeur)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.

const Char *sNom : Nom de la rubrique.

Int16 *iValeur : Pointeur sur une valeur Int16 dans laquelle sera �crite la valeur de
la rubrique.


Description :
Lit la rubrique Entier de l'enregistrement courant.
Exemple :
Int16 annee_courante;
err = CPDB_LireEntier(handleClients, "annee", &annee_courante);
Retourne 0 si aucune erreur ne s'est produite.

CPDB_LireEntierCourt




err = CPDB_LireEntierCourt(UInt8 iHandle, const Char* sNom, Int8 *iValeur)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.

const Char *sNom : Nom de la rubrique.

Int8 *iValeur : Pointeur sur une valeur Int8, dans laquelle sera �crite la valeur
de la rubrique.


Description :
Lit l'Entier Court contenu dans la rubrique sNom.
Exemple :
Int8 client_age;

err = CPDB_LireEntierCourt(handleClients, "age", &client_age);
Retourne 0 si aucune erreur ne s'est produite.

CPDB_LireEntierLong




err = CPDB_LireEntierLong(UInt8 iHandle, const Char* sNom, Int32 *iValeur)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.

const Char *sNom : Nom de la rubrique.

Int32 *iValeur : Pointeur sur une valeur Int32, dans laquelle sera �crite la valeur de
la rubrique.

Description :
Lit l'Entier long contenu dans la rubrique sNom.
Exemple :
Int32 client_nombre;
err = CPDB_LireEntierLong(handleClients, "nombre", &client_nombre);
Retourne 0 si aucune erreur ne s'est produite.

CPDB_LirePosition




err = CPDB_LirePosition(UInt8 iHandle, UInt16 *iValeur)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.

UInt16 *iValeur : Pointeur sur une valeur UInt16 valeur, dans laquelle sera �crite la
valeur de la rubrique.
Description :
Utiliser CPDB_LirePosition pour obtenir la position du curseur dans la base de donn�es
ouverte.

Vous pouvez utiliser cette valeur avec CPDB_Positionner (La premi�re position �tant 1).
Retourne 0 si aucune erreur ne s'est produite.

CPDB_LirePrecedent




err = CPDB_LirePrecedent(UInt8 iHandle, const Char *sNom)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.

const Char *sNom : Nom de la rubrique.

Description :
Lit l'enregistrement pr�c�dent � partir de l'enregistrement courant.
Utiliser CPDB_EstEndehors pour savoir si un enregistrement a �t� correctement charg�.

Retourne 0 si aucune erreur ne s'est produite.

CPDB_LirePremier





err = CPDB_LirePremier(UInt8 iHandle, const Char *sNom)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.

const Char *sNom : Nom de la rubrique.

Description :
Lit le premier enregistrement de la base de donn�es.
Utiliser CPDB_EstEndehors pour savoir si un enregistrement a �t� correctement charg�.

Retourne 0 si aucune erreur ne s'est produite.

CPDB_LireSuivant




err = CPDB_LireSuivant(UInt8 iHandle, const Char *sNom)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.

const Char *sNom : Nom de la rubrique.

Description :
Lit l'enregistrement suivant � partir de l'enregistrement courant.
Utiliser CPDB_EstEndehors pour savoir si un enregistrement a �t� correctement charg�.
Retourne 0 si aucune erreur ne s'est produite.

CPDB_LireVersion




err = CPDB_LireVersion(MemHandle *hVersion)
Parametres :
MemHandle *hVersion : Pointeur sur un MemHandle qui sera utilis� pour contenir le r�sultat
de la fonction.
Description :
Lire la version de la librairie. La version sera retourn�e dans une chaine de caract�re.
Le MemHandle est allou�e par CPDB, vous devrez lib�rer la m�moire apr�s utilisation.
Retourne 0 si aucune erreur ne s'est produite.

CPDB_ListerRubrique





err = CPDB_ListerRubrique(UInt8 iHandle, MemHandle *phListe)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.
MemHandle *phListe : Pointeur sur un MemHandle libre.
Description :
Utiliser CPDB_ListerRubrique pour obtenir la liste des rubriques de la base de donn�es.

La liste resultat est une chaine de caract�re allou�e par CPDB, vous devrez la lib�rer
apr�s utilisation.
Format de la chaine r�sultat :
NomChamps=TypeRubrique;NomChamps=TypeRubrique;NomChamps=TypeRubrique;...
Description de TypeRubrique :

enum __cpdb_TypeRubrique {
CPDB_TYPECHAINE = 0,
CPDB_TYPEENTIERCOURT = 1,
CPDB_TYPEENTIER = 2,
CPDB_TYPEENTIERLONG = 3,
CPDB_TYPEINCONNU = 0xFF
};
Retourne 0 si aucune erreur ne s'est produite.

CPDB_MetAJourEnregistrement





err = CPDB_MetAJourEnregistrement(UInt8 iHandle)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.
Description :
Met � jour un enregistrement � la base de donn�es.
Valide les modifications apport�es � l'enregistrement courant.

Retourne 0 si aucune erreur ne s'est produite.
Retourne CPDB_ERR_WRITEFAILED si l'�criture a �chou�.
Retourne CPDB_ERR_NOPREVREAD si aucun enregistrement n'est charg� en m�moire.


CPDB_Ouvrir





err = CPDB_Ouvrir(UInt16 cardNo, const Char* pnameP, UInt16 mode, UInt8 *piHandle)
Parametres :
UInt16 cardNo : Num�ro de carte, 0 si aucune carte n'a �t� ajout�e.

const Char* pnameP : Nom de la base CPDB.

UInt16 mode : Mode d'ouverture.

UInt8 *piHandle : Pointeur sur une valeur Int8, qui contiendra le handle r�sultat.
Description :
Utiliser CPDB_Ouvrir pour ouvrir une base de donn�es CPDB et obtenir un handle dessus.
Description des modes d'ouverture :

dmModeReadWrite : Acces en Lecture/Ecriture.
dmModeReadOnly : Acces en Lecture seule.
dmModeWrite : Acces en Ecriture seule.
dmModeExclusive : Ne laisse personne ouvrir cette base de donn�es.
Note : Le mode dmModeReadWrite est n�cessaire si vous devez utiliser la fonction CPDB_Trier.

Retourne 0 si aucune erreur ne s'est produite.

CPDB_Positionner





err = CPDB_Positionner(UInt8 iHandle, UInt16 piPosition)

Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.

UInt16 piPosition : Nouvelle position du curseur dans la base de donn�es.

Description :
Utiliser CPDB_Positionner pour positionner directement le curseur sur un enregistrement.
La premi�re position dans la base de donn�es est 1.

Retourne 0 si aucune erreur ne s'est produite.

CPDB_RAZ





err = CPDB_RAZ(UInt8 iHandle)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.
Description :
Utilisez CPDB_RAZ avant l'appel � CPDB_AjouteEnregistrement,
CPDB_MetAJourEnregistrement ou les fonctions de modifications de rubrique pour
travailler sur un enregistrement vide.

Retourne 0 si aucune erreur ne s'est produite.


CPDB_Rechercher





err = CPDB_Rechercher(UInt8 iHandle, const Char *sNom, const Char *sValeur, UInt8 iMode)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.

const Char *sNom : Nom de la rubrique.

const Char *sValeur : Valeur recherch�e dans la rubrique.

UInt8 iMode : Mode de recherche, voir la description.
Description :
Recherche une valeur dans une rubrique de la base de donn�es et se positionne sur
l'enregistrement correspondant. Si le champs est un champ num�rique, une conversion est
effectu�e.
Valeur possible pour iMode :
CPDB_SEARCH_REVERSE : La base de donn�es est parcouru en sens inverse.
CPDB_SEARCH_FROMCURRENT : La recherche est effectu�e � partir de l'enregistrement courant.
CPDB_FIND_UNTIL : La recherche trouve la valeur �gale ou sup�rieure (inf�rieure dans le cas
d'une recherche avec CPDB_SEARCH_REVERSE)

Pour une rubrique de type Chaine seulement :
CPDB_SEARCH_WITHIN : Recherche � l'int�rieur de la chaine (Par defaut, le mode
est : "Commence par")
CPDB_SEARCH_CASELESS : Ne respecte pas la casse (Par defaut, le mode est "Sensible � la
casse")
Exemple :
err = CPDB_Rechercher(handleClients, "pays", "france", CPDB_SEARCH_WITHIN
+ CPDB_SEARCH_CASELESS);
Retourne 0 si aucune erreur ne s'est produite.

CPDB_RechercherNumerique




err = CPDB_RechercherNumerique(UInt8 iHandle, const Char *sNom, const Int32 iValeur, 
UInt8 iMode)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.

const Char *sNom : Nom de la rubrique.

const Int32 iValeur : Valeur recherch�e dans la rubrique

UInt8 iMode : Mode de recherche, voir la description.
Description :
Recherche la valeur num�rique dans une rubrique de la base de donn�es et se positionne sur
l'enregistrement correspondant. Si le champs est de type inf�rieur � Int32, une conversion
est effectu�e, faite donc attention au risque de perte de donn�es.

Valeur possible pour iMode :
CPDB_SEARCH_REVERSE : La base de donn�es est parcouru en sens inverse.
CPDB_FIND_UNTIL : La recherche trouve la valeur �gale ou sup�rieure (inf�rieure dans le cas
d'une recherche avec CPDB_SEARCH_REVERSE)

CPDB_SEARCH_FROMCURRENT : La recherche est effectu�e � partir de l'enregistrement courant.

(Les autres modes sont ignor�s)
Exemple :
// Recherche le prochain utilisateur dont le champs "annee" = 2001.

err = CPDB_RechercherNumerique(handleClients, "annee", 2001, CPDB_SEARCH_FROMCURRENT);
Retourne 0 si aucune erreur ne s'est produite.

CPDB_Reculer




err = CPDB_Reculer(UInt8 iHandle, UInt16 piOffset)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.

UInt16 piOffset : Nombre d'enregistrement � sauter.
Description :
Utiliser CPDB_Reculer pour reculer le curseur de "piOffset" enregistrements, le saut
est relatif � la position courante.
Retourne 0 si aucune erreur ne s'est produite.

CPDB_SupprimeEnregistrement





err = CPDB_SupprimeEnregistrement(UInt8 iHandle)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.
Description :
Supprime l'enregistrement en cours de lecture de la base de donn�es.

Retourne 0 si aucune erreur ne s'est produite.
Retourne CPDB_ERR_NOPREVREAD si aucun enregistrement n'est charg� en m�moire.

CPDB_Trier




err = CPDB_Trier(UInt8 iHandle, const Char *sNom, UInt8 iDirection)
Parametres :
UInt8 iHandle : Handle de la base de donn�es CPDB, renvoy� par CPDB_Ouvrir.

const Char *sNom : Nom de la rubrique.

UInt8 iDirection : Direction du tri, voir la description.
Description :
Tri la base de donn�es selon une rubrique d�fini. Cette op�ration peut prendre du temps
sur de grosse base de donn�es.
Valeur possible pour iDirection :

CPDB_SORT_ASC : Le tri est effectu� de mani�re Croisssante
CPDB_SORT_DESC
: Le tri est effectu� de mani�re D�croisssante

Note : Une op�ration de tri est une op�ration de modification, vous devez ouvrir votre
base de donn�es en mode Ecriture.
Retourne 0 si aucune erreur ne s'est produite.