Visual Basic.NET - Variables Publicas....

 
Vista:

Variables Publicas....

Publicado por LUIS ALB ERTO DE LEON (7 intervenciones) el 30/07/2021 01:43:37
Realmente me es difícil entender por que se hace tan difícil en visual Basic 2019 declarar una variable publica que me permita utilizarla en todos los formularios de mi aplicación. Ningun lenguaje me había dado tanto problema para hacer algo así. Alguien podría ayudarme a sacudir la ignorancia dándome a conocer algún forma sencilla de hacerlo.

He visto incluso versiones 2012,2013 que permiten de alguna forma realizarlo pero que no me funcionan en la versión 2019.

Quiero declarar en el formulario de Login, una variable que me permita guardar el Nombre, Nivel y clave del usuario para poderlo utilizarlo en todos los demás formularios. Gracias de antemano, Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 135
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Variables Publicas....

Publicado por Agustin (33 intervenciones) el 30/07/2021 04:03:05
1
por que se hace tan difícil en visual Basic 2019

Hace por lo menos 18 años que la enorme mayoría del mundo se movió completamente a OOP en diversos lenguajes, incluyendo por supuesto Visual Basic .NET.

Nadie que en 2021 no entienda OOP puede llamarse a sí mismo programador, por más que haya tenido 30 años de experiencia en lenguajes procedurales.

No es un problema de Visual Basic 2019, ni ninguna otra versión, que no hayas comprendido como funciona el Shared (o su equivalente static en C#)

1
He visto incluso versiones 2012,2013 que permiten de alguna forma realizarlo pero que no me funcionan en la versión 2019

No existe ningún cambio en el comportamiento de las variables estáticas o Shared en ninguna de las versiones de VB.NET que mencionás.

Te sugiero fuertemente que leas, busques un tutorial o hagas algún curso introductorio a OOP.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Variables Publicas....

Publicado por LUIS ALB ERTO DE LEON (7 intervenciones) el 30/07/2021 17:52:55
Yo mismo he solicitado se me ayude a sacudirme la ignorancia. Tengo 60 años y de esos cerca de 40 en programación de lo cual me siento aunque ignorante ....muy honrado. Discúlpame si insulte tu Visual Basic .net no fue mi intención. Y de paso te ruego quites tu rodilla de mi espalda... I can't breath. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Variables Publicas....

Publicado por Phil Rob (1146 intervenciones) el 30/07/2021 08:02:28
Hola,

Para resolver tu problema simplemente, propongo de crea un Module qui llama como te gusta.
En este Module, escribes la declaración de los variables publicas para todo el proyecto.
Donde quieras, das y/o lees el valor de este variable.

Un Module
1
2
3
Module MiModulePublico
    Public VariablePublica As Integer  ' p. ejemplo
End Module

Un primero Form
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Public Class FPrimero
 
    Dim F2 As Form
    Dim F3 As Form
 
    Private Sub FPrimero_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        VariablePublica = 15  ' Para todos otros Form : FSegundario, F2, F3
    End Sub
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
          FSegundario.Show()
    End Sub
 
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        F2 = New FSegundario
        F2.Show()
        F3 = New FSegundario
        F3.Show()
    End Sub
 
End Class

Un otro Form
1
2
3
4
5
Public Class FSegundario
    Friend Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        TextBox1.Text = VariablePublica  ' De todas maneras que llamas este Form, el valor es aqui.
    End Sub
End Class

El problema puede ser resuelvo de otra manera, con Class a lugar de Module, con usanto de Shared, ... . Pienso que el Module es el mas simple à escribir y a utilizar. Este funciona con todas version de VisulaStudio.

Adjunto el proyecto que contiene los códigos precedentes para ti probar.

Espero que este te ayudará ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Variables Publicas....

Publicado por LUIS ALB ERTO DE LEON (7 intervenciones) el 30/07/2021 17:58:13
Realmente te agradezco el ejemplo. Lo bonito de no saber es que te obliga a buscar soluciones y encontré una mas sencilla que no utiliza módulos ni shared y es publicando las variables fuera de los subs y functiones....Siempre probare las alternativas que me enviaste por que nada se pierde .... soy nuevo en esto y en verdad cualquier cosa con la que se me apoye es bienvenida. Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Variables Publicas....

Publicado por LUIS ALB ERTO DE LEON (7 intervenciones) el 31/07/2021 20:03:07
Excelente... lo probé en todas las formas posibles y funciono a la perfección. Le pido a Dios en algun momento poder echarte la mano también. Además me dejas bien claro el uso de los modulo. Gracias y Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Variables Publicas....

Publicado por Phil Rob (1146 intervenciones) el 31/07/2021 21:07:50
Gracias por el retorno.
En Module, también puedes escribir Sub y Function con Public a lugar de Private, para los utilizar en todo tu proyecto.
Buena fin de semana....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar