[Ayuda] Como puedo validar esto?

Iniciado por Dreamaker, 28 Mayo 2010, 18:33 PM

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

BlackZeroX

Cita de: Dreamaker en 29 Mayo 2010, 21:52 PM
Cuando pones:

Código (vb) [Seleccionar]
Dim TmpChar             As String * 1

Es para declarar que la variable contendrá un carácter y por eso se coloca el *1?

Para qué es necesario? Declarando que contendrá un sólo carácter ocupa menos memoria que si le pones un sólo caracter sin poner el *1?




yo en lo personal lo hago por que solo ocupo y dejo lo nesesario en su declaracion es decir su longitud maxima y cuando uso el mid$ no se nesesita seguir estos pasos:

Redimencionar string
establecer String

y esto X veces sea en el bucle por lo cual conlleva un poco mas de tiempo, por lo contrario si se hace de la forma en la declaracion en una longitud fija solo va a pasar a introducir el valor y la variable  string SIEMPRE va a contener la logitud deseada y si no se llenace totalmente se poner Bytes 0 o nullos.

Dulce Infierno Lunar!¡.
The Dark Shadow is my passion.

Karcrack

No entiendo por que te complicas tanto para hacer el StrReverse() :-\

Código (vb) [Seleccionar]
Public Function Str_Reverse(Expression As String) As String
   Dim i     As Integer
   For i = Len(Expression) To 1 Step -1
       Str_Reverse = Str_Reverse & Mid$(Expression, i, 1)
   Next i
End Function

Dreamaker

Karcrack, que hace el Mid con el signo "$"?

Porque yo hasta ahora lo usaba simplemente Mid(<Cadena>,<Posición>,<Longitud>)
:huh:

Karcrack

Utilizar el dolar es mas optimo, debido a que si no especificas usando el dolar que quieres que devuelva String, la funcion devuelve Variant, luego VB tiene que hacer la conversion para meter los datos en una String ;)

burbu_1

Cita de: Karcrack en 30 Mayo 2010, 16:43 PM
Utilizar el dolar es mas optimo, debido a que si no especificas usando el dolar que quieres que devuelva String, la funcion devuelve Variant, luego VB tiene que hacer la conversion para meter los datos en una String ;)

hola,
sin ánimo de comenzar una discusión con los grandes (porque seguro saldría perdiendo.... :-[) tenía entendido que la función mid devuelve un string de por sí  :-\

Código (vb) [Seleccionar]

Public Shared Function Mid( _
   ByVal str As String, _
   ByVal Start As Integer, _
   Optional ByVal Length As Integer _
) As String


http://msdn.microsoft.com/en-us/library/05e63829%28VS.80%29.aspx

saludos.

Karcrack

Fijate que gran parte de la documentacion de la MSDN ya no es para VB6
Código (vb) [Seleccionar]
' Creates text string.
Dim TestString As String = "Mid Function Demo"
' Returns "Mid".
Dim FirstWord As String = Mid(TestString, 1, 3)
' Returns "Demo".
Dim LastWord As String = Mid(TestString, 14, 4)
' Returns "Function Demo".
Dim MidWords As String = Mid(TestString, 5)

Prueba a ejecutar eso en VB6 :P

Fijate que al poner Mid( te saldra la declaracion de la funcion, si pones Mid$( pone al final "As String"

A la hora de programar no hay diferencia, pero una vez compilado el proceso es distinto ;)

cobein

Sacado de msvbvm60.dll


Module Constants;
GUID = {343DB180-2BCC-1069-82D4-00DD010EDFAA};
  vbObjectError = -2147221504;
  vbNullString = ;
  vbNullChar = iant; stdcall;
  function _B_str_Mid(String: BSTR; Start: I4; out Length: ^Variant): BSTR; stdcall;
  function _B_var_Mid(String: ^Variant; Start: I4; out Length: ^Variant): Variant; stdcall;
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.

LeandroA

ya que se sale el tema, pregunto con respecto a valores numericos con los singnos.

he visto que cuando se utiliza una API muchas veces en los valores nulos (cero u otros tambien)  se los pasa con los singos

por ejemplo

SendMessage THWnd, WM_KEYDOWN, VK_R, 0&

al cero se lo marca como un long

ahora si yo ago esto, es nesesario, esta bien o esta mal?

dim Valor as  long

Valor = 5&


o esto

dim B() as byte

redim B(0&)


Saludos.