Autor Tema: Sobre carga de funciones o de propiedades en class (VB6)  (Leído 11611 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado djpalas

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 595
    • Microtronic
Sobre carga de funciones o de propiedades en class (VB6)
« en: 01 de Octubre de 2007, 14:05:02 »
Buenas amigos!!

No consigo realizar en VB6 una sobrecarga de funciones, o de una propiedad de una class. Ya lo he intentado y nada.

He visto que con Overloads se puede realizar pero para el VB2005 y superior. Alguien me podría iluminar en esta dificultad?

Saludos!!
Diego J.

Saludos desde Cádiz, España
Web personal: http://www.microtronic.es

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Sobre carga de funciones o de propiedades en class (VB6)
« Respuesta #1 en: 02 de Octubre de 2007, 17:06:09 »
Hola dj.

El VB6 no permite asignar el mísmo nombre a dos funciones distintas(o al menos nunca descubrí cómo hacerlo :D). Esto ya derrumba la posibilidad de sobrecargarlas.

Por ahí te la podés rebuscar creando una función que acepte parametros de diversos tipos y actúe en base al tipo recibido.

Igualmente ni se asemeja el VB6(que es EOP) en este sentido a lo que es la OOP.

Saludos!
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
    • www.muchotrasto.com
Re: Sobre carga de funciones o de propiedades en class (VB6)
« Respuesta #2 en: 02 de Octubre de 2007, 17:24:41 »
Sinceramente si vas a usar sobrecarga de funciones, clases y demás cosas avanzadas pásate a visual C++, ya que Basic es para principiantes y para hacer algo sencillo de forma rápida y veo que estas entrando en cosillas normales de programación en C++.

Un saludete.

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Sobre carga de funciones o de propiedades en class (VB6)
« Respuesta #3 en: 02 de Octubre de 2007, 18:41:05 »
Sinceramente si vas a usar sobrecarga de funciones, clases y demás cosas avanzadas pásate a visual C++, ya que Basic es para principiantes y para hacer algo sencillo de forma rápida...

Suena feo "principiantes". Yo uso VB6 y no creo ser un princiante en programación...No creo que tenga que ver con ser un principiante o no. Se trata de utilizar la herramienta adecuada según la circunstancia.

y veo que estas entrando en cosillas normales de programación en C++.

¿Quién dijo que el C++ es el único que permite sobrecargar un método u operador? Yo conozco muchos...Java, Delphi, SmallTalk, Python...

Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado PalitroqueZ

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Re: Sobre carga de funciones o de propiedades en class (VB6)
« Respuesta #4 en: 02 de Octubre de 2007, 19:23:38 »
¿a a eso es lo que llaman polimorfismo?, la capacidad de usar un mismo nombre con diferentes argumentos

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
    • www.muchotrasto.com
Re: Sobre carga de funciones o de propiedades en class (VB6)
« Respuesta #5 en: 03 de Octubre de 2007, 05:03:29 »
Creo que interpretais mal mis palabras, en ningún momento quiero faltar el respeto a la gente que usa VB ni a la gente que no sabe c++, sólo digo que si vas a usar VB para hacer clases, sobrecarga de funciones, polimorfismo, herencia, templates etc...Pues VB es una mala opción ya que VB no fue hecho para ese uso.

Por cierto, digo c++ puesto que si sabe usar Visual Basic le será mas sencillo que aprender java, delphi, oracle o lo que quieras, entre otras tambien porque c++ está mucho más estendido que otros lenguajes de programación, incluso aunque se sabe que delphi es un compilador mejor que c++.

Mi comentario fue o creí que era contructivo y no destructivo.

Además nadie que haya programado en C++, C#, java, delphi, etc.. me va a negar que Visual basic es para principiantes, que su potencia es muy limitada y sirve para hacer cosas sencillas de manera rápida al igual que en ningún momento he dicho que C++ es el único lenguaje de programación que haga dichas cosas.

Un saludete.
« Última modificación: 03 de Octubre de 2007, 05:07:54 por c4_esp_VR »

Desconectado djpalas

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 595
    • Microtronic
Re: Sobre carga de funciones o de propiedades en class (VB6)
« Respuesta #6 en: 03 de Octubre de 2007, 09:15:04 »
Buenas Amigos, y gracias por sus respuestas! :)

Bruno, estube leyendo bastante sobre sobrecargas en VB6 y solo sacaban para VB superiores al VB6. Pero si lo conseguí con un array de parametros.

Hola c4_esp_VR, se que C++ es mucho mejor que VB6, para la programación. He trabajado mucho con C, C++, C#, java, .... Pero hay que adaptarse a la situación del trabajo. Por ejemplo la mayoria de los programas se puede realizan macros, y la mayoría de ellas son VBA (Visual Basic para Aplicaciones). Word, Excel, etc, para cuando se trabaja en Ofimatica. CATIA, AutoCAD, etc, para CAD/CAM/CAE en el caso de CATIA y CAD en AutoCAD. En mi caso lo estoy realizando para CATIA V5.

Saludos! Y muchisimas gracias por su ayuda  :)
Diego Jesús

Saludos desde Cádiz, España
Web personal: http://www.microtronic.es

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
    • www.muchotrasto.com
Re: Sobre carga de funciones o de propiedades en class (VB6)
« Respuesta #7 en: 03 de Octubre de 2007, 12:16:32 »
Estoy un poco cansado de esas empresas que empiezan un proyecto en VB y quieren seguir con este tipo de programación a toda costa aunque los nuevos trabajos sean más complicados y saben que VB no es el más apropiado para ello, más que nada porque a un compañero le ocurre este problema y está saturado ya que VB no está hecho para hacer punteros, ni clases ni nada por el estilo y es a nosotros a los que nos complican la existencia.

Como bien dices VB es muy sencillo para trabajar con otras aplicaciones, pero ello no quita a que si se puede en VB tambien se puede en C++ ya que VB está realizado con C++, pero veo que son causas del trabajo y no de beneficio propio  :( :( :( :( y desgraciadamente no puedes optar a lo que realmente te gusta o sea mejor.

Un saludete y ánimo en tu trabajito.

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Sobre carga de funciones o de propiedades en class (VB6)
« Respuesta #8 en: 03 de Octubre de 2007, 15:40:26 »
Además nadie que haya programado en C++, C#, java, delphi, etc.. me va a negar que Visual basic es para principiantes...

Te lo estoy negando por segunda vez consecutiva.

Una analogía adecuada:

Por lo que leí, programás microcontroladores en C.
¿Programar microcontroladores en C no sería de principiantes según tu teoría entonces? ¿No sería un lenguaje para hacer las cosas rápidamente, despilfarrando memoria de programa, de datos y alentando los procesos?(Eso me hizo acordar al VB...).

Como bien dices VB es muy sencillo para trabajar con otras aplicaciones, pero ello no quita a que si se puede en VB tambien se puede en C++ ya que VB está realizado con C++...

¿Acaso todas las instrucciones de los compiladores C(para microcontroladores en este caso) no están hechas(y derivan) en código assembler?
Entonces, según tus propias palabras, eres un principiante porque utilizas lenguaje C para microcontroladores en lugar de assembler que es el más potente y eficiente.

Vos podés usar lenguaje C para programar un microcontrolador porque sabes que es muchísimo más fácil y rápido(Y NO POTENTE)hacerlo en C que en assembler pero resulta que si uno quiere programar en VB precisamente porque es muchísimo más fácil y rápido hacerlo que en C++, vos lo(nos) tildás de principiante/s.

Empecé a programar hace 16 años y he conocído y programado en muchísimos lenguajes ya sea por afán propio o por exigencias universitarias. He hecho cursos(postgrado) en lenguajes orientados a objetos y ahh! si! me olvidaba! sigo programando en VB6.

Entonces, ¿soy un principiante?.

Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Sobre carga de funciones o de propiedades en class (VB6)
« Respuesta #9 en: 03 de Octubre de 2007, 15:46:20 »
¿a a eso es lo que llaman polimorfismo?, la capacidad de usar un mismo nombre con diferentes argumentos

Sí Pedro. En gran parte sí.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Sobre carga de funciones o de propiedades en class (VB6)
« Respuesta #10 en: 03 de Octubre de 2007, 16:17:18 »
Hace un tiempo tambien discuti de esta misma forma..... Que CCS era para principiantes (DUMMIES) porque era facil, pero C18 por ser Dificil era mejor....  :?  Y otra vez que Delphi era mejor que VB, porque VB era para "tontos"   :?

Desde cuando las cosas dificiles son las mejores????  Lo importante es desarrollar lo que se quiere, y si VB lo permite, pos para que mas.....

Lo unico que puedo agregar es que con VB he podido desarrollar totalmente las poquitas cosas que se me han ocurrido. Y eso basta para mi.

SALUDOS!!


Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
    • www.muchotrasto.com
Re: Sobre carga de funciones o de propiedades en class (VB6)
« Respuesta #11 en: 03 de Octubre de 2007, 17:25:37 »
Desde cuando las cosas dificiles son las mejores????  Lo importante es desarrollar lo que se quiere, y si VB lo permite, pos para que mas.....

Visual basic es para principiantes, que su potencia es muy limitada y sirve para hacer cosas sencillas de manera rápida

Por lo menos en mi universidad los profesores reusan usar VB por su baja potencia y funcionalidad...por algo será, como siempre he dicho es para hacer cosas sencillas y rápidas.

Por lo que veo tienes una forma de pensar y yo otra muy distinta respecto a este tema, tu analogía no tiene nada que ver con este tema...por cierto porque no programas en C en vez de en C++ o mejor en vez de en C en ensamblador que es lo que hay debajo de C o mejor aún porque no programas en binario en vez de ensamblador...hablamos de lenguajes de alto nivel (C++ y VB) y no de lenguajes de bajo nivel como tu no-analogía , si te sirve de algo he programado en ensamblador y con muy buenos resultados...la gran diferencia es que lo que haces en ensamblador lo puedes hacer en C18 (al menos el 90% de sus posibilidades) y no ocurre lo mismo entre VB y C++ (punteros, polimorfismo, herencia, clases, sobrecarga, plantillas...).

Espero que a la próxima aciertes con tu no-analogía. Djpalas ya ha dado por cuncluida su duda y creo que ha sabido captar mi propuesta pero por cuestiones de trabajo no puede hacerlo, así que por mi parte doy concluido el hilo.

Un saludete.

P.D: Desde el principio mi opinión fue decir que si djpalas va a usar sobrecarga, clases y demás propiedades que se pasase a C++, pero veo que a la gente que programa en VB le sienta mal que le digan que usan un compilador para principiantes, lo cual no quiere decir que el que programa en VB sea un inculto o inepto, sino que es un lenguaje sencillo y que permite hacer trabajos rápidos sin complicación.


Desconectado djpalas

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 595
    • Microtronic
Re: Sobre carga de funciones o de propiedades en class (VB6)
« Respuesta #12 en: 03 de Octubre de 2007, 17:36:56 »
Creo que el tema está aclarado. Y no hay dudas de que en VB6 no se permite las OverLoads.

Pero creo que se esta caldeando y malentendiendo los comentarios. Y no es motivo de que vaya a más, por estos motivos tan simples amigos ;)

Saludos!!
Diego J.

Saludos desde Cádiz, España
Web personal: http://www.microtronic.es

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Sobre carga de funciones o de propiedades en class (VB6)
« Respuesta #13 en: 03 de Octubre de 2007, 17:44:01 »
No, no no, Yo creo que el motivo por el que se calento un poco, es por decir Principiantes a las personas que usan VB. Yo lo soy y de eso no hay duda. Pero Bruno.. Una persona especialista en programacion de PCS.... Si sonaria como Insulto. Es por eso que la conclision seria.. No rebajar las capacidades de una persona, o calificar a un grupo de personas solo por el lenguaje que conoce o trabajan.

SALUDOS!!

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
    • www.muchotrasto.com
Re: Sobre carga de funciones o de propiedades en class (VB6)
« Respuesta #14 en: 04 de Octubre de 2007, 03:45:51 »
Siento mucho que la gente se lo tome a mal cuando alguien dice lo que opina y lo que ha aprendido a lo largo de los años, pero es que no estoy diciendo nada malo ni metiendome con alguien cuando digo principiantes ya que VB fue creado para principiantes, BASIC no viene de la palabrabra básico sino de:

"Basic" hace referencia al lenguaje de programación BASIC, de Beginners All-Purpose Symbolic Instruction Code (Código de Instrucción Simbólico Todo Propósito para Principiantes).

Es por ello que espero que entendais que nunca me he metido con nadie y nunca ha sido mi intención que es lo que llevo posteando desde el principio del post.

La descripción de Visual Basic viene en la página oficial de micrsoft, a lo cual no es una opinión de alguien sino de la propia empresa que lo creo para dicho propósito. He aquí la referencia http://msdn2.microsoft.com/es-es/library/xk24xdbe(VS.80).aspx

Un saludete.