elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Arrays en VB
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Arrays en VB  (Leído 4,729 veces)
TheGhost(Z)

Desconectado Desconectado

Mensajes: 230



Ver Perfil
Arrays en VB
« en: 6 Noviembre 2009, 19:07 pm »

Hola a todos. solo quería saber cuanta informacion se puede almacenar en cada casilla de una array unidimencional:

Lo que ocurre es que estoy pasando los datos de tres campos por Winsock al cliente. Pero me arroja error en una fila donde los tres campos estan con datos. de ahí que creo que a lo mejor es porque hay mucha informacion?

'Server
Código:
Dim Transmitir As String
Transmitir = Hoja1 &  "|" & Hoja2 & "|" & Hoja3
Winsock1.SendData Transmitir


Cliente
Código:
Dim Transmicion As String
Dim Datos() As String

Winsock1.GetData Transmicion, vbString

Datos = Split(Transmicion, "|")

Text1.Text= Datos(0)
Text2.Text= Datos(1)
Text3.Text= Datos(2)

Hay 20 filas con datos en el primer campo. Solo en la fila 16 los tres campos estan con datos. con información de una hoja Word. Y justo ahi salta un error y pasa a la fila 17. Salta porque capuré el error.

Será porque en la fila 16 hay mucho texto?, ayuda porfa...


En línea

DarkMatrix

Desconectado Desconectado

Mensajes: 150


Nuestro Limite es la Imaginacion


Ver Perfil WWW
Re: Arrays en VB
« Respuesta #1 en: 6 Noviembre 2009, 21:15 pm »

Dudo que sea eso ps en una variable tipo string se puede almacenar mucho, que error te manda el vb y que tipo de datos son hoja1, hoja2 y hoja3?


En línea

Todo aquello que no se puede hacer, es lo que no intentamos hacer.
Projecto Ani-Dimension Digital Duel Masters (Juego de cartas masivo multijugador online hecho en Visual Basic 6.0)

Desing by DarkMatrix
TheGhost(Z)

Desconectado Desconectado

Mensajes: 230



Ver Perfil
Re: Arrays en VB
« Respuesta #2 en: 7 Noviembre 2009, 10:22 am »

Bueno he revisado todo. En un lan pasa todo los datos, intentaré de nuevo a traves de internet... ya les comentaré
En línea

TheGhost(Z)

Desconectado Desconectado

Mensajes: 230



Ver Perfil
Re: Arrays en VB
« Respuesta #3 en: 10 Noviembre 2009, 17:59 pm »

Hola, saben he intentado en una LAN y pasa normal todos los datos, pero cuando lo hago desde internet, trabajo a casa, no llega datos en el campo 3. Lo que estoy pensando es que se pierden datos. Ya, que solo pasa con ese registro donde hay gran cantidad de informacion.

En realidad, lo de arriba es solo un ejemplo. Lo que intento pasar son 100 registros con 10 campos. De esos campos hay 03 con Hoja1, Hoja2, Hoja3, donde guardo comentarios de 20 lineas.

Todos los registros tienen comentarios de 20 lineas en la hoja1. pero en los registros donde tienen comentarios en la hoja2, hoja3 llegan sin datos.

hay, algun limite para pasar datos de un porramos con el Winsock.?
En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Arrays en VB
« Respuesta #4 en: 10 Noviembre 2009, 20:31 pm »

eso seguro es perdida de datos, usa un doevents antes de el sendata

doevents: ws.senddata datos

yen el servidor  o resector ue no tenga nintun doevents en el evento dataarrival (si pones un doevents se volveara el estring: es por esperiencia propia con el winsock ).


otra cosa, no uses el select case en el data arrival, solo usalo para obtener los datos, y usa algo asi como Switch para pasar datos GraNDES


Winsock emisor[/i]

Código:

botonSend ()
{
    ws.senddata "EnvOn" ' //    Peticion para saber si esta listo el resector
}

DataArrival()
{
dim datos as string
dim spli()
    spli = split(datos,"|")
    select case spli(0)
        case "Envon"
            if cbool(spli(1) then
                doEvents: ws.senddata Tramision ' //    Se envian los datos de la variable "Transmison"
                doEvents: ws.sendata "Envoff" ' //    Le indico al resector el termino y la ultilizacion del proceso select case
            end if
        case "Envon"
            if cbool(spli(1) then
                ' //    Me dio weba seguir con el codigo asi ue lo lo demas es cosa tuya
            end if
        ' //    Otros select case etc...
    end select
}

WinSock Receptor[/i]
Código:

DataArrival()
{
    dim datos as string
    static resect as boolean
    ws.getdata datos, vbstring
    if right(datos,len("Envon"))="Envon" then
        resect = true
        Ws.sendata "Envon|" & true
    elseif right(datos,len("Envoff"))="Envoff" then
        resect = false
        Ws.sendata "Envoff|" & true
    else
        call procesodondeestaelselectcase(datos) ' //    en este proceso hacer el split con la variable en el parametro.
    end if
}


Dulces Lunas!¡.
« Última modificación: 10 Noviembre 2009, 20:34 pm por ░▒▓BlackZeroҖ▓▒░ » En línea

The Dark Shadow is my passion.
TheGhost(Z)

Desconectado Desconectado

Mensajes: 230



Ver Perfil
Re: Arrays en VB
« Respuesta #5 en: 11 Noviembre 2009, 19:59 pm »

OK. Intentaré arreglar todo eso. Luego les comento. como va..

Saludos,
En línea

TheGhost(Z)

Desconectado Desconectado

Mensajes: 230



Ver Perfil
Re: Arrays en VB
« Respuesta #6 en: 11 Noviembre 2009, 21:13 pm »

Hola, ░▒▓BlackZeroҖ▓▒░

Los 100 registros los descargo con un Timer
Código:
Private Sub Timer1_Timer()
If Winsock1.State = sckConnected Then
    Dim ID As Long
    ID = FuncionMaximo("Registros", "ID")
    ID = ID + 1
    Winsock1.SendData "DESGARGAR" & Format(ID, "0000000000")
    Timer1.Enabled = False
End If
End Sub


Luego en el Server DataArribal

Código:
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim Transmicion As String
Dim Mandato As String

Winsock1.GetData Transmicion, vbString
Mandato = Left(Transmicion, 9)

If Mandato = "DESCARGAR" Then
     RS.Open "", DBConex, adOpenStatic, adLockReadOnly
     If RS.RecordCount > 0 Then
           Dim Trasmitir As String
           Transmitir = Transmitir & RS(0) & "|"
           Transmitir = Transmitir & RS(1) & "|"
           Transmitir = Transmitir & RS(2) & "|"
           Etc, Etc, Etc
           Winsock1.SendData "AGREGARSI" & Transmitir
      Else
           Winsock1.SendData "AGREGARNO" 'Informamos que no hay el registro solicitado.
      End If
      Rs.Close
      Set Rs = Nothing
End IF
End Sub

Nuevamente en el Cliente:

Código:
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim Transmicion As String
Dim Mandato As String
Winsock1.GetData Transmicion, vbString
Mandato = Left(Transmicion, 9)

If Mandato = "AGREGARSI" Then
    'hago el correspondiente Split. Es decir extraido los campos
    'luego los agrego en la base de datos
    'como existe más datos en el server. activo el Timer para que saque el
    'nuevo máximo valor y lo envié para descargar el siguiente
    Timer1.Enabled = True
End If
End Sub

Bueno, eso es el código. Crees que sea por el Do Events. XQ cuanto solicité la descargar de Registros con un FOR en el DataArribal se mesclaban todos los registros; ya que, lo hacía muy rápido. Por eso  el Timer solicitará un nuevo registro una vez se se haya agregado el registro descargado, sino se mantendrá Inactivo.

Más claro, lo que no entiendo si el problema es:
1.) ¿Pido muy rápido el registro a descargar?
2.) ¿Problema con el Split, porque no soporta muchos datos. Por lo que me sugieres que use Switch?

Ayuda, porfa...

En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
No entiendo los arrays
PHP
Riki_89D 7 3,459 Último mensaje 1 Diciembre 2010, 22:29 pm
por Shell Root
problemas con Arrays PHP
PHP
Dreamcacher 7 4,165 Último mensaje 9 Diciembre 2010, 10:16 am
por Dreamcacher
Arrays de estrocturas
Programación C/C++
Gotttlieb 3 3,255 Último mensaje 26 Abril 2011, 18:38 pm
por El_Java
Arrays de PHP
Desarrollo Web
inquilin@19 2 1,949 Último mensaje 10 Octubre 2011, 17:23 pm
por inquilin@19
Punteros y arrays
Programación C/C++
cazagavilan 4 2,325 Último mensaje 14 Abril 2012, 19:32 pm
por cazagavilan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines