In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Detalle en el IDE

Foro público de Xailer en español
Responder
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

Detalle en el IDE

Mensaje por zeasoftware »

He tenido unos problemillas al poner un oToolbar en la ventana principal de
mi aplicacion, el asunto es ke si pongo el toolbar en la parte inferior
(TOP), al kerer cambiar el alto de esta, se desbarata todo, se pierde la
barra, e incluso ahora, cuando ejecuto la aplicacion se ve la mitad de la
barra y tengo ke ampliar la ventana para ke se vea normal.
Sera mi makina?
Por otro lado, en mis aplicaciones de clipper maneje archivos ini con una
seccion de [Directorios], en el cual ponia los caminos para mis archivos:
Driver, Usr, Fto y Datos; pero aun no hallo como hacerlo en Xailer, veo ke
hay valores en TApplication pero no se como asignarlo para direccionar a
cada uno de los archivos ke usaria en mi sistema.
Desde ya Gracias.
Saludos.
Ramón Zea
Avatar de Usuario
ignacio
Site Admin
Mensajes: 8777
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Detalle en el IDE

Mensaje por ignacio »

Ramón,
La Toolbar y su diseño en el IDE está pendiente de una completa remodelación. Te aconsejo que de momento sólo la uses como se muestra en el ejemplo de DataControlsDbf2, es decir, creandola en run-time.
Echale un vistazo a la documentación de la clase TIni:
/*
* Xailer documentation:
*
* Ini.txt
* Manejo de archivos de configuración
*
* Copyright 2003, 2004 Xailer.com
*
*/
Ultima revisión: 2004-08-02 [JLalin]

//---------------------------------------------------------- ----------------
Esta clase maneja los archivos INI
//---------------------------------------------------------- ----------------
CLASS TIni FROM TComponent
PUBLISHED:
PROPERTY cFileName INIT "" [A]
PUBLIC:
PROPERTY nBuffer INIT 1024 * 32 [A]
CONSTRUCTOR New( cFile )
CONSTRUCTOR Create( cFile )
METHOD GetEntry( cSection, cEntry, uDefault )
METHOD SetEntry( cSection, cEntry, uValue )
METHOD DeleteEntry( cSection, cEntry )
METHOD GetString( cSection, cEntry )
METHOD GetNumeric( cSection, cEntry )
METHOD GetDate( cSection, cEntry )
METHOD GetLogical( cSection, cEntry )
METHOD GetArray( cSection, cEntry, cSeparator )
METHOD SetArray( cSection, cEntry, aData, cSeparator )
METHOD DeleteEntry( cSection, cEntry )
METHOD GetSection( cSection )
METHOD AddSection( cSection )
METHOD SetSection( cSection, aValues )
METHOD DeleteSection( cSection )
METHOD GetSections()
METHOD GetSectionEx( cSection )
METHOD GetSectionsEx()
METHOD EnumSectionEntries( cSection )
METHOD EnumSectionValues( cSection )
METHOD RenameSection( cSection, cNewSection )
METHOD SortSection( cSection )
METHOD Commit()
METHOD DeleteAll()
METHOD SystemChanged( cSection )
ENDCLASS
//---------------------------------------------------------- ----------------
PROPERTY cFileName
Nombre del archivo de configuración
END
//---------------------------------------------------------- ----------------
PROPERTY nBuffer
Tamaño del buffer en bytes. Por defecto se usan 8 Kb
END
//---------------------------------------------------------- ----------------
CONSTRUCTOR New( cFile )
cFile: Nombre del archivo de configuración
Crea un objeto Ini
RETURN Self
//---------------------------------------------------------- ----------------
CONSTRUCTOR Create( cFile )
cFile: Nombre del archivo de configuración
Crea un objeto Ini
RETURN Self
//---------------------------------------------------------- ----------------
METHOD GetEntry( cSection, cEntry, uDefault )
cSection: Nombre de la sección
cEntry: Nombre de la entrada
uDefault: Valor por defecto en caso de que la sección o la
entrada no existan
uValue: Valor recogido del archivo o uDefault
Retorna la información asignada a la entrada cEntry perteneciente a la sección
RETURN uValue
//---------------------------------------------------------- ----------------
METHOD SetEntry( cSection, cEntry, uValue )
cSection: Nombre de la sección
cEntry: Nombre de la entrada
uValue: Valor que se desea guardar en el archivo
Guarda la información en la entrada cEntry perteneciente a la sección cSection
RETURN Nil
//---------------------------------------------------------- ----------------
METHOD DeleteEntry( cSection, cEntry )
cSection: Nombre de la sección
cEntry: Nombre de la entrada
Elimina la entrada pertenciente a la sección
RETURN Nil
//---------------------------------------------------------- ----------------
METHOD GetString( cSection, cEntry )
cSection: Nombre de la sección
cEntry: Nombre de la entrada
cValue: Contenido de la entrada o "" en caso de que no exista
Retorna el valor almacenado en la entrada de la sección especificada
RETURN cValue
//---------------------------------------------------------- ----------------
METHOD GetNumeric( cSection, cEntry )
cSection: Nombre de la sección
cEntry: Nombre de la entrada
nValue: Contenido de la entrada o 0 en caso de que no exista
Retorna el valor almacenado en la entrada de la sección especificada
RETURN nValue
//---------------------------------------------------------- ----------------
METHOD GetDate( cSection, cEntry )
cSection: Nombre de la sección
cEntry: Nombre de la entrada
dValue: Contenido de la entrada o la fecha actual en caso de que no exista
Retorna el valor almacenado en la entrada de la sección especificada
RETURN dValue
//---------------------------------------------------------- ----------------
METHOD GetLogical( cSection, cEntry )
cSection: Nombre de la sección
cEntry: Nombre de la entrada
lValue: Contenido de la entrada o .F. en caso de que no exista
Retorna el valor almacenado en la entrada de la sección especificada
RETURN lValue
//---------------------------------------------------------- ----------------
METHOD GetArray( cSection, cEntry, cSeparator )
cSection: Nombre de la sección
cEntry: Nombre de la entrada
cSeparator: Caracter usado como separador en los elementos de la
entrada. Por defecto ;
aValue: Contenido de la entrada o {} en caso de que no exista
Retorna el valor almacenado en la entrada de la sección especificada
RETURN aValue
//---------------------------------------------------------- ----------------
METHOD SetArray( cSection, cEntry, aData, cSeparator )
cSection: Nombre de la sección
cEntry: Nombre de la entrada
aData: Lista de valores que se desea escribir
cSeparator: Caracter usado como separador en los elementos de la
entrada. Por defecto ;
Almacena la lista aData en la entrada de la sección especificada
RETURN Nil
//---------------------------------------------------------- ----------------
METHOD DeleteEntry( cSection, cEntry )
cSection: Nombre de la sección
cEntry: Nombre de la entrada
Elimina una entrada de la sección especificada
RETURN Nil
//---------------------------------------------------------- ----------------
METHOD GetSection( cSection )
cSection: Nombre de la sección
aSection: Lista de elementos que contiene la sección
Retorna una lista de dos dimensiones con todos los elementos que
contiene la sección especificada
RETURN aSection
//---------------------------------------------------------- ----------------
METHOD AddSection( cSection )
cSection: Nombre de la sección
Crea una nueva sección vací­a en el archivo
RETURN Nil
//---------------------------------------------------------- ----------------
METHOD SetSection( cSection, aValues )
cSection: Nombre de la sección
aValues: Lista de dos dimensiones con los elementos de la sección
Establece el contenido de una sección a partir de una lista de dos
dimensiones con todos los elementos
RETURN Nil
//---------------------------------------------------------- ----------------
METHOD DeleteSection( cSection )
cSection: Nombre de la sección
Elimina la sección especificada
RETURN Nil
//---------------------------------------------------------- ----------------
METHOD GetSections()
aSections: Lista de secciones
Devuelve una lista con los nombres de las secciones
RETURN aSections
//---------------------------------------------------------- ----------------
METHOD GetSectionEx( cSection )
cSection: Nombre de la sección
cString: Contenido de la sección
Devuelve una cadena con el contenido de la sección
RETURN cString
//---------------------------------------------------------- ----------------
METHOD GetSectionsEx()
cString: Nombres de la secciones
Devuelve una cadena con los nombres de las secciones
RETURN cString
//---------------------------------------------------------- ----------------
METHOD EnumSectionEntries( cSection )
cSection: Nombre de la sección
aEntries: Entradas de la sección
Devuelve una lista con los nombres de las entradas que pertenecen
a la sección
RETURN aEntries
//---------------------------------------------------------- ----------------
METHOD EnumSectionValues( cSection )
cSection: Nombre de la sección
aValues: Valores de las entradas de la sección
Devuelve una lista con los valores de las entradas que pertenecen
a la sección
RETURN aValues
//---------------------------------------------------------- ----------------
METHOD RenameSection( cSection, cNewSection )
cSection: Nombre de la sección
cNewSection: Nuevo nombre de la sección
Renombra una sección
RETURN Nil
//---------------------------------------------------------- ----------------
METHOD SortSection( cSection )
cSection: Nombre de la sección
Ordena alfabéticamente las entradas de una sección
RETURN Nil
//---------------------------------------------------------- ----------------
METHOD Commit()
Fuerza la escritura en disco de los datos del archivo. Esta operación
depende del sistema operativo y de la version, por lo que no se
garantiza que los datos sean escritos al momento
RETURN Nil
//---------------------------------------------------------- ----------------
METHOD DeleteAll()
Elimina todas las secciones y entradas del archivo
RETURN Nil
//---------------------------------------------------------- ----------------
METHOD SystemChanged( cSection )
cSection: Nombre de la sección
Informa al sistema y al resto de aplicaciones que una sección
perteneciente a un archivo del sistema ha cambiado
RETURN Nil
//---------------------------------------------------------- ----------------
--
Ignacio Ortiz
www.xailer.com
"Ramon Zea" <zeasoftware@hotmail.com> escribió en el mensaje news:41ac3a55$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> He tenido unos problemillas al poner un oToolbar en la ventana principal de
> mi aplicacion, el asunto es ke si pongo el toolbar en la parte inferior
> (TOP), al kerer cambiar el alto de esta, se desbarata todo, se pierde la
> barra, e incluso ahora, cuando ejecuto la aplicacion se ve la mitad de la
> barra y tengo ke ampliar la ventana para ke se vea normal.
>
> Sera mi makina?
>
> Por otro lado, en mis aplicaciones de clipper maneje archivos ini con una
> seccion de [Directorios], en el cual ponia los caminos para mis archivos:
> Driver, Usr, Fto y Datos; pero aun no hallo como hacerlo en Xailer, veo ke
> hay valores en TApplication pero no se como asignarlo para direccionar a
> cada uno de los archivos ke usaria en mi sistema.
>
> Desde ya Gracias.
>
>
> Saludos.
> Ramón Zea
>
>
--
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Avatar de Usuario
ignacio
Site Admin
Mensajes: 8777
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Detalle en el IDE

Mensaje por ignacio »

Ramon,
Mira la clase TAppData, es justo lo que quieres.
Saludos
--
Ignacio Ortiz
www.xailer.com
"Ramon Zea" <zeasoftware@hotmail.com> escribió en el mensaje news:[email=41ac8f3a@ozsrv2.ozlan.local...]41ac8f3a@ozsrv2.ozlan.local...[/email]
la clase tIni y ala analice, y esta excelente, lo ke kiero es guardar los datos en variables ke esten visibles en todo el sistema.
Al menos en mis aplicaciones DOS, usaba un array Static en un .prg, y lo accesaba por medio de funciones para modificar u obtener su valor en alguna seccion.
Mi pregunta es: si puedo hacer esto en Xailer, una variable KE solo sea visible en ese .prg?
o Si puedo hacer una clase propia con dos MEtodos para modificar u acccesar su valor y con una variable tipo Array
Algo asi:
Class AppliEnviron
Data aArray1 Bla bLa
Method Set( cSection, cData )
Method Get( cSection, cData )
EndClass
Se puede?
Gracias.
Ramón Zea
--
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

Detalle en el IDE

Mensaje por zeasoftware »

la clase tIni y ala analice, y esta excelente, lo ke kiero es guardar los datos en variables ke esten visibles en todo el sistema.
Al menos en mis aplicaciones DOS, usaba un array Static en un .prg, y lo accesaba por medio de funciones para modificar u obtener su valor en alguna seccion.
Mi pregunta es: si puedo hacer esto en Xailer, una variable KE solo sea visible en ese .prg?
o Si puedo hacer una clase propia con dos MEtodos para modificar u acccesar su valor y con una variable tipo Array
Algo asi:
Class AppliEnviron
Data aArray1 Bla bLa
Method Set( cSection, cData )
Method Get( cSection, cData )
EndClass
Se puede?
Gracias.
Ramón Zea
--
Carlos Vargas
Mensajes: 5
Registrado: Mar Nov 30, 2004 9:32 pm

Detalle en el IDE

Mensaje por Carlos Vargas »

puedes usar
GLOBAL cVar en el programa principal
y al inicio de cada prg pones
GLOBAL EXTERNAL cVar
solo en xharbour
salu2
carlos vargas
--
Responder