visual strings mid left instr functions funciones ejemplos cadena string vb6

strings - VB6 equivalente de string.IsNullOrEmpty



strings instr (7)

Estoy trabajando en una aplicación heredada, y mis habilidades de VB6 no son tan buenas. Necesito verificar si un campo de cadena se ha inicializado y configurado en algo distinto de nulo / nada o una cadena vacía. En C # acabo de hacer algo como:

if (string.IsNullOrEmpty(myObj.Str))

No estoy seguro de cuál era el equivalente a esto en VB6, y estoy nervioso por usar If myObj.Str = "" y llamarlo bien. ¿Cuál es la forma correcta de hacer esto?

Para aclarar, quiero algo que devolverá True si se cumple alguna de las siguientes condiciones:

  • El campo no ha sido inicializado.
  • El campo es una cadena vacía (str = "", longitud = 0)
  • El campo se establece en nulo, Nothing o vbnull, o cualquier forma del valor nulo se aplica a las cadenas VB6.

El campo originalmente era Largo, y el código que estoy reemplazando verificaba si estaba configurado en 0.


''Usar VbNullstring puede ser una manera muy efectiva

Dim YourString as string dim HasValue as boolean If YourString = vbnullstring then HasValue = False Else HasValue = True End if


Como ''Nulls'' y ''Empty Strings'' son en realidad valores diferentes, este enfoque puede capturar ambos fácilmente:

If strValue & "" = "" Then ''This is Null Else ''This is NOT Null End If


El uso es nulo para las picaduras o no es nada para los objetos.

use len (" cadena ") en lugar de " cadena " = "" porque es más rápido

Dim s As String If Not (s Is Null) Then MsgBox "SET" if (len(s)>0) then MsgBox "size > 0" else MsgBox "size = 0" end if Else MsgBox "not SET" End If

Saludos


La forma más optimizada y segura de cumplir con sus 3 requisitos es la siguiente:

If LenB(myObj.Str) = 0 Then Debug.Print "String is empty/null/not initialized" Else Debug.Print "Not Empty"


Lo intenté, If str = "" entonces

Pero no funcionó.

La mejor manera de identificar si la cadena dada es nula es:

If IsNull(str) entonces

''Esto funcionará perfectamente


Solo añadiendo información a la respuesta de MarkJ. Si está trabajando con un conjunto de registros, este

if rs.fields.item("rsField").value = "" then

Lanzará un error de tiempo de ejecución en caso de que el elemento sea nulo. Usted debe hacer esto:

if rs.fields.item("rsField").value & "" = "" then

Buena suerte.


VB6 fue diseñado para ser fácil

Utilizar

If str = "" Then '' uninitialised, null or empty ""

  • Las cadenas se inicializan automáticamente para [ editar ] una cadena nula.
  • La cadena nula es vbNullString.
  • Pero no te preocupes por las cuerdas nulas. Una cadena nula VB6 es indistinguible de una cadena vacía "" para (casi) cualquier manipulación de cadena.