Etiqueta

Mostrando entradas con la etiqueta Omnis Studio. Mostrar todas las entradas
Mostrando entradas con la etiqueta Omnis Studio. Mostrar todas las entradas

15 abril 2015

Códigos de error y constantes FileOps

En ésta entrada os dejo el listado de las constantes disponibles para FileOps, los códigos de error a que corresponden y una breve explicación.


kFileOpsOK 0
Ejecutado con éxito
kFileOpsParamError 1 Faltan parámetros
kFileOpsOutOfMemory 12
Memoria insuficiente
kFileOpsDirFull -33 Fichero o directorio lleno
kFileOpsDiskFull -34
Disco lleno
kFileOpsVolumeNotFound -35 El volumen especificado no existe
kFileOpsDiskIOError -36
Error de disco E/S
kFileOpsBadName -37 Nombre de archivo o volumen incorrecto (tal vez sin nombre)
kFileOpsFileNotOpen -38
Archivo no abierto
kFileOpsEndOfFile -39 Se llegó al final del archivo durante una operación de lectura
kFileOpsPositionBeforeStart -40
Intento de posicionarse en un lugar anterior al inicial del archivo
kFileOpsTooManyFilesOpen -42 Se han abierto demasiados archivos
kFileOpsFileNotFound -43
Archivo no encontrado
kFileOpsHardwareVolumeLock -44 El volumen está bloqueado por hardware
kFileOpsFileLocked -45
Archivo bloqueado
kFileOpsSoftwareVolumeLock -46 El volumen está bloqueado por software
kFileOpsMoreFilesOpen -47
Uno o más archivos ya estan abiertos
kFileOpsAlreadyExists -48 Ya existe un archivo con el nombre especificado 
kFileOpsAlreadyWriteOpen -49
Sólo se permite un único camino de acceso al archivo durante su escritura              
kFileOpsNoDefaultVolume -50 El volumen predefinido no existe 
kFileOpsBadFileRef -51 - 
kFileOpsVolumeNotOnline -53
El volumen no esta disponible o montado
kFileOpsPermissionDenied -54 Permiso denegado o archivo de sólo lectura 
kFileOpsVolumeAlreadyMounted -55
El volumen especificado ya está disponible o montado
kFileOpsBadDrive -56 El número de unidad expecificado no existe
kFileOpsInvalidFormat -57
El volumen no contiene uno de los formatos sportados
kFileOpsExternalSystemError -58 Error externo detectado por el sistema de archivos
kFileOpsProblemDuringRename -59
Se ha producido un problema durante el cambio de nombre
kFileOpsBadMasterBlock -60 Se ha detectado un bloque índice defectuoso; deberá reiniciar el volumen
kFileOpsCantOpenLockedFile -61
No ha sido posible abrir el archivo por estar bloqueado
kFileOpsDirectoryNotFound -120 Directorio no localizado
kFileOpsTooManyDirOpen -121
Se han abierto demasiados directorios
kFileOpsCantMoveToOffspring -122 Intento de posicionarse fuera del ambito del archivo
kFileOpsNonHFSOperation -123
Intento de relizar una operación HFS sobre un volumen con otro formato
kFileOpsDifferentVolume -124
Intento de relizar la operación sobre volúmenes o nombres de archivo diferentes
kFileOpsInternalSystemError -127 Error interno detectado por el sistema de archivos
kFileOpsCrossDeviceLink 100 -
kFileOpsDeadlock 101 -
kFileOpsTooManyArguments 102 -
kFileOpsMathArgument 103 -
kFileOpsExecFormatError 104 -
kFileOpsResultTooBig 105 -
kFileOpsUnknownError 998
Error desconocido
kFileOpsNoOperation 999 Operación no compatible para la plataforma en uso
kFileOpsInvalidEncoding 1000 -

16 marzo 2015

Nuevo en Aula Omnis

SOPORTE TÉCNICO Y CURSOS

 GRATUITOS EN CASTELLANO

 

WWW.OMNISSTUDIO.ES 

 

09 octubre 2013

Programación de listas

La variable de tipo "list" es sin duda, la que adquiere mayor relevancia y versatilidad en la programación con Omnis Studio, de hecho, resulta imprescindible a la hora de construir aplicaciones para la web y dispositivos móviles. Una variable “list” puede suministrar los datos (contenido) y el formato para muchos de los componentes visuales JavaScript que contendrán sus aplicaciones, tales como: “droplists”, “menus”, “data grids”, “complex grids”, y “tree lists”.

Una variable “list” puede ser definida en base a una “clase de datos SQL” (schema, query, o table). En ese caso, la lista obtiene la definición de cada columna según fueron creadas en la propia clase SQL. Cada “list” puede contener un número ilimitado de líneas y un máximo de 32.000 columnas, claro está, si la capacidad de memoria del dispositivo lo permite.

Omnis Studio proporciona los métodos necesarios para crear, definir y modificar variables “list” y que vamos a repasar brevemente a continuación. Le sugiero que consulten el manual en español, para obtener más información sobre el uso de variables “lis" (http://framosmu.blogspot.com.es/2010/03/manual-de-programacion-omnis-studio-en.html).

 

Crear una lista

 

En primer lugar será necesario crear la variable “list” y definir sus columnas. Con éste propósito podemos optar por el método $define, pero también podemos hacer uso del método $add del grupo de métodos $cols, veamos ambos casos:

Do myList.$define(var1,var2,var3) ;; myList y var’s deben ser declarados

o


Do myList.$cols.$add('myFieldName',kCharacter,kSimpleChar,255)
Do myList.$cols.$add('anotherColumn',kInteger,kLongInt)
Do myList.$cols.$add('yetAnotherColumn',kBoolean)


En este ejemplo, se crea una “list” con tres columnas. Los parámetros del método $add describen el nombre, tipo, subtipo y longitud de cada columna. Sin embargo y dependiendo del tipo de columna, no todos estos parámetros serán necesarios.

Añadir datos a una lista

 

En segundo lugar, añadiremos algunos datos. Usaremos el método $add con algunos valores pasados directamente como parámetros y también lo usaremos para crear una línea vacía:

Do myList.$add('Pepe', 27, kTrue) ;; Añade una línea con los valores suministrados
Do myList.$add() ;; Agrega una línea vacía


También podemos añadir el contenido de una variable de tipo “row” a la lista. Para ello, podemos hacer uso del método $add, en éste caso el método $add le pasa una referencia a la variable “row”:

Do myList.$add().$assignrow(myRow,kTrue)

Note que los métodos de los que podemos hacer uso detrás de $add, deben ser usados con la sintaxis descrita al añadir una línea vacía “$add()”. Esto causa que la función $add devuelva una referencia a la función $assignrow, para que ésta pueda agregar los valores de myRow. El segundo parámetro determina si se usaran los nombres de las columnas o su orden, para emparejar los datos. También se podría hacer uso de los métodos $addafter y $addbefore para agregar los datos antes o después de una determinada columna.

Eliminar líneas de una lista

 

Es posible que en ocasiones también debamos eliminar algunas líneas de la lista. La manera más fácil de hacer esto es utilizando el método $remove. Por ejemplo, si quisiéramos eliminar la línea actual de la lista usaríamos lo siguiente:

Do myList.$remove(myList.$line())

Si quisiéramos eliminar todas las líneas la lista, que cumplan una determinada condición, tendremos que hacer uso en primer lugar de la función $search:

Do myList.$search($ref.miNombreCampo='Pepe', kTrue)

Mediante éste método se seleccionaran todas las filas que contengan el valor 'Pepe' en la columna 'miNombreCampo'. Después las eliminaremos del siguiente modo:

Do myList.$remove(kListDeleteSelected)

También podríamos hacer uso de la constante kListKeepSelected para causar la eliminación de todas las líneas no seleccionados.

Copiar y fusionar una lista

 

A veces es posible que queramos fusionar listas, o copiar los contenidos de una lista sobre otra, para esto último podemos hacer lo siguiente…

Calculate NuevaLista as ViejaLista

…pero, si lo que queremos es copiar la definición de una lista sobre otra usaremos el método $copydefinition:

Do NuevaLista.$copydefinition(ViejaLista)

Este método creará una lista vacía con la definición de la lista inicial. Finalmente, si lo que queremos es agregar  o fusionar, los datos de una lista sobre otra, debemos usar el método $merge:

Do NuevaLista.$merge(ViejaLista,kTrue)

En este caso se añadirán los datos de ViejaLista a NuevaLista. El segundo parámetro determina si queremos hacer la correspondencia de datos usando los nombres de las columnas o bien su orden.

Eliminar listas

 

Si lo que pretendemos es eliminar el contenido de una variable de tipo “list”, podemos hacer uso del método $clear:

Do myList.$clear()

Si también quisiéramos eliminar la definición de sus columnas, podríamos usar $define pero sin pasarle parámetro alguno:

Do myList.$define()

Nota:
Esto es sólo un pequeño ejemplo de cómo hacer uso de las variables de tipo “list”, éste artículo ha sido primero publicado en ingles por Andreas Pfeiffer. Puede obtener más información en español sobre la programación con Omnis Studio en Aula Omnis.

01 marzo 2012

AppleScrip para montar y desmontar discos


set diskName to "NombreDelDisco"
tell application "Finder"
if disk diskName exists then
    eject disk diskName
else
    tell current application
        set deviceLine to (do shell script "diskutil list | grep \"" & diskName & "\" | awk '{ print substr($0,69,9) }'")
        if deviceLine = "" then
            display dialog "El disco \"" & diskName & "\" no pudo encontrarse." buttons {"OK"} default button 1 with title "Error" with icon caution
        end if
        set foundDisks to paragraphs of deviceLine
        repeat with i from 1 to number of items in foundDisks
            set this_item to item i of foundDisks
            if this_item contains "disk" then
                do shell script "diskutil mountDisk/dev/" & this_item
            end if
        end repeat
    end tell
end if
end tell

13 enero 2012

Manual de Programación

Obtenga el Manual de Programación Omnis Studio en Casellano

¡¡ Gratis !! 

Adquiriendo una licencia o una actualización de cualquier producto Omnis Studio a través del distribuidor oficial (http://www.softpi.com), recibirá una copia en formato PDF.

Si desea más información, mande un e-mail a: framosmu@softpi.com

18 enero 2011

Manual de programación en castellano


Manual de Programación Omnis Studio en Castellano. Mediante el primer enlace podrá obtener una edición en formato PDF, mediante el segundo, podrá optar por la edición impresa.



Recuerde que:  Adquiriendo una licencia o una actualización de cualquier producto Omnis Studio a través del distribuidor oficial (http://www.softpi.com), recibirá una copia en formato PDF.