Separación De Sentencias


Objetivo: 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.

Perfil MP  
Objetivo: 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

Perfil MP  
Objetivo: 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

Perfil MP  
Objetivo: 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"

Perfil MP  
Objetivo: 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

Perfil MP  
Objetivo: 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

Perfil MP  
Objetivo: 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.

Perfil MP  
Objetivo: 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!

Perfil MP  
Objetivo: 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

Perfil MP  

Página 1 de 1


  
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

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.5971s (PHP: -85% SQL: 185%)
Consultas SQL: 44 - Debug off - GZIP Activado