Código de Clipper/FiveWin - Funciones para el manejo de registros

sin imagen de perfil

Funciones para el manejo de registrosgráfica de visualizaciones


Clipper/FiveWin

Publicado el 26 de Enero del 2005 por Geovaldy E.
16.859 visualizaciones desde el 26 de Enero del 2005
Todas estas funciones sirven para manejar un Registro de cualquier Archivo .DBF
Básicamente colocan el registro en un Arreglo y desde hay lo maneja

al Arreglo consta de 3 elementos de los cuales el 1ro es el Nombre o el Alias del Archivo asociado.
el 2do es otro arreglo con las características del registro tales como : NOMBRE DEL CAMPO, TIPO, LONGITUD, DECIMAL y CONTENIDO DE LA VARIABLE EN EL MOMENTO DE CARGAR EL ARREGLO
el 3ro es el numero de Registro que ocupa en el Archivo.
Compilador CLIPPER

Versión 1
estrellaestrellaestrellaestrellaestrella(1)

Publicado el 26 de Enero del 2005gráfica de visualizaciones de la versión: Versión 1
16.860 visualizaciones desde el 26 de Enero del 2005
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/***
* Inicializa el Quinto Elemento del arreglo contenino en 2do elemento de la matriz Madre
*/
FUNCTION IniciaField( aField )
         AEVAL( aField[2], { |Struct,X| aField[2,X,5] := EmptyField( aField[2,X,5], aField[2,X,3] ) } )
RETURN ( aField )
 
/***
* Carga en un arreglo todas las Caracteristicas de un Registro en Particular de un Archivo en Particular
*/
FUNCTION CargaField( sAlias )
         LOCAL AntAlias := ALIAS(), aFields
 
         SELECT( IF( !EMPTY(PCOUNT()), sAlias, ALIAS() ) )
        aFields  := { ALIAS(), DBSTRUCT(), RECNO() }
         AEVAL( aFields[2], { | Struct,X | AADD( aFields[2,X] , &(Struct[1])) } )
RETURN ( aFields )
 
/***
*Conpia el Contenido de un arreglo a otro en aquellos cullos campos tengan el mismo Nombre
*/
FUNCTION DuplicFieldEn( aField1, aField2, Bacios )
         LOCAL Ind1 := 0, Ind2  := 0
 
         FOR Ind1 := 1 TO LEN( aField1[2] )
             Ind2 := ASCAN( aField2[2], {|Y| Y[1] == aField1[2,Ind1,1]} )
             IF(!EMPTY(Ind2))
                aField1[2,Ind1,5] := IF( PCOUNT()==3.AND.!Bacios.AND.!EMPTY(aField2[2,Ind2,5]), aField1[2,Ind1,5], aField2[2,Ind2,5] )
             ENDIF
         NEXT
RETURN ( aField1 )
 
/***
* Retorna la posicion de un campo en particular dentro del registro
*/
FUNCTION NumField( aField, sCampo )
RETURN ( ASCAN( aField[2] , {|X| X[1] == UPPER(SCAMPO) }) )
 
/***
* Actualiza o Incluye Dicho el Arreglo cargado al archivo de cuyo origuen se extrajo
*/
FUNCTION GrabaField( aField, lNewRec, lCommi )
         LOCAL AntFile := ALIAS()
 
         SELECT( aField[1] )
         IF( PCOUNT() >= 2 .AND. lNewRec, ADDREC(), RECLOCK(1) )
         AEVAL( aField[2], { |Struct,X| FIELDPUT( X, Struct[5]) } )
         UNLOCK
         SELECT( AntFile )
RETURN ( AntFile )
 
/***
* Busca cualquieras de los 5 elementos de 2do elemento de la matriz madre
*/
FUNCTION BuscaField( aField, sCampo, nInd )
RETURN(IF( !EMPTY(LEN(aField)), aField[2,ASCAN(aField[2],{|X|X[1] == UPPER(sCampo)}),IF(EMPTY(nInd),5,nInd)], SPACE(LEN(&(sCampo))) ))



Comentarios sobre la versión: Versión 1 (1)

24 de Junio del 2005
estrellaestrellaestrellaestrellaestrella
Ha realizado una valoración positiva de este curso.
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s1113