Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Modulos BAS

Estas en el tema de Modulos BAS en el foro de Visual Basic clásico en Foros del Web. Hola que tal a todos!!!! Soy un novato en VB 6 y pues algunos proyectos que comienzo tengo que comenzar a organizar mi codigo....en fin, ...
  #1 (permalink)  
Antiguo 06/04/2006, 22:39
 
Fecha de Ingreso: abril-2006
Mensajes: 35
Antigüedad: 18 años
Puntos: 0
Modulos BAS

Hola que tal a todos!!!!

Soy un novato en VB 6 y pues algunos proyectos que comienzo tengo que comenzar a organizar mi codigo....en fin, cuando pongo las funciones en un modulos BAS, cuando lo llamo de la forma me dice que no esta definida la funcion y esta dentro del mismo proyecto .

Gracias de antemano y pues espero ver quien me puede decir que hago mal?.
  #2 (permalink)  
Antiguo 06/04/2006, 23:14
 
Fecha de Ingreso: septiembre-2005
Mensajes: 38
Antigüedad: 18 años, 7 meses
Puntos: 0
Yo lo hago asi...

Yo lo hago asi por ejemplo:


En el modulo:

Cita:
Public Function Convierte_Mayusculas(cadena as String) as String
Convierte_Mayuscula = UCase(cadena)
end sub
En el evento simplemente lo llamas e igualas:

Cita:
Nombre_Mayusculas = Convierte_Mayusculas(Nombre)
Ojala sea a lo que te refieres y te ayude.
  #3 (permalink)  
Antiguo 07/04/2006, 06:32
Avatar de VisualGuallabo  
Fecha de Ingreso: marzo-2005
Mensajes: 288
Antigüedad: 19 años, 1 mes
Puntos: 2
Para que una funcion la puedas usar desde cualquier parte del proyecto tienes que aserla publica,¿como? pues poniendo delante la palabra Public
ejemplos
Public Sub Hola()
Public Function
Tambiem puedes declarar variables para usarlas desde cualquier parte del proyecto
Public Mensaje As String
__________________
"No hay lenguaje de programación potente que sea inferior a otro semejante cuando existe un buen programador que lo defiende"

Yosvanis Cruz Alias VisualGuallabo
Ycruz
  #4 (permalink)  
Antiguo 08/04/2006, 23:28
 
Fecha de Ingreso: abril-2006
Mensajes: 35
Antigüedad: 18 años
Puntos: 0
No veo mi error

Este es el codigo que debe de ir en mi modulo:

Public Function operadores16u8(varConversion) As String
Dim response As String

Select Case varConversion


Case Val(varConversion) > 255 ' entra en el caso de que sea de 16
intDectoHex = Convert(varConversion, 10, 16)
'varConversion1 = "&H" & varConversion
'intDectoHex = CInt(varConversion1)
tamCantidad = Len(intDectoHex)
Select Case tamCantidad
Case tamCantidad = 3
tamCantidadTotal = "&0" & tamCantidad
Case tamCantidad = 4
tamCantidadTotal = tamCantidad ' la variable tamCantidadTotal guarda el tamaño total de 16
End Select

Case Val(varConversion) < 255 ' entra en caso de que sea de 8
intDectoHex = Convert(varConversion, 10, 16)
tamCantidad = Len(intDectoHex)
If tamCantidad = 2 Then
tamCantidadTotal = "00" & intDectoHex
Else: tamCantidad = 1
tamCantidadTotal = "000" & tamCantidad
End If

operadores16u8 = tamCantidadTotal

End Select

End Function


----------------------------------------
Y lo llamo desde mi Form1 asi:


response = operadores16u8(varConversion)


y me sigue diciendo que no esta declarada mi funcion al momento de llamar la funcion escrita en el modulo.

Estaria en deuda con su valiosa colaboracion, por que creo que es lo mismo que me sugieren que haga
  #5 (permalink)  
Antiguo 09/04/2006, 00:45
 
Fecha de Ingreso: diciembre-2003
Mensajes: 141
Antigüedad: 20 años, 4 meses
Puntos: 0
Una pregunta. La función Convert

Código:
intDectoHex = Convert(varConversion, 10, 16)
¿La tienes en el módulo declarada también como pública?

Saludos!
  #6 (permalink)  
Antiguo 09/04/2006, 01:12
Avatar de [EX3]  
Fecha de Ingreso: marzo-2006
Ubicación: Fuenlabrada, Madrid
Mensajes: 203
Antigüedad: 18 años, 1 mes
Puntos: 1
Cita:
Iniciado por Prescott
Y lo llamo desde mi Form1 asi:


response = operadores16u8(varConversion)


y me sigue diciendo que no esta declarada mi funcion al momento de llamar la funcion escrita en el modulo.
Segun esto y el codigo que has mostrado arriba (y poco mas), varConversion es el parametro de la funcion operadores16u8() y que estas tratando de pasar como parametro, pero no es una variable que tengas creada en el codigo. Seguramente VB te este tratando de tomar varConversion en la llamada como si de una funcion o propiedad se tratase y de ahi que te muestre dicho error al no existir tal miembro en el programa. No se si esto se ha entendido.

Haz esto en el formulario:
Código:
Option Explicit 'Esto te obligara a declarar siempre cualquier variable.

Private Sub Form_Load()
 Dim  response As String 'Variable que recogera el resultado de la funcion.

response = operadores16u8("lo que sea")

End Sub 
Para mas informacion cuando te surga el error y te muestre el mensaje pulsa en Depurar, asi te marca la linea que ha provocado el error. De otra forma casi estariamos tratando de adivinar el error a ciegas.

Salu2...
__________________
Proyecto dx_lib32 (http://dxlib32.se32.com) Libreria DLL ActiveX para el desarollo de juegos y programas multimedia en Visual Basic 6.0 con la potencia de DirectX

Dice un dicho que "el que calla otorga". En internet tenemos otro que dice "nunca alimentes a un troll" que viene a decir "dejale hablar solo que se ya se cansara de incordiar". Solo los necios creen tener la razon con la ultima palabra.

  #7 (permalink)  
Antiguo 10/04/2006, 00:24
 
Fecha de Ingreso: abril-2006
Mensajes: 35
Antigüedad: 18 años
Puntos: 0
Pregunta Al pie de la sugerencia

Hola que tal a todos!!!!!

Fijense que ya declare mis variables como se me sugirio y pues utilice lo que me mencionaron de:

option explicit
y mis variables.....



cuando llamo la funcion desde mi Form1 al Modulo me aparece una ventana que dice:


COMPILE ERROR

SUB OR FUNCTION NOT DEFINED


con esto me apunta en la siguiente linea del codigo en el modulo

Public Function operadores16u8(varConversion) As String


Pues sigo las sugerencias que me dan pero....creo que no voy por buen camino.

UNA COSA????.... ME PREGUNTABAN SI LA FUNCION DE :

varConversion = Convert(cantVer, 16, 10)

DEBERIA ESTAR DECLARADA EN EL MODULO???? CREO QUE ME DIJO NEOZ SI NO ESTA DECLARADA PUEDE SER POR ESO????

GRACIAS A TODOS LAS PERSONAS QUE HAN HECHO CASO A ESTA PREGUNTA

Última edición por Prescott; 10/04/2006 a las 00:32
  #8 (permalink)  
Antiguo 10/04/2006, 07:57
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta

Cita:
Iniciado por Prescott
Hola que tal a todos!!!!!

Fijense que ya declare mis variables como se me sugirio y pues utilice lo que me mencionaron de:

option explicit
y mis variables.....



cuando llamo la funcion desde mi Form1 al Modulo me aparece una ventana que dice:


COMPILE ERROR

SUB OR FUNCTION NOT DEFINED


con esto me apunta en la siguiente linea del codigo en el modulo

Public Function operadores16u8(varConversion) As String


Pues sigo las sugerencias que me dan pero....creo que no voy por buen camino.

UNA COSA????.... ME PREGUNTABAN SI LA FUNCION DE :

varConversion = Convert(cantVer, 16, 10)

DEBERIA ESTAR DECLARADA EN EL MODULO???? CREO QUE ME DIJO NEOZ SI NO ESTA DECLARADA PUEDE SER POR ESO????

GRACIAS A TODOS LAS PERSONAS QUE HAN HECHO CASO A ESTA PREGUNTA
Sí, es el Convert el problema, ahora lo reviso... ¿Podrías decirnos qué es eso de Convert? o donde lo tienes?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 10/04/2006, 11:50
 
Fecha de Ingreso: diciembre-2003
Mensajes: 141
Antigüedad: 20 años, 4 meses
Puntos: 0
Creo que la función Convert, le especificas un valor y de que base a que base quieres convertir. (es una función, muy útil por cierto, para convertir bases etc... muy similar a ESTA)

Por ejemplo Convert(variable, 16, 10) , pasaria la variable de hexadecimal a decimal.

Lo único que tienes que mirar es que la función Convert, si no está en el mismo módulo que la función operadores16u8, debes declararla como pública.

Saludos!!
  #10 (permalink)  
Antiguo 10/04/2006, 23:19
 
Fecha de Ingreso: abril-2006
Mensajes: 35
Antigüedad: 18 años
Puntos: 0
Ya lo hice

pues si pense que fuese eso.....pero creo que no es.

cambien mi funcion de CONVERT A PUBLIC

Public Function convert

Y ME SIGUE MARCANDO EL MISMO ERROR, Y PUES SI ES LA FUNCION YA QUE CUANDO LA COMENTE EN EL MODULO NO ME MARCO NINGUN ERROR.


ME PUEDEN ORIENTAR ??????

SALUDOS!!!!!!!!!!
  #11 (permalink)  
Antiguo 10/04/2006, 23:56
 
Fecha de Ingreso: abril-2006
Mensajes: 35
Antigüedad: 18 años
Puntos: 0
Fijense Que En Este Momento Movi Mi Funcion De "convert" Al Modulo De Donde La Llamaba Y Pues No Marco Ningun Error Y Todo Funciona Segun Lo Necesito En Cuanto Al Codigo Pero........


Yo No Quiero Que La Funcion De "convert" Este En El Modulo, La Necesito En El Principal.....de Hecho Como Ya Dije Antes Ya La Declare "public" Y Me Seguia Marcando El Error, Como Dije Ya La Movi Al Modulo....que Puede Ser????


Saludos A Todos Y Gracias.
  #12 (permalink)  
Antiguo 11/04/2006, 09:57
 
Fecha de Ingreso: abril-2006
Mensajes: 7
Antigüedad: 18 años
Puntos: 0
creo que lo que tienes que hacer es llamarla de la siguiente manera


conversion = NombreDeModuloBAs.NombreFuncionDentroDelModulo(Var iableDeEntrada)



por ejemplo

conversion = mipuntobas.conversion(x,y)

Suerte espero y te sirva
  #13 (permalink)  
Antiguo 12/04/2006, 22:54
 
Fecha de Ingreso: abril-2006
Mensajes: 35
Antigüedad: 18 años
Puntos: 0
Gracias

Gracias A Todos Por Su Ayuda....
Pero Aun No Intento Las Ultimas Soluciones Que Me Dieron Pero Hoy Mismo Lo Checo


Gracias!!!!!! A Todos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:20.