Présentation
Documentation
L'équipe
Sérialisation
 
Programmes
Objets
Libs Utilitaires
Libs Internes
   
 
Editeur
Syntaxes
Windows
Versions
   

SCR/AL1 - TOME IV. Les librairies internes

2. La librairie scr4o

2.10 Fonctions de lecture et d'assignation de valeurs

2.10.6 SCR_rget_vchar (file s_objis.c:20)

Syntax

SCR_rget_vchar(obj, i)
OBJ obj;
int i;

Description

Lit la valeur lue dans le record ISAM du ième champ qui suit l'objet passé comme argument. Cet objet doit faire partie d'un ISAM. Cela permet par exemple de vérifier si un champ a été modifié (en mémoire) depuis la lecture du record.

Il n'y a pas de vérification de type! Vérifiez donc soigneusement le type des champs utilisés.

Cette fonction doit avoir connaissance de l'OBJ utilisé. Il faut donc placer dans le champ en question DEF_OBJ pour en obtenir la définition dans les fichiers .c générés par scr4_e.

Voir également

SCR_get_vchar(), SCR_set_vchar()

File s_objis.c

FLD_set_check(obj, nb, chk)
FLD_set_isam(obj, nb, isf)
char *IS_text(obj)
OBJ_search(obj, cond)
SCR_rget_vchar(obj, i)
double SCR_rget_vdouble(obj, i)
float SCR_rget_vfloat(obj, i)
long SCR_rget_vlong(obj, i)
short SCR_rget_vshort(obj, i)
char *SCR_rget_vtext(obj, i, txt)

IS_text (file s_objis.c:199)

Syntax

char *IS_text(obj)
OBJ obj;

Description

Retourne un pointeur vers la valeur du champ d'ISAM défini par l'objet obj. La valeur est la valeur du record courant de l'ISAM.

Exemple

    printf("Nom : %s\n", IS_text(is_client_name));

Valeur retournée

pointeur vers le champ dans le record de l'ISAM

Voir également

PG_text(), SCR_get_text()

OBJ_search (file s_objis.c:181)

Syntax

OBJ_search(obj, cond)
OBJ obj;
int cond;

Description

Entame une recherche dans l'ISAM dont fait partie l'objet obj. Cet objet doit être un index de l'ISAM. La recherceh s'effectue suivant l'ordre de cet index.

cond est la condition de recherche.

La recherche commence en fonction de la valeur des champs de l'index de recherche placés dans le record de l'ISAM. Ces valeurs peuvent être fixées par les fonctions IS_set_field(), SCR_set_*(), etc.

cond peut prendre les valeurs suivantes :

Si la recherche aboutit, le record est placé dans l'ISAM et le pointeur de l'ISAM est placé à cette position de l'ISAM pour les recherches ultérieures (IS_next(), IS_prev()) et pour les rewrites (IS_rewrite()).

La READ_FN de l'ISAM est exécutée après lecture du record.

Valeur retournée

0 si un record est trouvé et que la READ_FN de l'ISAM retourne 0, -1 sinon.

Exemple

    PrintClientsCommune(commune)
char *commune;
{
char name[51];

if(IS_open_files(is_client, 0L) return(-1);
IS_set_field(is_client, 3, commune);
if(OBJ_search(is_client_commune_i, SCR_EQ) != 0) {
IS_close(is_client);
return(-1);
}
printf("Clients habitant %s\n\n", commune);

while(1) {
IS_get_field(is_client, 0, name);
printf("%s\n", name);
if(IS_next(is_client)) break;
}

IS_close(is_client);
return(0);
}

Voir également

IS_next(), IS_prev(), IS_search()

Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be