Comunidad Gambas-es
Sentencias en una linea - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forum-3.html)
+--- Foro: Aplicaciones/Fragmentos de Código (https://gambas-es.org/forum-8.html)
+--- Tema: Sentencias en una linea (/thread-664.html)



Sentencias en una linea - inforpalma - 09-10-2021

Buenas noches.

He estado buscando pero sin éxito.
Alguien me podría decir como colocar varias sentencias en una misma linea ??

Por ejemplo If sw = 0 then a=1 (y aquí otra sentencia, por ejemplo b=0) y sucesivamente.
No localizo si es posible y de serlo, cual seria el separador ( : ; & . _)

Con mi agradecimiento anticipado por la posible ayuda.
Un cordial saludo a todos.


RE: Sentencias en una linea - tercoide - 10-10-2021

hola, bienvenido al foro

no se puede hacer eso en este lenguaje y , la verdad, no le veo mucho sentido


RE: Sentencias en una linea - cogier - 11-10-2021

No entiendo la pregunta, pero ¿esto ayuda?

Código:
Public Sub Form_Open()

  Dim sw, b As Integer '' = 0
  Dim a As Integer = 1

  If sw = 0 And b = 0 Then Print "Los valores son cero"
  If a = 1 Or b = 1 Then Print "A o B = uno"

End



RE: Sentencias en una linea - tincho - 12-10-2021

(09-10-2021, 20:36)inforpalma escribió: Alguien me podría decir como colocar varias sentencias en una misma linea ??

Bienvenido al foro.
Se me ocurre esto:
Código:
b = IIf(a > 3, 0, 2)
Si no sabes programar todavía, tal vez si escribes lo que deseas hacer en forma de procedimiento escrito en castellano podamos tener una idea de que es lo buscas hacer, por ejemplo algo así: Si presupuesto > fondos entonces prestamo = (presupuesto - fondos)
Si por el contrario sabes programar pero en otro lenguaje, pon el código aquí para que lo estudiemos.
Saludos.


RE: Sentencias en una linea - inforpalma - 13-10-2021

Hola amigos.
Muchas gracias por vuestra respuesta.

No se si me he explicado bien (seguro que no  Tongue )
Me preguntaba como concatenar sentencias en una misma linea.
Por ejemplo :

If pepe = antonio then juan = manuel else juan = miguel (y aquí colocar otra sentencia que se cumpliría con el else).
Cual seria el separador (si es que se puede hacer en Gambas 3).

If pepe = antonio then juan = manuel else juan = miguel ; Paint.Font.Size = 16 ; Paint.Text("hello", 300, 300, 600,, Align.Right)
El ; seria el separador de sentencia.

Es muy probable que no se pueda hacer, pero al no encontrar doc al respecto pues acudo a vuestra ayuda y consejos.

Muchas gracias de nuevo.
Un cordial saludo.


RE: Sentencias en una linea - jguardon - 13-10-2021

Creo que las respuestas confirman que se entendió tu pregunta. No es posible hacer eso en gambas.

Tampoco se considera una buena práctica en ningún lenguaje de programación, por mucho que sea posible hacerlo por ejemplo en C.

¿Cuál es tu motivación para intentar lo que, a mi entender, parece ir en contra del sentido común? Lo pregunto con la mayor de mi curiosidad, no pretendo juzgar tu forma de entender la programación.

Saludos


RE: Sentencias en una linea - AlfredoSC - 13-10-2021

(13-10-2021, 20:57)inforpalma escribió: Me preguntaba como concatenar sentencias en una misma linea.

Cuando comencé a migrar mis proyectos de VB6 a Gambas3, me encontré con la restricción de que "no se puede" poner en una sola línea varias sentencias o declaraciones: Por ejemplo la siguiente:

Public archivo01, archivo02, archivo03, archivo04, archivo05, archivo06 As String
Public archivo07, archivo08, archivo09, archivo10, archivo11, archivo12 As String
Public archivo13, archivo As String
Public edo, bait1, bait2 As String
Public le, w, x, y As Variant

o esta

If bank > 30 Then lblDisplay2.Caption = "30": bank = 30

Así que en Gambas3 tenía que dar a cada variable su denominación por separado (Integer, String, Boolean, etc). El resultado son mas lineas, muchas mas, pero funciona!....que es lo importante....

Saludos.


RE: Sentencias en una linea - inforpalma - 13-10-2021

Pues eso, lo dicho.
Mi agradecimiento por vuestro tiempo  Smile
Jguardon, siento no haber entendido que no se podía. Pensé que no me había expresado correctamente.
Y como AlfredoSC, migre también y pensé que seguiría siendo posible realizar dicha operación.
Mi intención era de disminuir líneas de código, nada mas.

Muchas gracias por vuestra dedicación en ayudarme.
Un cordial saludo.