Título: ¿Cómo se llama una función en VB .net? Publicado por: Meta en 21 Marzo 2017, 07:37 am Hola:
Haciendo pruebas ya que en VB .net no entiendo mucho. Tengo esta función tonta sin parámetros. Código
Lo he intentado llamar directamete así y no funciona. Código
No sirve. ¿Cómo se le llama? Saludos. Título: Re: ¿Cómo se llama una función en VB .net? Publicado por: engel lex en 21 Marzo 2017, 12:15 pm eso no es una funcion, es un evento... tienes que llamarla con call si no me equivoco, intenta con un tutorial de vb.net o espera a que llegue alguien con experiencia en esto y te explique
Título: Re: ¿Cómo se llama una función en VB .net? Publicado por: Eleкtro en 21 Marzo 2017, 13:06 pm Para aclarar las cosas:
No es una función ni tampoco un evento, sino un método... Sub sería el equivalente a void en C# (un bloque de código que no devuelve un valor de retorno). En VB.NET no se utiliza la sentencia Call para nada, eso es de VB. Cabe mencionar que también se puede utilizar en VB.NET, pero si existe es solo por motivos de compatibilidad. Nadie lo usa. Lo he intentado llamar directamete así y no funciona. Código
No sirve. Lo estás llamando correctamente. El problema probablemente sea que la clase donde declaraste ese método tenga un nivel de acceso inferior a la clase desde donde lo estés intentando llamar, o que no hayas instanciado la clase donde declaraste dicho método. Corrije el nivel de visibilidad del método y/o de la clase (ej. Public Shared Sub MiMetodo()). De todas formas no somos adivinos, no sé que significa "no funciona" o "no sirve". Muestra el mensaje de error por lo menos. Esto ya deberías tenerlo más que presente como usuario habitual del foro de programación, proporciona los detalles necesarios. Muestra la definición de la clase o del módulo donde tengas declarado ese método. EDITO: Formas en las que puedes llamar a ese método: Código
Código
Código
Código
Código
Código
¡Saludos! Título: Re: ¿Cómo se llama una función en VB .net? Publicado por: Meta en 21 Marzo 2017, 15:39 pm Hola:
Se me había pasado de que la función devuelve vaor y el método no. http://es.stackoverflow.com/questions/7403/diferencias-entre-m%C3%A9todos-procedimiento-funci%C3%B3n-para-que-sirven-cada-uno-y-co https://asm86.wordpress.com/2012/05/19/proceso-subrutina-funcion-y-metodo-son-cosas-diferentes/ Funciona así por lo que veo. Código
Esta parte y ano me da problemas. He probado muchos convertidores y ninguno saca algo al 100 %. Gracias por la propuesta. Ahora te toca convertir estas líneas que no lo hace bien. http://converter.telerik.com/ http://www.mundoprogramacion.com/NET/WebServices/deCSaVB_web.aspx El código es muy grande y no traduce bien todo. Voy partes por partes como este y este no convierte. Código
Citar Gravedad Código Descripción Proyecto Archivo Línea Estado suprimido Error BC32022 'Public Event DataReceived As SerialDataReceivedEventHandler' es un evento y no se puede llamar directamente. Use una instrucción 'RaiseEvent' para generar un evento. Recibir_archivo_desde_Arduino_consola_VB C:\Users\Usuario\documents\visual studio 2017\Projects\Recibir_archivo_desde_Arduino_consola_VB\Recibir_archivo_desde_Arduino_consola_VB\Module1.vb 48 Activo Hay otra parte del código que traduce bien en teoría, pero hay muchos peros, da errores en VB .net. De C#: Código
Código
(http://www.subeimagenes.com/img/sdfsd-1718937.png) El código es muy largo, si quieren lo pongo, pero no intenten traducirlo de golpe todo porque no funcionará. Gracias. Título: Re: ¿Cómo se llama una función en VB .net? Publicado por: Eleкtro en 21 Marzo 2017, 18:13 pm El código es muy grande y no traduce bien todo. Voy partes por partes como este y este no convierte. Código
En VB.NET, para asociar eventos en tiempo de ejecución se hace con las sentencias AddHandler y AddressOf. Código
Pero a diferencia de C# en VB.NET esto es algo opcional, no es necesario asociarlo de esa manera a menos que el objeto en cuestión haya sido creado en tiempo de ejecución. En su lugar puedes usar al keyword Handles: Código
Código
Código
Esto ni siquiera tiene que ver con VB.NET. No existe ninguna sobrecarga del método String.Split en cuya firma acepte un caracter como parámetro, sino un array de caracteres. Al escribir "A"c se casteará automáticamente y puedes llamarlo así, pero no es un buen hábito hacerlo ya que no estás evitando el factor de error humano... Código Código
Hay otra parte del código que traduce bien en teoría, pero hay muchos peros, da errores en VB .net. A diferencia de C#, en VB.NET las cadenas de texto se concatenan usando el operador &, no +, el cual es un operador aritmético de suma. Se puede concatenar en ciertas circunstancias pero dará problemas ya que no es su propósito. Aparte de eso, en VB.NET no es necesario escribir al final la sentencia Exit Select (break en C#). La instrucción ya va implícita en el código compilado. Código
De todas formas tanto en C# como en VB.NET la concatenación tradicional (y fea) de strings puedes evitarlo, utilizando el método String.Format(): Código
Todo lo que estás preguntando son cosas básicas que podrías averiguar con dos minutos en Google o leyendo la referencia de VB.NET y su modo de empleo en MSDN, hay ejemplos para todo. Título: Re: ¿Cómo se llama una función en VB .net? Publicado por: Meta en 23 Marzo 2017, 09:42 am Hola:
Parece que va cogiendo forma, aún así hay dos errores que no me deja en paz. Código
Concretamente el Me. https://msdn.microsoft.com/es-es/library/20fy88e0.aspx Citar Gravedad Código Descripción Proyecto Archivo Línea Estado suprimido Error BC30043 'Me' solo es válido en un método de instancia. Recibir_archivo_desde_Arduino_consola_VB C:\Users\Usuario\documents\visual studio 2017\Projects\Recibir_archivo_desde_Arduino_consola_VB\Recibir_archivo_desde_Arduino_consola_VB\Module1.vb 49 Activo Otro error es este: Código
Llevo tiempo traquiniando y no lo campto. Título: Re: ¿Cómo se llama una función en VB .net? Publicado por: Eleкtro en 23 Marzo 2017, 10:26 am Hola: Parece que va cogiendo forma, aún así hay dos errores que no me deja en paz. Código
Concretamente el Me. https://msdn.microsoft.com/es-es/library/20fy88e0.aspx Declara un método a nivel de clase, llámalo "Puerto_serie_DataReceived" y úsalo para controlar el evento Puerto_serie.DataReceived. En mi respuesta de arriba te puse un ejemplo de eso mismo. Otro error es este: Código
Llevo tiempo traquiniando y no lo campto. El módulo principal de tu aplicación de consola necesita tener un punto de entrada (EntryPoint), tal y como en C#. Código
Saludos |