Innholdsfortegnelse:

Programmering i VB6: Tips og triks: 3 trinn
Programmering i VB6: Tips og triks: 3 trinn

Video: Programmering i VB6: Tips og triks: 3 trinn

Video: Programmering i VB6: Tips og triks: 3 trinn
Video: 8 инструментов в Excel, которыми каждый должен уметь пользоваться 2024, November
Anonim
Programmering i VB6: Tips og triks
Programmering i VB6: Tips og triks

Jeg programmerer på fritiden, og er en ganske dyktig programmerer som bruker VB6. Det er enkelt, og jeg har ennå ikke funnet noe jeg trenger for å oppnå det, men det kan noen ganger være vanskelig å utføre oppgaven din. Underveis fant jeg så mange irriterende ting stort sett måten den teller visse ting på. Så her er en samling av noen ting jeg lærte underveis. Jeg oppfordrer deg hvis du har problemer med å kommentere, og jeg skal prøve å hjelpe deg med flere trinn.

Trinn 1: Strenger

Strenger
Strenger

Måten VB håndterer strenger på er forvirrende noen ganger. Texta = "abcdefg" put "-symboler på begge sider av teksten du vil regnes som en stringMid (String, Start, Length) velger en tekstdel fra en stringin -strenger det er ingen null startstrenger starter ved 1textb = mid (texta, 2, 2) dette gjør variabelen textb = "bc" textb = mid (texta, 4, 4) dette gjør variabelen textb = "defg" textb = mid (texta, 4, 5) dette gjør variabelen textb = "defg" Det er riktig hvis teksten du prøver å velge er lengre enn den tilgjengelige teksten den ender med det siste tegnet, avhengig av programmet ditt, må du plassere feller for å unngå feil. Dette er en slik felle: textb = mid (texta, 4, 5) hvis len (textb) <5 da 'Len () returnerer lengden på en streng betyr <mindre dan msgbox "tekst er for kort"' Viser en meldingsboks med stringexit sub 'This exit the sub you are in. ending the code. if you are in a function then you would put exit functionend iffinding the place of a character in a stringwe use instr (Start, Stri ng1, String2) texta = "abcdefg" textb = instr (1, texta, "c") 'dette finner bokstaven c i strengen textatextb er nå lik 3 MERK: Instr returnerer 0 (null) hvis den ikke finner karakteren REORGANIZING: dette er en irriterende ensay du vil at "abcdefg" skal være "defgabc" texta = "abcdefg" textb = mid (texta, 4, 4) & mid (texta, 1, 3) Det var ikke så ille, men nå kan vi legge til i instr () funksjoneray du vil omorganisere en streng ved et gardintegn, men det er ikke det samme stedet 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) merk delen len (texta) - instr (1, texta, " c ") + 1 fordi instr teller tegnet du leter etter, så du går ett tegn tilbake, så midten () tar tegnet du ser etter som det første i stringtextc nå" cdefgab "textd = mid (textb, instr (1, textb, "c"), len (textb) - instr (1, textb, "c") + 1) & mid (textb, 1, instr (1, textb, "c") - 1) textd nå equa ls "cgfabde" lar oss prøve å finne et tegn som ikke er i stringtexta = "abcdefg" textc = mid (texta, instr (1, texta, "h"), len (texta) - instr (1, texta, "h") + 1) & mid (texta, 1, instr (1, texta, "h") - 1) du får en feil fordi startdelen av Mid () ikke kan = 0 siden strenger starter på 1så må du unngå kjøretiden feil. dette er en måte å gjøre ittexta = "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 'bare en annen setning per if situationmsgbox "Kan ikke finne tegn i streng"' viser en meldingsboks med stringend ifThis oppsummerer stort sett alt du trenger å vite om strenger

Trinn 2: Konvertering av tegn

Konvertering av tegn
Konvertering av tegn

HEX: En jeg fant tidligere denne uken har å gjøre med Hex (tall) -funksjonen, lengden på tallet spiller ingen rolle. Den returnerer en streng i hexhex (11111111) returnerer "A98AC7" når du konverterer et ascii -tegn til hex du ville dotexta = "a" hex (asc (texta)) returnerer "61" texta = "k" hex (asc (texta)) returnerer "6B" strengen vil være 2 tegn for de fleste ASCI -tegnene med mindre de er under verdien 16 da returnerer det bare 1 tegn hvis du vil at de alle skal være 2 tegn du vil gjøre som følger: textb = hex (asc (texta)) hvis len (textb) = 1 thentextb = "0" og textb 'som er et null ikke et kapital oend hvis

Trinn 3: Filredigering

Filredigering
Filredigering

for å åpne en fil trenger du en freefile og en filenamegfile = FreeFile 'gfile er nå den neste tilgjengelige freefilec = "c: / test.txt" så er det de fire måtene du kan åpne en fileInput - Du kan bare lese. Utdata - Du kan bare skrive, og den vil slette filen hvis den finnes. vognretur og linjeskift siste tegnLegg til - Du kan bare skrive. den vil legge til den eksisterende filen. vognretur og linefeed siste tegnBinær - Les og skriv. veldig presis. den eneste jeg bruker nå. for å bygge loggfiler og slik bruk legge til, vil den legge den nye oppføringen til slutten av filen. for mer komplekse loggfiler laster du hele filen inn i en variabel og legger den nye oppføringen til begynnelsen av filen.dim stro som streng 'dette er nødvendig, eller det vil være en errorgfile = FreeFilec = "c: / test.txt" åpen c for binær som #gfile' husk gfile er en numberstro = space $ (lof (gfile)) 'Når du åpner for binær, må du fortelle hvor stor lengden på teksten du vil ta er lof (gfile) vil returnere lengden på gfile og mellomrom $ () returnerer en streng med mellomrom lengden på tallet du skriver inn #gfile, 1, stro 'get from file number, starting byte, variable to save it to. og laster bare lengden på variabelen lukk #gfilestro nå er lik filen test.txt.you kan legge informasjon til en fil byffile = FreeFilestro = "Ny linje" & VbCrLf & stro 'legger til "Ny linje" og carraige retur og linefeed etterfulgt av den originale tekstopen c for binær som #ffilekill cput #ffile, 1, stro 'put overskriver tidligere informasjon hvis filen blir mindre, bør du drepe filen først som sletter denclose #ffilethe filen har nå "Ny linje" i en ting Jeg fant med put -funksjonen at den har feil hvis du prøver å sette et tegn likeput #ffile, 133, chr (1) 'dette erstatter tegnet i byte 133 med tegn 1 eller hex 0x01Jeg fant da jeg gjorde dette med ett program I gjorde det faktisk lagt til hex 0x08000100000001 som er fryktelig rar. Jeg løste dette ved å laste filen til en variabel og gjøre streng modsi = 133stro = mid (stro, 1, i - 1) & chr (1) & mid (stro, i + 1, len (stro) - i) og legg deretter #ffile, 1, strothis fungerte perfekt

Anbefalt: