Sommario:

Programmazione in VB6: suggerimenti e trucchi: 3 passaggi
Programmazione in VB6: suggerimenti e trucchi: 3 passaggi

Video: Programmazione in VB6: suggerimenti e trucchi: 3 passaggi

Video: Programmazione in VB6: suggerimenti e trucchi: 3 passaggi
Video: Visual Basic 101 Tutorial Part 1 of 9 2024, Novembre
Anonim
Programmazione in VB6: suggerimenti e trucchi
Programmazione in VB6: suggerimenti e trucchi

Programma nel mio tempo libero e sono un programmatore abbastanza abile con VB6. È facile e devo ancora trovare qualcosa di cui ho bisogno per realizzare ciò che non può, anche se a volte può essere difficile portare a termine il tuo compito. Lungo la strada ho trovato così tante cose fastidiose soprattutto il modo in cui conta certe cose. Quindi ecco una raccolta di alcune cose che ho imparato lungo la strada. Ti esorto se hai problemi a commentare e cercherò di aiutarti con più passaggi.

Passaggio 1: stringhe

stringhe
stringhe

Il modo in cui VB gestisce le stringhe a volte è confuso.texta = "abcdefg"metti " simboli su entrambi i lati del testo che vuoi essere contato come una stringaMid(Stringa, Inizio, Lunghezza) seleziona una sezione di testo da una stringain stringhe non c'è le stringhe di inizio zero iniziano da 1testob = mid(texta, 2, 2) questo rende la variabile textb = "bc"textb = mid(texta, 4, 4)questo rende la variabile textb = "defg"textb = mid(texta, 4, 5) questo rende la variabile textb = "defg"Esatto se il testo che stai cercando di selezionare è più lungo del testo disponibile finisce con l'ultimo caratterea seconda del tuo programma dovrai posizionare trappole per evitare errori. Questo è una tale trappola:textb = mid(texta, 4, 5)if len(textb) < 5 then 'Len() restituisce la lunghezza di una stringa il < significa meno di msgbox "il testo è troppo corto" 'Mostra una finestra di messaggio con the stringexit sub 'Questo esce dal sub in cui ti trovi. terminando il codice. se sei in una funzione allora dovresti mettere exit functionend se trovando il posto di un carattere in una stringa usiamo instr(Start, Stri ng1, String2)texta = "abcdefg"textb = instr(1, texta, "c") 'questo trova la lettera c nella stringa textatextb ora è uguale a 3NOTA:Instr restituisce 0 (zero) se non trova il carattereREORGANIZING:questo è un fastidioso dice che vuoi che "abcdefg" sia "defgabc"texta = "abcdefg"textb = mid(texta, 4, 4) e mid(texta, 1, 3)Non era male ma ora aggiungiamo instr () funzione supponiamo che tu voglia riorganizzare una stringa in un carattere tenda ma non è lo stesso punto ogni voltatexta = "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)nota la parte len(texta) - instr(1, texta, " c") + 1 perché instr conta il carattere che stai cercando, quindi torni indietro di un carattere in modo che mid() prenda il carattere che stai cercando come primo in stringtextc ora è uguale a "cdefgab"textd = mid(textb, instr(1, textb, "c"), len(textb) - instr(1, textb, "c") + 1) & mid(textb, 1, instr(1, textb, "c") - 1) SMS ora uguale ls "cgfabde"proviamo a trovare un carattere che non è nella stringatexta = "abcdefg"textc = mid(texta, instr(1, texta, "h"), len(texta) - instr(1, texta, "h") + 1) & mid(texta, 1, instr(1, texta, "h") - 1) ottieni un errore perché la parte iniziale di Mid() non può = 0 poiché le stringhe iniziano da 1 quindi devi evitare il runtime errore. questo è un modo per farlotexta = "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 un'altra istruzione per if situazionemsgbox "Impossibile trovare il carattere nella stringa" 'mostra una finestra di messaggio con the stringend ifQuesto riassume praticamente tutto ciò che devi sapere sulle stringhe

Passaggio 2: conversione dei caratteri

Conversione di caratteri
Conversione di caratteri

HEX: uno che ho trovato all'inizio di questa settimana ha a che fare con la funzione Hex(number) la lunghezza del numero non ha importanza. restituisce una stringa in hexhex(11111111) restituisce "A98AC7"quando si converte un carattere ascii in esadecimale dovresti dotexta = "a"hex(asc(texta)) restituisce "61"texta = "k"hex(asc(texta)) restituisce "6B"la stringa sarà di 2 caratteri per la MAGGIOR PARTE dei caratteri ASCI a meno che non siano inferiori a un valore di 16 quindi restituisce solo 1 carattere se vuoi che siano tutti 2 caratteri, faresti come segue: textb = hex(asc(texta))if len(textb) = 1 thentextb = "0" e textb 'questo è uno zero non un fine capitale se

Passaggio 3: modifica dei file

Modifica file
Modifica file

per aprire un file è necessario un freefile e un filenamegfile = FreeFile 'gfile è ora il prossimo freefilec = "c:\test.txt" quindi ci sono 4 modi per aprire un fileInput - Puoi solo leggere. Output: puoi solo scrivere e cancellerà il file se esiste. ritorno a capo e avanzamento riga ultimi caratteriAppend: puoi solo scrivere. si aggiungerà al file esistente. ultimi caratteri ritorno a capo e avanzamento rigaBinary - Leggi e scrivi. molto preciso. l'unico che uso ora.per la creazione di file di registro e l'uso del genere aggiungi aggiungerà la nuova voce alla fine del file.per file di registro più complessi caricare l'intero file in una variabile e aggiungere la nuova voce all'inizio di il file.dim stro come stringa 'questo è necessario o ci sarà un erroregfile = FreeFilec = "c:\test.txt"open c for binary as #gfile 'ricorda che gfile è un numberstro = space$(lof(gfile)) 'quando apri per binario devi dire quanto è grande la lunghezza del testo che vuoi prendere lof(gfile) restituirà la lunghezza di gfile e space$ () restituisce una stringa di spazi la lunghezza del numero che inserisci ottieni #gfile, 1, stro 'get from file number, byte iniziale, variabile in cui salvarlo. e carica solo la lunghezza della variabileclose #gfilestro ora è uguale al file test.txt.puoi inserire informazioni in un file byffile = FreeFilestro = "Nuova riga" & VbCrLf & stro ' aggiunge "Nuova riga" e ritorno a capo e avanzamento riga seguito dal testo originaleopen c per il binario come #ffilekill cput #ffile, 1, stro 'put sovrascrive le informazioni precedenti se il file sta diventando più piccolo, dovresti prima uccidere il file che lo eliminaclose #ffileil file ora ha "Nuova riga" in una cosa Ho scoperto che con la funzione put ci sono errori se provi a mettere un carattere comeput #file, 133, chr (1) ' questo sostituisce il carattere al byte 133 con il carattere 1 o esadecimale 0x01 Ho trovato quando l'ho fatto con un programma I lo ha effettivamente aggiunto esadecimale 0x08000100000001 che è dannatamente strano. Ho risolto caricando il file in una variabile e facendo stringa modsi = 133stro = mid(stro, 1, i - 1) & chr(1) & mid(stro, i + 1, len(stro) - i) quindi metti #file, 1, strothis ha funzionato perfettamente

Consigliato: