Bienvenido, invitado ( Identificarse | Registrarse )
![]() ![]() |
Nov 16 2007, 08:43 PM
Publicado:
#1
|
|
|
Maestro ![]() ![]() ![]() ![]() Grupo: Root Admin Menjsajes: 328 Points: 695 Registrado: -- Desde: Por ahi ando... Miembro No.: 9 |
Bueno, para ir ampliando esta seccion voy a poner un tutorial de lo que es uno de mis lenguajes preferidos, Gambas
Gambas es un intrprete de VisualBasic para Linux, muy sencillo de aprender y utilizar, y para empezar a hacer interfaces sencillas es el mejor lenguaje que se me ocurre, y aunque no tengas linux es una buena base para seguir metiendote dentro del mundillo de VisualBasic (que ya pondr un tutorial de eso otro dia) Tabla de contenidos:
Distribuciones En la pgina oficial de Gambas, puedes encontrar tanto el cdigo fuente, como indicaciones para encontrar paquetes binarios de este software: http://gambas.sourceforge.net notas importantes: TODAS LAS DISTRIBUCIONES: Los paquetes binarios no tienen por qu corresponder siempre a la ltima versin disponible, algunas distribuciones pueden tener paquetes especialmente anticuados, con versiones anteriores a la 1.0. En esos casos, es mejor bajar el cdigo fuente y compilarlo en la propia mquina. DEBIAN: desde los repositorios de Linex, puedes encontrar los paquetes ms actualizados disponibles. Componentes Para instalar la mayor parte de los componentes de Gambas, es necesario instalar una serie de libreras en el sistema, de las cuales los componentes se sirven para realizar su labor: gb.net : depende tan slo de la librera estndar de C, glibc, por lo que disponiendo de un sistema Linux o *BSD en marcha, no se necesita nada adicional. gb.net.curl : emplea libcurl para su trabajo. La librera se puede encontrar como cdigo fuente desde su web http://curl.haxx.se/ . Compilndola e instalndola antes de instalar Gambas, este componente funcionar correctamente. Hay que tener en cuenta que Gambas necesita como mnimo la versin 7.11 de libcurl. Con versiones anteriores, el componente gb.net.curl no funcionar correctamente, o ni siquiera compilar. Tambin es posible instalar libcurl con los binarios de sistemas Mandrake o RedHat/Fedora modernos mediante la herramienta "urpmi" ( ejecutar urpmi libcurl y urpmi libcurl-devel debera bastar), y en sistemas Debian,Linex o Ubuntu (usando apt-get install libcurl y apt-get install libcurl-devel o bien con la herramienta grfica Synaptic). En caso de instalar binarios, es necesario, como se indic previamente, que los paquetes instalados correspondan a la versin 7.11 o posterior -------------------- ![]() |
|
|
|
Nov 16 2007, 08:50 PM
Publicado:
#2
|
|
|
Maestro ![]() ![]() ![]() ![]() Grupo: Root Admin Menjsajes: 328 Points: 695 Registrado: -- Desde: Por ahi ando... Miembro No.: 9 |
2. Hola Mundo 1
-------------------- ![]() |
|
|
|
Nov 16 2007, 08:56 PM
Publicado:
#3
|
|
|
Maestro ![]() ![]() ![]() ![]() Grupo: Root Admin Menjsajes: 328 Points: 695 Registrado: -- Desde: Por ahi ando... Miembro No.: 9 |
3. Hola Mundo 2
-------------------- ![]() |
|
|
|
Nov 16 2007, 09:26 PM
Publicado:
#4
|
|
|
Maestro ![]() ![]() ![]() ![]() Grupo: Root Admin Menjsajes: 328 Points: 695 Registrado: -- Desde: Por ahi ando... Miembro No.: 9 |
4. Hola Mundo 3
-------------------- ![]() |
|
|
|
Nov 16 2007, 09:33 PM
Publicado:
#5
|
|
|
Maestro ![]() ![]() ![]() ![]() Grupo: Root Admin Menjsajes: 328 Points: 695 Registrado: -- Desde: Por ahi ando... Miembro No.: 9 |
5. Algo de Teora Basica
Existen muchas teoras programacin, Gambas implementa algunos de sus conceptos, y vamos a tratar de aclararnos un poco respecto a las tcnicas en las que nos apoyaremos para programar. Programacin estructurada La verdad es que el ttulo es algo pretencioso, hay libros completos sobre ello, pero lo que aqu interesa explicar es el concepto de "variable", "funcin" y "mbito". Variables: Los programas almacenan la informacin de uso inmediato en memoria RAM. Trabajando al ms bajo nivel, se deposita la informacin indicando la direccin de la memoria RAM directamente. Esto es muy engorroso, especialmente cuando el nmero de datos a almacenar es muy grande. Para solucionarlo, los lenguajes de programacin aportan el concepto de "variable": es nombre al cual nos referimos para almacenar informacin u obtenerla, de direcciones de memoria que se gestionan sin que a nosotros nos afecte directamente. Nosotros indicaremos un nombre, por ejemplo "MiValor", asignaremos valores con el operador " = " (MiValor = 3), y haciendo referencia a ese nombre podremos leer su contenido (PRINT MyValor , mostrara en pantalla "3" en este ejemplo). Segn el lenguaje de programacin se habla de que no est "tipado", o que est "tipado", en funcin del modo en que usa las variables. En un lenguaje "no tipado", cada variable puede almacenar cualquier cosa, (un nmero, una cadena de texto, etc). Esto puede estar bien para programar muy rpido, pero da lugar a graves errores en aplicaciones medianas y grandes. Gambas, por el contrario, es un lenguaje "tipado", y esto significa que de modo previo al uso de cualquier variable, forzosamente hemos de "declararla", especificando el tipo de datos que va a contener. Estos son algunos ejemplos de "declaraciones" con Gambas: DIM MyVar As Integer PRIVATE Respuesta As String PUBLIC Suma As Float En estos ejemplos, y sin que nos interese ahora la primera parte de estas declaraciones (DIM, PRIVATE,PUBLIC), estamos indicando que deseamos utilizar una variable llamada "MyVar" que almacenar nmeros enteros, otra llamada "Respuesta" que almacenar cadenas de texto, y otra llamada "Suma" que almacenar nmeros con coma flotante (es decir, es capaz de almacenar nmeros con parte decimal) Funciones: En los primeros tiempos de la informtica, y en realidad, en la actualidad los microprocesadores siguen trabajando as, los programas eran una ristra largusima de ordenes, una detrs de otra, sin ms posibilidad de "estructuracin" que dar saltos hacia a delante o hacia atrs en el cdigo. Ms adelante se impuso un modelo ms "estructurado": dividir el cdigo en bloques separados, llamados "funciones" o "mtodos". Un programa completo estar formado por funciones, pequeos bloques de cdigo a los que se le envan una serie de valores de los cuales se hace responsable para procesarlos, y retornar un valor, si procede. Cada programa en Gambas empieza con una funcin "Main", o principal, y a lo largo de su cdigo, esta funcin enva datos a otras funciones, y , si es necesario, recibe sus resultados. Este proceso se denomina "llamada", una funcin "llama" a otra funcin, esta puede "llamar" a otras, etc. Los valores que se envan para ser procesados, se denominan "parmetros". Para indicar a Gambas el inicio de una funcin, emplearemos bsicamente esta nomenclatura: PUBLIC FUNCTION nombre_de_la_funcion (p1 As TipoDato,p2 As TipoDato...) As TipoDato o bien PUBLIC SUB nombre_de_la_funcion (p1 As TipoDato,p2 As TipoDato...) Respecto a la palabra "PUBLIC", no nos preocuparemos por ahora, pero observa que podemos indicar "FUNCTION" o "SUB". La primera palabra significa que el cdigo de la funcin va a retornar algn valor, mientras que "SUB" significa que se trata de una funcin que no retornar ningun valor, como fue el ejemplo de nuestro segundo tutorial∞, donde emitamos un mensaje, pero no retornabamos ningn valor. nombre_de_funcion : Es el nombre con que llamaremos a la funcin desde otras partes del cdigo, y ser un identificador nico para ese fragmento de cdigo en todo el programa. (p1 As TipoDato,p2 As TipoDato...) : A continuacin, se indican las variables que se pasarn como parmetros, separadas por comas, e indicando el tipo de la variable, del mismo modo que en las declaraciones antes explicadas. Segn lo que vaya a hacer la funcin emplearemos ms o menos parmetros. As TipoDato : Si hemos indicado la palabra clave "FUNCTION", indicaremos al final el tipo de dato que vamos a devolver. Dependiendo del tipo de parmetros que utilicemos, estos pueden tambien utilizarse en ocasiones para devolver el resultado deseado, al margen de este valor retornado. Unos ejemplos: Una funcin que no devuelve ningn valor y no necesita parmetros: PUBLIC SUB MyFuncion() Una funcin que no devuelve ningn valor y necesita un valor entero como parmetro: PUBLIC SUB OtraFuncion(MiValor As Integer) Una funcin que devuelve una cadena de texto y necesita un valor entero y un valor de cadena: PUBLIC FUNCTION OtraMas(MiDato As Integer,MiCadena As String) As String mbito No todas las funciones y variables se utilizan desde todo el cdigo, hay varias razones para limitar las zonas desde donde se puede acceder a una variable o funcin: desde razones de rendimiento, por ejemplo, es mejor tener variables que se creen y se destruyan tras ser usadas, que tener un "monstruo" en memoria con todas las variables permanentemente almacenadas, hasta razones de comodidad para el programador, ya que es mejor poder definir el mismo nombre para ciertas variables, en zonas "aisladas" del cdigo, que tener que inventar miles de nombres a lo largo de un gran programa. Gambas permite verias tcnicas para separar o aislar el "mbito" de las variables y funciones. Los programas escritos en Gambas, constan de "mdulos", "formularios", y "clases". Pues bien, el cdigo de cada mdulo est parcialmente aislado del cdigo de todos los dems, y de igual modo sucede con los formularios y clases. Es posible tener dos mdulos que contengan una funcin con el mismo nombre: Mdulo 1: Public SUB MiFuncion(Dato As Integer) Mdulo 2: Public SUB MiFuncion(Dato As Integer) Si nos encontramos dentro de otra funcin del mdulo 1, yqueremos llamar a la funcin "MiFuncion", directamente lo indicaremos as en el cdigo: ... MiFuncion(34) ... Al llamar a "MiFuncion", el intrprete sabe que nos referimos a la funcin que se encuentra dentro del mismo mdulo. Ahora bien, si nos encontramos dentro del mdulo 2, o de cualquier otro mdulo, clase o formulario, hemos de especificar el mdulo en el que se encuentra la funcin. As, si desde el mdulo 2 indicaramos: ... Mifuncion(9654) ... Realmente estaramos llamando a la funcin con ese nombre que se encuentra dentro del mdulo 2. Hemos de especificar que deseamos utilizar la del mdulo 1, indicando el nombre del mdulo, un punto, y el nombre de la funcin: Modulo1.MiFuncion(9654) La segunda tcnica para delimitar el mbito de la funcin, es indicar al intrprete si deseamos que esa funcin sea accesible desde otro mdulo, formulario o clase. Si indicamos la palabra "PUBLIC", delante de la declaracin de la funcin, esta podr ser llamada desde otros mdulos, clases o formularios, pero si indicamos "PRIVATE", slo podremos acceder desde el propio mdulo (se dice tambin que "no es visible" desde otros mdulos) En cuanto a las variables, tenemos los mismos casos que con las funciones, y otro ms: Las variables pueden ser declaradas al principio del mdulo, formulario o clase, antes de cualquier funcin, en este caso emplearemos las palabras "PRIVATE" y "PUBLIC" de igual modo que con las funciones, y estas variables existirn mientras exista el mdulo, clase o formulario. Pero tambin podemos indicar una variable dentro de una funcin, empleando ahora la palabra clave "DIM", y en este caso la variable slo existe desde que se entra en la funcin, hasta que se sale, y no es accesible en absoluto desde ninguna otra zona del cdigo fuera de la funcin. PRIVATE Var1 As Integer PUBLIC Var2 As String PUBLIC FUNCTION SumaEspecial (V1 As Integer,V2 As Integer) As Integer DIM Media As Integer Media=(V1+V2)/2 RETURN Media+V1+V2 END -------------------- ![]() |
|
|
|
Nov 16 2007, 09:39 PM
Publicado:
#6
|
|
|
Soy un TROLL! y encima loco... ![]() ![]() ![]() Grupo: Mod Menjsajes: 172 Points: 2,815 Registrado: -- Desde: On a dreamed city Miembro No.: 8 |
Pues a lo mejor me animo y hago cualquier chorrada
P.D: Anda que yo, pensar que cuando decias: (copy paste del MSN xD) <-._.-Choms-._.-> http://board.botmania.net | 64 Bits, 64 Threads - OpenSPARC dice: anda y mirate el tuto de gambas [P^3] Fraude At times, I think like Emo... =( dice: gambas? <-._.-Choms-._.-> http://board.botmania.net | 64 Bits, 64 Threads - OpenSPARC dice: si, gambas [P^3] Fraude At times, I think like Emo... =( dice: en la vida praactica, que usos le puedo dar a gambas (a parte de alimentarme claro xDD) ------------------------ Para quien no lo sepa, gambas, se puede usar entre otras cosas para: puedes crear formularios, botones de comandos, cuadros de texto o enlazar bases de datos como MySQL, PostgreSQL o SQLite -------- Segun se, es como Visual Basic xDD Salu2! P.D: Perdon por el tocho post |
|
|
|
Nov 16 2007, 11:05 PM
Publicado:
#7
|
|
![]() Newbie ![]() Grupo: Root Admin Menjsajes: 48 Points: 135 Registrado: 6-November 07 Miembro No.: 29 |
Se ve que no se puede instalar en AMD64 porque una de sus librerias (gambas2-gb-compress-gzip, pero no estoy muy seguro) no da soporte a la arquitectura.
Me tendr que aguantar. Se agradeceran sugerencias. Gracias. Un saludo, a2. -------------------- Si tuvieras que elegir entre una muerte sangrienta y otra dolorosa, cul escogeras?
|
|
|
|
Nov 17 2007, 11:19 AM
Publicado:
#8
|
|
|
Maestro ![]() ![]() ![]() ![]() Grupo: Root Admin Menjsajes: 328 Points: 695 Registrado: -- Desde: Por ahi ando... Miembro No.: 9 |
Se ve que no se puede instalar en AMD64 porque una de sus librerias (gambas2-gb-compress-gzip, pero no estoy muy seguro) no da soporte a la arquitectura. Me tendr que aguantar. Se agradeceran sugerencias. Gracias. Un saludo, a2. Yo creo que si se puede poner... o si no pon el de la arquitectura x86 que tambien es compatible con los AMD de 64 bits (yo uso un atholon, o como se escriba, de 32 bits y Gambas me funciona) de todas maneras intentalo que tampoco pasa nada por probar. Yo tampoco le hago mucho caso a lo de las arquitecturas porque si no no instalaria nada en el portatil xD Salu2 -------------------- ![]() |
|
|
|
Nov 17 2007, 12:39 PM
Publicado:
#9
|
|
|
Maestro ![]() ![]() ![]() ![]() Grupo: Root Admin Menjsajes: 328 Points: 695 Registrado: -- Desde: Por ahi ando... Miembro No.: 9 |
Bueno, continuando con el tutorial...
6. Evento KeyPress Con Gambas se puede utilizar la clase 'Key' para conocer las teclas que pulsa el usuario sobre cualquier control grfico. Cada control, posee dos eventos para indicarnos la accin del usuario: KeyPress : se activa cuando el usuario aprieta la tecla KeyRelease : se activa cuando el usuario suelta la tecla Estos eventos no disponen de parmetros, ya que la clase 'Key' almacena en cada momento el cdigo de la tecla que se acaba de apretar o soltar. Es una clase esttica, por la tanto no es necesario que creemos ningn objeto de esa clase para utilizarlo: ... PUBLIC SUB Button1_KeyPress() Message.Info(Key.Code) END ... Cuando se pulse una tecla con el foco situado sobre el botn, se mostrar un mensaje con el cdigo de la tecla pulsada. Si pulsa por ejemplo la flecha derecha, devolver el valor 4116. Con ello ya se sabe que ese cdigo corresponde a la flecha derecha. Si se desea que el evento responda slo a la pulsacin de una/s determinada/s teclas: ... PUBLIC SUB Button1_KeyPress() IF Key.Code = 4116 THEN Message("Has pulsado la tecla de flecha derecha") END IF END ... Tambin podemos valernos de las constantes que aporta la clase "Key" para olvidarnos de los extraos cdigos numricos de cada tecla: ... PUBLIC SUB Button1_KeyRelease() IF Key.Code = Key.Right THEN Message("Has soltado la tecla de flecha derecha") END IF END ... Por ltimo, el evento KeyPress es cancelable, de modo que podemos evitar que la pulsacin de una tecla llegue al programa, para cancelar, por ejemplo, una accin del usuario no admitida en ese momento: ... PUBLIC SUB Button1_KeyPress() IF key.Code <> key.Tab THEN STOP EVENT END ... Se observa en el ejemplo, que se evita la cancelacin del evento cuando la tecla "Tab" es pulsada, dada la importancia de esta tecla para moverse por los formularios sin necesidad del ratn. La clase "Key" aporta tambin los valores 'Alt', 'Code', 'Control'y 'Shift' para saber si estas teclas estaban pulsadas a la vez que la principal. -------------------- ![]() |
|
|
|
Nov 17 2007, 12:42 PM
Publicado:
#10
|
|
|
Maestro ![]() ![]() ![]() ![]() Grupo: Root Admin Menjsajes: 328 Points: 695 Registrado: -- Desde: Por ahi ando... Miembro No.: 9 |
7. Grupos de Controles
En otros lenguajes de programacin, como VB, se suele trabajar con grupos de controles, de forma que, por ejemplo, varios botones lancen un evento comn al ser pulsados, y dentro del evento, cada botn se distingue, en el caso de VB, con el valor "Index" que aporta el evento. Gambas tiene su propia solucin: 1) En tiempo de diseo: Dentro del IDE, en el panel de propiedades de un objeto grfico, existe siempre una propiedad llamada "Group", que no es en s una propiedad real de dicho objeto, si no el nombre que se dar a su gestor de eventos. Por defecto, cuando no se indica nada, el gestor de eventos se llama igual que el objeto, as, si tenemos un botn llamado "Btn1", su gestor de eventos ser "Btn1", de forma que para capturar un evento, como puede ser "Click", escribiremos el cdigo as:PUBLIC SUB Btn1_Click() ... END Sin embargo, si especificamos la pseudo-propiedad "Group", podremos indicar cualquier otro nombre, y de hecho podemos indicar el mismo nombre para mltiples controles. Si disponemos, por ejemplo, de cinco botones, y a los cinco les ponemos "Botones" como valor de "Group", capturaremos los eventos de los cinco dentro de:PUBLIC SUB Botones_Click() ... END Y cmo sabemos cual es el botn pulsado? Dentro de cada evento, se puede llamar a un objeto especial, llamado "LAST", el cual mantiene una referencia al objeto que lanz el evento. As, si indicamos PRINT LAST.Text Se mostrar en la consola el texto del botn que ha lanzado el evento. Tambin podemos emplear la propiedad "TAG" de cada botn para aadir cualquier caracterstica especfica que requiramos para diferenciarlos:SELECT CASE LAST.Tag ... ... END SELECT 2) En tiempo de ejecucin: en Gambas tenemos libertad para crear cualquier control durante la ejecucin de un programa. Si deseamos crear seis botones, y hacer que respondan a un gestor de eventos comn, lo indicaremos en la creacin del control:DIM Btn As Button ... Btn=NEW Button(ME) AS "Botones" ... De esta forma, todos los botones creados responden al gestor de eventos "Botones", y podemos, como se hizo en el primer caso, diferenciarlos por la palabra clave "LAST". Tambin tenemos la posibilidad de almacenar una referencia a cada botn dentro de una matriz tipo "Object[]" para manejarlos desde fuera de los eventos. -------------------- ![]() |
|
|
|
Nov 17 2007, 12:44 PM
Publicado:
#11
|
|
|
Maestro ![]() ![]() ![]() ![]() Grupo: Root Admin Menjsajes: 328 Points: 695 Registrado: -- Desde: Por ahi ando... Miembro No.: 9 |
8. Trabajo con Eventos
La interfaz grfica ofrece una serie de eventos para modelar el comportamiento de un programa, no obstante, podemos crear nuestros propios eventos personalizados, y no slo en programas grficos, si no tambin en programas de consola, ya que la gestin de eventos de Gambas es independiente del entorno grfico, a diferencia de otros lenguajes. Para empezar, crearemos un mdulo de clase llamado, en nuestro ejemplo, "ClsElemento". Esta clase de ejemplo, tendr un slo mtodo "Llamada()" que incrementa un contador. Una vez que el contador alcanza el valor "10", se resetea el contador, y se dispara un evento para informar de ello. Lo primero es declarar el evento. En nuestro caso, enviar como parmerto una cadena advirtiendo que el contador vale 10: EVENT MiEvento(Data AS String) Tras esto, aadimos una variable privada que acta como contador: PRIVATE Contador AS Integer Escribimos ahora el cdigo de la funcin de llamada: PUBLIC SUB Llamada() ' Incrementamos el contador Contador=Contador+1 IF Contador>9 THEN ' Si el valor del contador es 10 ' disparamos el evento RAISE MiEvento("Contador vale 10") ' Y reseteamos el contador Contador=0 END IF END Finalmente, escribimos el cdigo principal del programa. Para ello cremos un formulario con un botn. Al inicio declaramos un objeto de nuestra clase: PRIVATE MiClase AS ClsElemento Al abrirse el formulario, creamos el objeto, declarando el "observador" de eventos entre comillas: PUBLIC SUB Form_Open() MiClase=NEW ClsElemento AS "MiObservador" END Aadimos al botn el cdigo para que utilize el objeto: PUBLIC SUB Button1_Click() MiClase.Llamada () END Y finalmente, recogemos el evento: PUBLIC SUB MiObservador_MiEvento(Data AS String) Message.Info (Data) END Esta funcin tiene el nombre del "observador" de eventos, un guin bajo, y el nombre del evento, por lo que ser llamada cuando se dispare el evento. CODE Cdigo completo de "ClsElemento":
' Gambas class file PRIVATE Contador AS Integer EVENT MiEvento(Data AS String) PUBLIC SUB Llamada() Contador=Contador+1 IF Contador>9 T HEN RAISE MiEvento("Contador vale 10") Contador=0 END IF END Cdigo completo de "Form1": PRIVATE MiClase AS ClsElemento PUBLIC SUB Button1_Click() MiClase.Llamada () END PUBLIC SUB MiObservador_MiEvento(Data AS String) Message.Info (Data) END PUBLIC SUB Form_Open() MiClase=NEW ClsElemento AS "MiObservador" END -------------------- ![]() |
|
|
|
Nov 17 2007, 01:16 PM
Publicado:
#12
|
|
|
Maestro ![]() ![]() ![]() ![]() Grupo: Root Admin Menjsajes: 328 Points: 695 Registrado: -- Desde: Por ahi ando... Miembro No.: 9 |
9. Multiidioma
Gambas incorpora soporte nativo para crear aplicaciones que se distribuyan entre usuarios que hablan idiomas distintos. Un proyecto ha de ser marcado como "Traducible" para que esto sea posible. 1. En una nueva aplicacin Crea un nuevo proyecto grfico con Gambas y detente en el punto donde se solicita el nombre del proyecto. Observars que puedes marcar un "check" que indica que el proyecto es traducible. Mrcala. ![]() El proyecto gestionar de forma automtica los textos a partir de ese momento. 2. En una aplicacin ya existente Acude al men "Proyecto" y dentro de este pulsa "Propiedades". En el asistente de propiedades del proyecto, acude a la pestaa "Traduccin" y marca la opcin "El proyecto es traducible". Acepta los cambios. ![]() 3. Trabajo con aplicaciones "traducibles" Todos los textos de la interfaz grfica, se gestionan de forma automtica, de modo que al acudir al gestor de traducciones, los encontrars disponibles tras cualquier cambio o adicin en la intefaz. En cuanto a los textos del programa, hemos de indicar explcitamente que deseamos tenerlos disponibles para su traduccin, ya que podra tratarse de textos que no se deben traducir, como, por ejemplo, cadenas SQL, o etiquetas de XML. Si en un cdigo no traducible, indicamos las cadenas como en este ejemplo: PUBLIC SUB Button1_Click() Message.Info ("Hola Mundo") END En el caso de un texto ha traducir, hemos de delimitar la cadena textual con signos de parntesis: PUBLIC SUB Button1_Click() Message.Info ( ("Hola Mundo") ) END El compilador sabe distinguir automticamente entre los parentesis que corresponden al mtodo, y los referidos a la cadena. Por ltimo, ten en cuenta que hay signos especiales o "de escape" en Gambas; as, por ejemplo, el smbolo " & " se utiliza para indicar en la interfaz grfica, que esa tecla ser el atajo de teclado para acceder al men o botn, por ejemplo. Otros smbolos tienen significado similar al que tienen en C o algunas shells, como es el caso de "\n" (retorno de carro). el gestor de traducciones, es capaz de comprobar la coherencia de caracteres especiales escritos en la versin original, y en la traduccin. -------------------- ![]() |
|
|
|
Nov 17 2007, 01:18 PM
Publicado:
#13
|
|
|
Maestro ![]() ![]() ![]() ![]() Grupo: Root Admin Menjsajes: 328 Points: 695 Registrado: -- Desde: Por ahi ando... Miembro No.: 9 |
10. Proceso de Traduccin
Vamos a tomar como ejemplo el propio entorno de desarrollo Gambas. Cuando descargamos una versin de Gambas en paquete fuente, y descomprimimos el paquete tar.bz2, se genera una carpeta llamada gambas-X.XX (X.XX depende de la versin). Dentro de esta carpeta, hay dos subcarpetas: app/gambas : contiene el propio entorno de desarrollo. app/gambas-database-manager : contiene el gestor de bases de datos. Pues bien, ejecutemos Gambas, indiquemos "Abrir proyecto", busquemos la carpeta gambas-X.XX/app/gambas, y abramos este proyecto. A continuacin, acudamos al men "Proyecto", seleccionando la opcin "Traducir". ![]() Una vez seleccionada la opcin, entramos en el asistente de traduccin. Hemos de elegir el idioma que deseamos traducir. Si ya habamos trabajado previamente en ella, aparecern los textos sin traducir, as como los ya traducidos. Todas las cadenas sin traducir, as como las introducidas con posterioridad a la ltima fase de traducciones, aparecern con la traduccin en blanco. ![]() Cada vez que pulsamos con el botn izquierdo en una de las cadenas en la primera lista, en las listas inferiores se nos muestra la cadena original, y en la parte inferior disponemos de la caja de texto para escribir la traduccin correspondiente. Cuando cambiamos a otra cadena, la que habamos editado queda guardada durante esta sesin (es necesario pulsar "Guardar traduccin" para que quede guardado permanentemente). El resto de las opciones son las siguientes: ![]()
Salu2 Choms -------------------- ![]() |
|
|
|
Dec 28 2007, 03:42 PM
Publicado:
#14
|
|
|
Newbie ![]() Grupo: Members Menjsajes: 1 Points: 5 Registrado: 28-December 07 Miembro No.: 50 |
como se crea el instalador del proyecto creado? |
|
|
|
Dec 28 2007, 11:18 PM
Publicado:
#15
|
|
|
Maestro ![]() ![]() ![]() ![]() Grupo: Root Admin Menjsajes: 328 Points: 695 Registrado: -- Desde: Por ahi ando... Miembro No.: 9 |
no se si te entiendo... te refieres a compilarlo como ejecutable o a crear un instalador tipo install shield?
a lo primero sencillo, supongo yo que el gambas traer compilador de serie a lo segundo te tienes que buscar un programa que te haga los instaladores (yo antes usaba uno muy bueno para windows que se llama Inno Setup) De todas maneras te miro mejor lo primero y luego te concreto Salu2 -------------------- ![]() |
|
|
|
Feb 3 2008, 01:28 PM
Publicado:
#16
|
|
![]() Dios Supremo del Foro ![]() ![]() Grupo: Members Menjsajes: 69 Points: 1,017,212 Registrado: -- Desde: Delante del ordenador Miembro No.: 24 |
Me acabo de poner linux, y como comprenderis no conozco mucho el tema todava, pero como hace poco me puse a hacer cosas con el Visual Basic y me gust bastante, pues me gustara ponerme el gambas que parece ser igual. Alguien sabe como me lo puedo bajar del sinaptic?
|
|
|
|
Feb 4 2008, 07:07 PM
Publicado:
#17
|
|
|
Maestro ![]() ![]() ![]() ![]() Grupo: Root Admin Menjsajes: 328 Points: 695 Registrado: -- Desde: Por ahi ando... Miembro No.: 9 |
El Synaptic tiene un boton de busqueda, ahi buscas el programa que quieras instalar y te saldr una lista, seleccionas el que quieres, le das a aplicar, y ya est
-------------------- ![]() |
|
|
|
Feb 5 2008, 04:47 PM
Publicado:
#18
|
|
![]() Dios Supremo del Foro ![]() ![]() Grupo: Members Menjsajes: 69 Points: 1,017,212 Registrado: -- Desde: Delante del ordenador Miembro No.: 24 |
Ya lo hice i tecleando gambas no me salio, es un problema de mi linux o es que he de teclear otra cosa?
|
|
|
|
Feb 5 2008, 04:56 PM
Publicado:
#19
|
|
|
Maestro ![]() ![]() ![]() ![]() Grupo: Root Admin Menjsajes: 328 Points: 695 Registrado: -- Desde: Por ahi ando... Miembro No.: 9 |
que distro usas? por lo general tendria que estar el gambas, en todas las distros que he usado tenia gambas...
-------------------- ![]() |
|
|
|
Feb 6 2008, 07:26 AM
Publicado:
#20
|
|
![]() Dios Supremo del Foro ![]() ![]() Grupo: Members Menjsajes: 69 Points: 1,017,212 Registrado: -- Desde: Delante del ordenador Miembro No.: 24 |
Uso ubuntu... Aunque tambien me pasa que no me actualiza, es como si ya estuviesse actualizado y lleva un tiempo asi...
|
|
|
|
![]() ![]() |
| Versión Lo-Fi | Fecha y Hora actual: 6th July 2009 - 05:09 AM |