Visual Basic - STRING... que capacidad tienen

Life is soft - evento anual de software empresarial
 
Vista:

STRING... que capacidad tienen

Publicado por Froy (185 intervenciones) el 04/12/2003 23:20:12
Tengo un string muy largo.. quiero ver que tanto debo de meterle al string ahi les va el ejemplo porque al momento de correr mi aplicacion y debuguearla me corta la cadena.. osea no me aparece todo lo que tienen declarado...

Dim Wsql As String

Wsql = "INSERT INTO TPreguntas (area,linea,preg2,gerenteSoD,gerenteJ,supervisor,preg3,idea3,preg4,idea4,preg5,idea5,preg6,preg7,preg8,preg9,idea9,preg10,idea10,preg11,idea11,preg12,idea12,preg13,idea13,preg14,idea14,preg15,idea15,preg16,idea16,preg17,preg18,idea18,preg19,idea19,preg20,idea20,preg21,idea21,preg22,idea22,preg23,porque23,preg24,preg25,idea25,Preg26_1,Preg26_2,Preg26_3,Preg26_4,Preg26_5,Preg26_6,Preg27_1,Preg27_2,

AL VERLA ESTA CORTADA... Y ANTES NO HACIA ESO... YA ESTABA BIEN.... SOLO LE AGREGE UNAS 5 O 6 PREGUNTAS MAS.... QUE PASA???
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:STRING... que capacidad tienen

Publicado por jose carlos (340 intervenciones) el 05/12/2003 00:45:33
Hay dos clases de cadenas:

Cadenas de longitud variable, que pueden contener hasta 2.000 millones de caracteres (2^31) (aproximadamente 64K (2^16) caracteres para Microsoft Windows versión 3.1 y anteriores).
Cadenas de longitud fija, que pueden contener hasta aproximadamente 64K (2^16) caracteres.

Nota Las cadenas de longitud fija Public no pueden utilizarse en módulos de clase.

El carácter de declaración de tipo para String es $. Los códigos para los caracteres de String están comprendidos entre 0 y 255. Los primeros 128 caracteres (0127) del conjunto corresponden a letras y símbolos de un teclado estándar de EE.UU. Estos primeros 128 caracteres son los mismos que los definidos por el conjunto de caracteres ASCII. Los siguientes 128 caracteres (128255) representan caracteres especiales, tales como letras de alfabetos internacionales, acentos, símbolos monetarios y fracciones.

copiado de la ayuda de VB40

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:STRING... que capacidad tienen

Publicado por Efren (185 intervenciones) el 05/12/2003 17:01:32
Como declaro una cadena de longitud variable??? disculpen mi ignorancia....

tengo una cadena SQL (query) muy larga.. al momento de querer insertar los datos lo voy debugeando y ve que despues de que se le dan los datos a la cadena solo me queda una parte!! ESTO!!

"INSERT INTO TPreguntas (area,linea,preg2,gerenteSoD,gerenteJ,supervisor,preg3,idea3,preg4,idea4,preg5,idea5,preg6,preg7,preg8,preg9,idea9,preg10,idea10,preg11,idea11,preg12,idea12,preg13,idea13,preg14,idea14,preg15,idea15,preg16,idea16,preg17,preg18,d"
COSA QUE DESPUES DE LA PREGUNTA18 EN MI CADENA NUNCA TENGO UNA d QUE APARECE AL FINAL DESPUES DE LA 18 TENGO OTRA idea18 ... no se que apsa porque me cabia esa letra y no me pone toda la cadena correspondiente!! AYUDA PORFARVOR
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 15
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:STRING... que capacidad tienen

Publicado por Ingeniero Cognitivo (5 intervenciones) el 31/03/2021 20:30:13
Dudo que un string tenga tanta capacidad como dice el compañero. Ademas que yo sepa, solo existe un tipo de string y nunca he visto que se pueda declarar con ese simbolo.

Si la informacion que contiene esa variable es la que se ve, no es un problema de limite del string porque este tipo de datos tiene mucha mas capacidad, aunque tampoco estoy seguro de que tenga tanta como comenta el compañero.

Por lo que veo, parece que has mostrado la informacion del string sin retorno de carro y creo que el string tiene mucha mas capacidad en columna que en lineas. ¿Has probado a meter cada dato en una linea?.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 145
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

STRING... que capacidad tienen

Publicado por Sahid Ra Gutiérrez Cruz (191 intervenciones) el 01/04/2021 03:04:58
Le e metido más de 10mb, todo depende de tu RAM

Es muy diferente la información contenida en una variable
Tipo string que lo que contiene un textbox

1
2
3
4
5
dim Texto as string
Dim tempo as long
For tempo = 1 to 999999
 Texto = Texto + chr$(32)
Next tempo

Cuando te bote el error solo revisa el valor del temp.

Por cierto cuando estás en el debug y pones la variable a inspección no te muestra toda la cadena, te recomendaría pusieras una variable y cheques el largo de la cadena, porque es muy cierto en el debug corta la cadena no te la muestra completa.

Te recomendaría el uso de la función Split. Pero mejor hacer una propia funcion similar a ella.

Saludos y Felices líneas de programc10n
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de gilman
Val: 594
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

STRING... que capacidad tienen

Publicado por gilman (359 intervenciones) el 01/04/2021 09:29:41
Ya que habéis abierto un tema tan antiguo, voy a aportar mi granito de arena, así es como se almacenan las variables de tipo cadena
https://www.codeguru.com/vb/gen/vb_misc/algorithms/article.php/c7495/How-Visual-Basic-6-Stores-Data.htm#_Strings
por lo que el tamaño máximo sería 2^32 (4.294.967.296) pero, me imagino, VB6 reservará la memoría usando la API:
1
Declare Function GlobalAlloc Lib "kernel32" Alias "GlobalAlloc" (ByVal wFlags As Long, ByVal dwBytes As Long) As Long
Como dwBytes es un long(mas apropiado un Unsigned Long) y dado que cada carácter ocupa 2 bytes el resultado quedaría reducido a la mitad, mas exactamente 2^31-4 (2.147.483.644), y teniendo en cuenta que el carcter de finalización ocupa también 1 carácter menos, no voy a comprobar la exactitud de esto, pero así debería ser.
En cuanto a las cadenas de longitud fija, la longitud máxima es 2^16-1(65535), esto último es facil de comprobar.
La sentencia:
1
Dim a As String * 65535
funciona, mientras que la sentencia:
1
Dim a As String * 65536
falla.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 15
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

STRING... que capacidad tienen

Publicado por Ingeniero Cognitivo (5 intervenciones) el 01/04/2021 14:06:46
ME alegra saber que los string tienen tanta capacidad. Lo malo es que ahora estoy con android y temiendo que el string se saturase, he creado otro sistema de registro. Ahora tendre que replantearme modificarlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar