Funciones de inserción de datos en la lista:
InsertaStr (cadena:string,magic:byte): Cadena es la variable a insertar como un nuevo átomo en la lista.
InsertaFile (filename) : Inserta como un nuevo átomo en la lista el contenido de un fichero, ya sea binario o de texto. Todo el fichero se considera como un átomo.
InsertaCopy (index): Crea un nuevo átomo cuyo contenido es igual al del especificado en el parámetro índice.
InsertaMirror (index): Crea un nuevo átomo cuyo contenido es el especificado en el parámetro índice, cualquier alteración del viejo o el nuevo, modifica el otro (o los otros).
NewList : Genera una nueva sublista vacía al final de la actual.
AttachList (index) : Inserta como sublista la apuntada con el parámetro índice a la lista actual.
InsertaHack (index,longitud,carácter atómico) : Inserta un nuevo átomo o sublista (parámetro carácter atómico es booleano) cuyo contenido o referéncia está almacenado en la dirección marcada por el índice y cuya longitud (longint) viene dada por el parámetro longitud.
Funciones de lectura/grabación de toda la MasterList
SaveList (String): Salva toda la MasterList a un archivo cuyo nombre es la cadena del parámetro. Ciertas cosas a tener en cuenta es que los mirrors se vuelven sólidos con la lista guardada, y que los átomos de tamaño nulo se almacenan.
LoadList (String,Longint): Recupera toda la masterlist, añadiendola a la masterlist actual en caso que no sea vacía. Los átomos de tamaño nulo no se recuperarán (para formalizar las listas vacías) aunque el código fuente puede alterarse (ver rutina de recuperacion LoadLst en lstunit.pas, código comentado). El parámetro String es el nombre del archivo a cargar. El párametro Longint se usa a partir de la versión 1.4 para seleccionar el número de lista maestra almacenada en el archivo (a modo de libería de listas), en versiones anteriores este número ha de ser forzosamente 0.
Funciones de navegación:
PushL : Salva en la pila de listas la lista actual, para poder insertarse dentro de una sublista y poder regresar a la anterior.
PopL : Recupera la lista salvada con PushL.
SubList (index) : Entra dentro de la sublista cuyo índice es especificado por el parámetro. La lista de proceso actual es la sublista a la que hemos entrado. Relacionado con PushL y PopL
SetMList (Mlist ) : Establece como MasterList una lista generada por el usuario, o un índice detereminado de una lista. No altera el contenido de la memoria en caso de borrado.
Index (PoleIndex) : Poleindex devuelve un índice a la posición de pila de sublistas actual, puede usarse para hacer una pila de pilas o simplemente hacer un cámbio de pila en un determinado proceso. Relacionado:SetSPole,SetMList.
SetSPole (Slist): Establece como pila de sublistas la especificada en el índice Slist. Relacionado: SetMList, PoleIndex.
Boolean (IsAtom(index)) : Isatom devuelve verdadero si el elemento referenciado por el índice es un átomo, si es una sublista devuelve 'falso'.
Index (Nth (Longint)) : Nth (p) devuelve el índice asociado al elemento p-ésimo de la lista.
Index (GetLast) : Devuelve el índice asociado al último elemento de la lista, no fiable en el caso de alterar la lista con procedimientos no estandard (Utilizar Futuro procedimiento RecalcL.
Index (GetFW (index)): Devuelve el índice del siguiente elemento de la lista al apuntado en el parámetro índice. Devuelve Nil cuando llega al final.
Index (GetRW (index)): Devuelve el índice del Anterior elemento de la lista al apuntado en el parámetro índice. No tiene final, el anterior al primero es el último; comparar con GetFirst para incluir final.
Index (GetFirst) : Devuelve el índice del primero elemento de la lista actual.
Funciones de trabajo estandard:
LongInt (Count) : Devuelve el número de nodos (átomos o listas) presentes en la sublista/ML actual.
Longint (GetAtomSize(index)) : Devuelve la longitud en bytes del átomo de la lista referenciado por el índice. Ejemplo : a:=GetAtomSize(Nth(3));.
LongInt (GetAtomMemPos (Index)): Devuelve la posición de memoria donde esta almacenado el átomo. Así, Mem [GetAtomMemPos(primero)]:=65; Cámbia el primer carácter del átomo referenciado por index por una (A).
Index (GetAtomMemPoint (Index)): Devuelve un índice referenciado al contenido del átomo referenciado en Index.
MoveInL (SourceIndex,TargetIndex) : Mueve un elemento de la lista desde la su posición SourceIndex, hasta la posición TargetIndex, poniéndolo delante del elemento que ocupaba la posición TargetIndex.
ExChange (ElemIndex,Elem2Index) : Intercámbia la posición en la lista de los dos elementos refererenciados como índices en los parámetros.
Char (AtomToChar(index,n:longint)): Devuelve el carácter enésimo del átomo referenciado por el índice.
ChangeACharOnAtom(index,Posicion,char): Cámbia el carácter que ocupaba la posición determinada en el átomo referenciado por el índice por el carácter char del parámetro.
SaveFile (FileName,index): Genera un fichero cuyo nombre es filename y contenido el del átomo especificado por el índice de la lista actual.
Boolean(EqualAtoms (index1,index2)): Es falso si los dos átomos referenciados son distintos. En el caso que los dos átomos sean nulos también es falso, dado que se presupone que en algun instante alguno cambiará.
Boolean (GreaterAtom (index1,index2)): Verdadero si el primer átomo es mayor que el segundo (alfabético o alfanumérico).
Boolean (LessAtom (index1,index2)) : Verdadero en el caso que el primer átomo sea menor que el segundo. Si el primer átomo es nulo se considera que el segundo va a ser menor. Si el segundo es nulo, este se considera infinito y sea lo que sea el primero devuelve falso.
Funciones de eliminación de átomos y listas:
ElimElement (index) : Extrae un elemento de la lista sin borrar de memoria su contenido.
Dettach (index) : Elimina un átomo de la lista (borrando su contenido).
ClearList (index) : Límpia todos los elementos de la sublista referenciada bajo el parámetro índice. Ojo: si esa sublista contiene otras, esta sublista quedara vacía, pero quedaran sublistas libres de engarce con su maestra. Un procedimiento general es factible, pero no es tan general (InsertaMirror). Vd mismo.
RemoveList (index): Extre una sublista de la lista actual, borrando todos sus átomos y dejando libres sus sublistas.