Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

Importante: Lee antes de postear 
  • Lee las Normas del Foro
  • Lee "Cómo hacer preguntas inteligentes"

    Si procede, por favor indica los siguientes datos:

    • Versión del Sistema operativo y de la distribución
    • Versión de Gambas
    • Entorno de escritorio
    • Componente gráfico utilizado en el proyecto (gb.gui, gb.gtk, gb.qt)
    • Mensaje de error
    • Descripción del problema
    • Código fuente completo de la rutina (o rutinas) en la que se produce el problema (OBLIGATORIO) o en su defecto código de ejemplo que reproduce exactamente el problema
    • Procedimiento para reproducir el error
    • Cosas que el forista probó antes de preguntar y no solucionaron el problema




Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Separación De Sentencias
Autor Mensaje
Responder citando Descargar mensaje 
Mensaje Separación De Sentencias 
 
Hola a todos.

  Cuando asigno valores a las variables (por ejemplo) lo hago cada asignación en una linea.
  No he encontrado la forma de poner dos asignaciones en la misma linea.

  ¿Sabeis cómo se hace?

  Muchas gracias a todos.

  Luis.
 



 
Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando Descargar mensaje 
Mensaje Re: Separación De Sentencias 
 
En VB6 si que se puede poniendo : entre cada instrucción.
Lo he probado en gambas pero no funciona. Sunpongo que no se podrá, yo al menos no he visto nada al respecto en ningún manual.
saludos,
Maikl
 



 
Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando Descargar mensaje 
Mensaje Re: Separación De Sentencias 
 
Declaraciones múltiples de variables

Puedes declarar varias variables en la misma línea:

    * Cada declaración debe estar separada por una coma.
    * Puedes hacerlo como en el segundo caso si todas las variables son del mismo tipo.
    * En las declaraciones PRIVATE ó PUBLIC fuera de un método no es posible hacerlo.

DIM Text AS String, Matrix AS NEW Float[3, 3]
DIM X, Y, W, H AS Integer


Que en VB se puedan poner varias instrucciones o sentencias en la misma línea no quiere decir que sea una buena práctica, de hecho nadie lo aconseja por la baja comprensión del código al leerlo o interpretarlo. Afortunadamente Gambas no ha heredado este tipo de "facilidades".
Que conste que es mi opinión personal y que también, como muchos, vengo de VB y VB.NET.

En otro orden de cosas, lo que sí es posible hacer, es cortar líneas largas de código siempre que lo hagas a partir de una coma, es decir, la línea:

cropped = $capture.Copy(ScrollView1.ScrollX, ScrollView1.ScrollY, ScrollView1.Width, ScrollView1.Height)


podría escribirse en dos líneas así:

cropped = $capture.Copy(ScrollView1.ScrollX, ScrollView1.ScrollY,
          ScrollView1.Width, ScrollView1.Height)


En caso de tener que dividir una cadena, hay que emplear el símbolo & al final de la línea y continuar la siguiente línea abriendo comillas:

sql = "UPDATE log SET qso_date=&1, time_on=&2, time_off=&3, call=&4, freq=&5, freq_rx=&6, band=&7, mode=&8, prop_mode=&9, " &
     "rst_rcvd=&10, rst_sent=&11, name=&12, gridsquare=&13, qth=&14, comment=&15, qsl_sent=&16, qsl_rcvd=&17, qslsdate=&18, " &
     "qslrdate=&19, qsl_via=&20, " &
     "pfx=&21, cont=&22, cqz=&23, ituz=&24, state=&25, cnty=&26, iota=&27, operator=&28, tx_pwr=&29, my_gridsquare=&30, " &
     "sat_name=&31, sat_mode=&32, email=&33, country=&34, dxcc=&35, TPEA=&36 WHERE id =&37;"


O bien de esta otra forma, por concatenación:

cadena = "una cadena"
cadena &= "otra cadena"
cadena &= "otra mas"
'etc


Espero que esto clarifique un poco tu pregunta.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".
 
Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando Descargar mensaje 
Mensaje Re: Separación De Sentencias 
 
Desde luego poner varias instrucciones en una misma linea no tiene nada de bueno ¿inicialización de variables?
Gracias por los aportes, me ha gustado el cadena &= "otra" al estilo php y mucho mejor el separar lineas sin el _ de vb6.
Pero bueno, esto al final son "tontás"
 



 
Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando Descargar mensaje 
Mensaje Re: Separación De Sentencias 
 
A mi me es muy útil también el operador &/ que sirve para concatenar paths. Se que si uno dos strings con ello me queda un path correcto.

Por ejemplo
Dim MiPath as string=user.home
Dim Log as string

Log=Mipath &/ textbox.text

Eso daría un log que sería /home/user/lo_que_hayan_escrito_en_el_textbox
 



 
Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando Descargar mensaje 
Mensaje Re: Separación De Sentencias 
 
No lo conocia, gracias por la info.
Ya basta de comprobar la barrita al final para saber como concatenar... jejeje
 



 
Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando Descargar mensaje 
Mensaje Re: Separación De Sentencias 
 
Muchas gracias.
   Sólo era por saberlo, aunque me molesta un poco ver tres o cuatro inicializaciones una debajo de otra.

  Saludos.
 



 
Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando Descargar mensaje 
Mensaje Re: Separación De Sentencias 
 
Hola tengo problemas con mi linux y no puedo hacer pruebas, pero si es el caso de las inicilizaciones podrias probar:
dim i as integer = 2, j as integer = 5, k as integer = 45
No lo he probado y no se si funciona, si puedes probarlo nos lo cuentas.
Saludos!
 



 
Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando Descargar mensaje 
Mensaje Re: Separación De Sentencias 
 
maikl escribió: [Ver mensaje]
Hola tengo problemas con mi linux y no puedo hacer pruebas, pero si es el caso de las inicilizaciones podrias probar:
dim i as integer = 2, j as integer = 5, k as integer = 45
No lo he probado y no se si funciona, si puedes probarlo nos lo cuentas.
Saludos!


Esto si funciona, es un ahorro en lineas. Pero aún así queda, por ejemplo, cuando en un doble bucle tienes que restablecer valores iniciales y cosas así, ya  habían sido inicializadas y se cambiaban los valores por otros.

Muchas gracias por contestar.

Luis
 



 
Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:   

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario