Taula de continguts:

Programació en VB6: consells i trucs: 3 passos
Programació en VB6: consells i trucs: 3 passos

Vídeo: Programació en VB6: consells i trucs: 3 passos

Vídeo: Programació en VB6: consells i trucs: 3 passos
Vídeo: VBA For Beginners: Learn Macro Security & Automated Sorting In Excel 2024, Juliol
Anonim
Programació en VB6: consells i trucs
Programació en VB6: consells i trucs

Programa en el meu temps lliure i sóc un programador força competent que utilitza VB6. És fàcil i encara no he trobat res que ho necessiti per aconseguir que no pugui, tot i que de vegades pot ser complicat complir la seva tasca. Al llarg del camí he trobat tantes coses molestes sobretot pel fet de comptar certes coses. Així doncs, aquí teniu una recopilació d’algunes coses que he après al llarg del camí. Us demano que tingueu algun comentari sobre problemes i intentaré ajudar-vos amb més passos.

Pas 1: cordes

Cordes
Cordes

La forma en què VB tracta les cadenes és de vegades confusa. zero cadenes inicials comencen a 1textb = mid (texta, 2, 2) això fa que la variable textb = "bc" textb = mid (texta, 4, 4) això faci que la variable textb = "defg" textb = mid (texta, 4), 5) això fa que la variable textb = "defg" sigui correcte si el text que intenteu seleccionar és més llarg que el text disponible que acaba en l'últim caràcter, segons el programa, haureu de col·locar trampes per evitar errors. és una trampa com aquesta: textb = mid (texta, 4, 5) si len (textb) <5, llavors 'Len () retorna la longitud d'una cadena; <vol dir menys de msgbox "el text és massa curt". el stringexit sub 'Això surt del sub que es troba. acabant el codi. si esteu en una funció, posareu exit functionend si indiqueu el lloc d'un caràcter en una cadena utilitzem instr (Start, Stri ng1, String2) texta = "abcdefg" textb = instr (1, texta, "c") 'troba la lletra c a la cadena textatextb ara és igual a 3 NOTA: Instr retorna 0 (zero) si no troba el caràcter REORGANITZACIÓ: això és una cosa molesta que voleu que "abcdefg" sigui "defgabc" texta = "abcdefg" textb = mid (texta, 4, 4) & mid (texta, 1, 3) () funcions diu que voleu reorganitzar una cadena en un caràcter de cortina, però no és el mateix punt everytimetexta = "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) tingueu en compte la part len (texta) - instr (1, texta, " c ") + 1 perquè instr compta el caràcter que busqueu, de manera que torneu enrere amb un caràcter de manera que mid () agafi el caràcter que busqueu com a primer a la cadena textc ara és 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 ara equa ls "cgfabde" permet provar de trobar un caràcter que no estigui a la stringtexta = "abcdefg" textc = mid (texta, instr (1, texta, "h"), len (texta) - instr (1, texta, "h") + 1) & mid (texta, 1, instr (1, texta, "h") - 1) apareix un error perquè la part inicial de Mid () no pot = 0 ja que les cadenes comencen a 1, així que heu d'evitar el temps d'execució error. aquesta és una manera de fer-ho ittexta = "abcdefg" si 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 'only one else statement per if situationmsgbox "No es pot trobar el caràcter a la cadena"' mostra un quadre de missatge amb el stringend Si això resumeix pràcticament tot el que heu de saber sobre les cordes

Pas 2: conversió de caràcters

Conversió de personatges
Conversió de personatges

HEX: un que he trobat a principis d'aquesta setmana té a veure amb la funció Hex (número), la longitud del número no importa. Torna una cadena en hexhex (11111111) que retorna "A98AC7" quan es converteix un caràcter ascii en hex. = "a" hex (asc (texta)) retorna "61" texta = "k" hex (asc (texta)) retorna "6B" la cadena serà de 2 caràcters per a la MOLTA dels caràcters ASCI tret que tinguin un valor de 16 llavors només retorna 1 caràcter si voleu que tots siguin 2 caràcters, faria el següent: textb = hex (asc (texta)) si len (textb) = 1 thentextb = "0" i textb 'que és un zero no un capital oend if

Pas 3: Edició de fitxers

Edició de fitxers
Edició de fitxers

per obrir un fitxer, necessiteu un fitxer lliure i un fitxer nomamegfile = FreeFile 'gfile és ara el següent freefilec = "c: / test.txt" disponible, hi ha les 4 maneres d'obrir un fitxer Entrada: només podeu llegir. Sortida: només podeu escriure i esborrarà el fitxer si existeix. retorn de carro i alimentació de línia darrers caràcters Afegeix: només es pot escriure. s'afegirà al fitxer existent. retorn de carro i alimentació de línia darrers caràcters Binari: llegir i escriure. molt precís. l'únic que faig servir ara. per construir fitxers de registre i aquest ús s'afegeix, afegirà la nova entrada al final del fitxer. Per als fitxers de registre més complexos, carregueu el fitxer sencer a una variable i afegirà la nova entrada al començament de el fitxer file.dim com a cadena 'això és necessari o hi haurà un fitxer errorgfile = FreeFilec = "c: / test.txt" obert c per binari com a #gfile' recordeu gfile és un numberstro = espai $ (lof (gfile)) "quan obriu per a binaris, heu de dir quant de gran és la longitud del text que voleu agafar (gfile) retornarà la longitud de gfile i l'espai $ () retorna una cadena d'espais la longitud del número que entereu #gfile, 1, stro 'get del número de fitxer, byte inicial, variable per desar-lo. i només carrega la longitud de la variable tancar #gfilestro ara és igual al fitxer test.txt.podeu posar informació a un fitxer seguit del text obert original c per a binari com #ffilekill cput #ffile, 1, stro 'put sobreescriu la informació anterior si el fitxer es fa petit, primer hauríeu de matar el fitxer que el suprimeix. tanqueu #ffilet. He trobat amb la funció put és que té errors si intenteu posar un caràcter likeput #ffile, 133, chr (1) "això substitueix el caràcter del byte 133 amb el caràcter 1 o hexadecimal 0x01 He trobat quan ho feia amb un programa I fet que en realitat va afegir hexadecimal 0x08000100000001, que és una cosa estranya. Ho he resolt carregant el fitxer a una variable i fent cadena modsi = 133stro = mid (stro, 1, i - 1) & chr (1) & mid (stro, i + 1, len (stro) - i) i després posa #file, 1, strothis ha funcionat perfectament

Recomanat: