Tabla de contenido:

Programación en VB6: consejos y trucos: 3 pasos
Programación en VB6: consejos y trucos: 3 pasos

Video: Programación en VB6: consejos y trucos: 3 pasos

Video: Programación en VB6: consejos y trucos: 3 pasos
Video: 5 Lenguajes de programación más odiados #shorts 2024, Mes de julio
Anonim
Programación en VB6: consejos y trucos
Programación en VB6: consejos y trucos

Programando en mi tiempo libre y soy un programador bastante competente usando VB6. Es fácil y todavía tengo que encontrar algo que necesite que logre que no pueda, aunque a veces puede ser complicado realizar su tarea. En el camino encontré muchas cosas molestas, principalmente la forma en que cuenta ciertas cosas. Así que aquí hay una recopilación de algunas cosas que aprendí a lo largo del camino. Si tiene algún problema, le insto a que comente e intentaré ayudarlo con más pasos.

Paso 1: cuerdas

Instrumentos de cuerda
Instrumentos de cuerda

La forma en que VB maneja las cadenas es confusa a veces.texta = "abcdefg" poner "símbolos en ambos lados del texto que desea que se cuente como una cadenaMid (Cadena, Inicio, Longitud) selecciona una sección de texto de una cadena en cadenas no hay las cadenas de inicio cero comienzan en 1textb = mid (texta, 2, 2) esto hace que la variable textb = "bc" textb = mid (texta, 4, 4) esto hace que la variable textb = "defg" textb = mid (texta, 4), 5) esto hace que la variable textb = "defg" Así sea, si el texto que estás intentando seleccionar es más largo que el texto disponible, termina en el último carácter, dependiendo de tu programa, tendrás que colocar trampas para evitar errores. es una trampa: textb = mid (texta, 4, 5) si len (textb) <5 entonces 'Len () devuelve la longitud de una cadena el <significa menos que msgbox "el texto es demasiado corto"' Muestra un cuadro de mensaje con the stringexit sub 'Esto sale del sub en el que estás. finalizando el código. si estás en una función, entonces pondrías exit functionend si encontrando el lugar de un carácter en una cadena usamos instr (Start, Stri ng1, String2) texta = "abcdefg" textb = instr (1, texta, "c") 'esto encuentra la letra c en la cadena textatextb ahora es igual a 3 NOTA: Instr devuelve 0 (cero) si no encuentra el carácter. un molesto di que quieres que "abcdefg" sea "defgabc" texta = "abcdefg" textb = mid (texta, 4, 4) & mid (texta, 1, 3) Eso no fue tan malo, pero ahora agreguemos el instr () funciones dicen que desea reorganizar una cadena en un carácter de cortina pero no es el mismo lugar cada vez textb = "abcdefg" textb = "gfabdec" textc = mid (texta, instr (1, texta, "c"), len (texta) - instr (1, texta, "c") + 1) & mid (texta, 1, instr (1, texta, "c") - 1) observe la parte len (texta) - instr (1, texta, " c ") + 1 porque instr cuenta el carácter que está buscando, por lo que retrocede un carácter, por lo que mid () toma el carácter que está buscando como el primero en la cadena textc ahora es igual a" cdefgab "textd = mid (textb, instr (1, textb, "c"), len (textb) - instr (1, textb, "c") + 1) & mid (textb, 1, instr (1, textb, "c") - 1) textd ahora equa ls "cgfabde" intentemos encontrar un carácter que no esté en la cadena textc = "abcdefg" textc = mid (texta, instr (1, texta, "h"), len (texta) - instr (1, texta, "h") + 1) & mid (texta, 1, instr (1, texta, "h") - 1) obtiene un error porque la parte inicial de Mid () no puede = 0 ya que las cadenas comienzan en 1, por lo que debe evitar el tiempo de ejecución error. esta es una forma de hacerlo texta = "abcdefg" if instr (1, texta, "h") 0 thentextc = mid (texta, instr (1, texta, "h"), len (texta) - instr (1, texta, "h") + 1) & mid (texta, 1, instr (1, texta, "h") - 1) else 'solo una declaración else por situación if msgbox "No se puede encontrar el carácter en la cadena"' muestra un cuadro de mensaje con The stringend if Esto resume prácticamente todo lo que necesitas saber sobre las cadenas

Paso 2: conversión de caracteres

Conversión de personajes
Conversión de personajes

HEX: Uno que encontré a principios de esta semana tiene que ver con la función Hex (número), la longitud del número no importa. Devuelve una cadena en hexhex (11111111) devuelve "A98AC7" al convertir un carácter ascii en hexadecimal, lo haría dotexta = "a" hex (asc (texta)) devuelve "61" texta = "k" hex (asc (texta)) devuelve "6B" la cadena tendrá 2 caracteres para la MAYORÍA de los caracteres ASCI a menos que estén por debajo de un valor de 16 entonces solo devuelve 1 carácter si desea que todos sean 2 caracteres, haría lo siguiente: textb = hex (asc (texta)) if len (textb) = 1 thentextb = "0" y textb 'que es un cero no un capital oend si

Paso 3: edición de archivos

Edición de archivos
Edición de archivos

para abrir un archivo necesita un archivo gratuito y un nombre de archivo gfile = FreeFile 'gfile es ahora el siguiente archivo libre disponible = "c: / test.txt", entonces existen 4 formas de abrir un archivo. Entrada - Solo puede leer. Salida: solo puede escribir y borrará el archivo si existe. Retorno de carro y último carácter de salto de línea Apéndice: solo puede escribir. se agregará al archivo existente. retorno de carro y últimos caracteres de salto de línea Binario: lectura y escritura. muy preciso. el único que uso ahora. para crear archivos de registro y dicho uso agregará agregará la nueva entrada al final del archivo. para archivos de registro más complejos, cargue el archivo completo en una variable y agregue la nueva entrada al principio de el file.dim stro como cadena 'esto es necesario o habrá un error gfile = FreeFilec = "c: / test.txt" abrir c para binario como #gfile' recuerde que gfile es un numberstro = espacio $ (lof (gfile)) 'al abrir para binario, debe decir qué tan grande es la longitud del texto que desea tomar. lof (gfile) devolverá la longitud de gfile y el espacio $ () devuelve una cadena de espacios de la longitud del número que ingresó get #gfile, 1, stro 'obtener del número de archivo, byte inicial, variable para guardarlo. y carga solo la longitud de la variableclose #gfilestro ahora es igual al archivo test.txt. puedes poner información en un archivo byffile = FreeFilestro = "New line" & VbCrLf & stro 'agrega "New line" y carraige return y linefeed seguido del textopen c original para binario como #ffilekill cput #ffile, 1, stro 'put sobrescribe la información anterior si el archivo se está haciendo más pequeño, primero debe matar el archivo que lo borra cerrar #ffile el archivo ahora tiene "Nueva línea" en él. Descubrí que con la función put tiene errores si intentas poner un carácter como input #ffile, 133, chr (1) 'esto reemplaza el carácter en el byte 133 con el carácter 1 o hexadecimal 0x01 Lo encontré cuando hice esto con un programa I hizo que en realidad agregara hexadecimal 0x08000100000001, que es realmente extraño. Resolví esto cargando el archivo en una variable y haciendo string modsi = 133stro = mid (stro, 1, i - 1) & chr (1) & mid (stro, i + 1, len (stro) - i) luego puse #ffile, 1, strothis funcionó perfectamente

Recomendado: