Indholdsfortegnelse:

Programmering i VB6: Tips og tricks: 3 trin
Programmering i VB6: Tips og tricks: 3 trin

Video: Programmering i VB6: Tips og tricks: 3 trin

Video: Programmering i VB6: Tips og tricks: 3 trin
Video: These 3 tips will help you learn code FASTER 👩‍💻 #technology #programming #software #career 2024, Juli
Anonim
Programmering i VB6: Tips og tricks
Programmering i VB6: Tips og tricks

Jeg programmerer i min fritid, og er en temmelig dygtig programmør, der bruger VB6. Det er let, og jeg har endnu ikke fundet noget, jeg har brug for det for at opnå, som det ikke kan, selvom det nogle gange kan være svært at udføre din opgave. Undervejs fandt jeg så mange irriterende ting mest den måde, det tæller bestemte ting på. Så her er en samling af nogle ting, jeg lærte undervejs. Jeg opfordrer dig, hvis du har problemer med at kommentere, og jeg vil prøve at hjælpe med flere trin.

Trin 1: Strenge

Strenge
Strenge

Den måde, VB behandler strenge på er forvirrende nogle gange. Texta = "abcdefg" put "symboler på begge sider af teksten, du vil tælle som en stringMid (streng, start, længde) vælger et tekstafsnit fra en strengstreng, der er ingen nul startstrenge starter ved 1textb = mid (texta, 2, 2) dette gør variablen textb = "bc" textb = mid (texta, 4, 4) dette gør variablen textb = "defg" textb = mid (texta, 4, 5) dette gør variablen textb = "defg" Det er rigtigt, hvis den tekst, du forsøger at markere, er længere end den tilgængelige tekst, den ender med den sidste karakter, afhængig af dit program, skal du placere fælder for at undgå fejl. Dette er sådan en fælde: textb = mid (texta, 4, 5) hvis len (textb) <5 derefter 'Len () returnerer længden af en streng betyder <mindre dan msgbox "tekst er for kort"' Viser en meddelelsesboks med stringexit sub 'Dette forlader suben du befinder dig i. afslutter koden. hvis du er i en funktion, så ville du sætte exit functionend iffinding stedet for et tegn i en streng vi bruger instr (Start, Stri ng1, String2) texta = "abcdefg" textb = instr (1, texta, "c") 'dette finder bogstavet c i strengen textatextb er nu lig med 3BEMÆRK: Instr returnerer 0 (nul), hvis det ikke finder tegnetREORGANISERING: dette er en irriterende en, du vil have, at "abcdefg" skal være "defgabc" texta = "abcdefg" textb = mid (texta, 4, 4) & mid (texta, 1, 3) Det var ikke så slemt, men nu kan vi tilføje i instr () funktioneray du vil omorganisere en streng ved et gardintegn, men det er ikke det samme sted 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) bemærk delen len (texta) - instr (1, texta, " c ") + 1 fordi instr tæller det tegn, du leder efter, så du går et tegn tilbage, så midten () tager det tegn, du leder efter, som det første i stringtextc nu er lig med" cdefgab "textd = mid (textb, instr (1, textb, "c"), len (textb) - instr (1, textb, "c") + 1) & mid (textb, 1, instr (1, textb, "c") - 1) textd nu ækv ls "cgfabde" lader os prøve at finde et tegn, der 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 fejl, fordi startdelen af Mid () ikke kan = 0, da strenge starter ved 1, så du skal undgå runtime fejl. dette er en måde at gø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 'kun en anden sætning pr hvis situation msgbox "Kan ikke finde tegn i streng"' viser en meddelelsesboks med stringend ifThis opsummerer stort set alt hvad du behøver at vide om strenge

Trin 2: Konvertering af tegn

Konvertering af tegn
Konvertering af tegn

HEX: En, jeg fandt tidligere på ugen, har at gøre med funktionen Hex (tal), længden på tallet er ligegyldigt. 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 -tegn, medmindre de er under værdien 16 så returnerer det kun 1 tegn, hvis du vil have dem alle til at være 2 tegn, du ville gøre som følger: textb = hex (asc (texta)) hvis len (textb) = 1 thentextb = "0" og textb ', der er et nul ikke et kapital oend hvis

Trin 3: Filredigering

Filredigering
Filredigering

for at åbne en fil har du brug for en freefile og en filenamegfile = FreeFile 'gfile er nu den næste tilgængelige freefilec = "c: / test.txt", så er der de 4 måder, du kan åbne en fileInput - Du kan kun læse. Output - Du kan kun skrive, og den sletter filen, hvis den findes. vognretur og liniefoder sidste tegnTilføj - Du kan kun skrive. det tilføjes til den eksisterende fil. vognretur og liniefoder sidste tegnBinære - Læs og skriv. meget præcis. den eneste, jeg bruger nu. til opbygning af logfiler og sådan brug tilføjer det, tilføjer den nye post til slutningen af filen. for mere komplekse logfiler indlæser hele filen i en variabel og tilføjer den nye post til begyndelsen af filen.dim stro som streng 'dette er nødvendigt, eller der vil være en errorgfile = FreeFilec = "c: / test.txt" åben c for binær som #gfile' husk gfile er en numberstro = space $ (lof (gfile)) 'Når du åbner for binært, skal du fortælle, hvor stor den tekstlængde, du vil tage, er lof (gfile), vil returnere længden af gfile, og mellemrum $ () returnerer en række mellemrum længden af det nummer, du indtaster #gfile, 1, stro 'get fra filnummer, startbyte, variabel for at gemme det til. og indlæser kun længden af variablenlukk #gfilestro nu er lig med filen test.txt.du kan lægge oplysninger til en fil byffile = FreeFilestro = "Ny linje" & VbCrLf & stro 'tilføjer "Ny linje" og carraige return og linefeed efterfulgt af den originale textopen c for binær som #ffilekill cput #ffile, 1, stro 'put overskriver tidligere oplysninger, hvis filen bliver mindre, skal du dræbe filen først, hvilket sletter den # #filet filen har nu "Ny linje" i sig en ting Jeg fandt med put -funktionen, at den har fejl, hvis du forsøger at sætte et tegn som f.eks. #Fil, 133, chr (1) 'dette erstatter tegnet ved byte 133 med tegn 1 eller hex 0x01I fundet, da jeg gjorde dette med et program I gjorde det faktisk tilføjet hex 0x08000100000001, som er vanvittig mærkeligt. Jeg løste dette ved at indlæse filen til en variabel og lave streng modsi = 133stro = mid (stro, 1, i - 1) & chr (1) & mid (stro, i + 1, len (stro) - i) derefter sætte #ffile, 1, strothis fungerede perfekt

Anbefalede: