Sadržaj:

Programiranje u VB6: Savjeti i trikovi: 3 koraka
Programiranje u VB6: Savjeti i trikovi: 3 koraka

Video: Programiranje u VB6: Savjeti i trikovi: 3 koraka

Video: Programiranje u VB6: Savjeti i trikovi: 3 koraka
Video: Qbasic - osnove programa 2024, Juli
Anonim
Programiranje u VB6: Savjeti i trikovi
Programiranje u VB6: Savjeti i trikovi

Programiram u slobodno vrijeme i prilično sam programer koji koristi VB6. Lako je i još nisam pronašao ništa što mi je potrebno da postignem, a što ne može, iako ponekad može biti nespretno u izvršavanju vašeg zadatka. Usput sam pronašao toliko dosadnih stvari, uglavnom način na koji broji određene stvari. Pa evo kompilacije nekih stvari koje sam usput naučio. Pozivam vas ako imate problema s komentarom i pokušat ću vam pomoći s više koraka.

Korak 1: Gudači

Strings
Strings

Način na koji se VB bavi nizovima ponekad je zbunjujući.texta = "abcdefg" stavi "simbole s obje strane teksta koje želite da se računa kao stringMid (String, Start, Length) odabire dio teksta iz nizova nizova nema nulti početni nizovi počinju na 1textb = mid (texta, 2, 2) ovo čini varijablu textb = "bc" textb = mid (texta, 4, 4) ovo čini varijablu textb = "defg" textb = mid (texta, 4, 5) ovo čini varijablu textb = "defg" To je tačno ako je tekst koji pokušavate odabrati duži od dostupnog teksta koji završava na posljednjem znaku, ovisno o vašem programu, morat ćete postaviti zamke kako biste izbjegli greške. Ovo je takva zamka: textb = mid (texta, 4, 5) ako je len (textb) <5 onda 'Len () vraća dužinu niza <znači manje thenmsgbox "tekst je prekratak"' Prikazuje okvir za poruku sa stringexit sub 'Ovo izlazi iz pod -a u kojem se nalazite. završavajući kôd. ako ste u funkciji, stavili biste izlaznu funkciju i nakon što pronađete mjesto znaka u nizu koristimo instr (Start, Stri ng1, String2) texta = "abcdefg" textb = instr (1, texta, "c") 'ovo nalazi slovo c u nizu textatextb sada jednako 3NAPOMENA: Instr vraća 0 (nula) ako ne pronađe znak REORGANIZING: ovo je dosadni su oni koji kažu da želite da "abcdefg" bude "defgabc" texta = "abcdefg" textb = mid (texta, 4, 4) & mid (texta, 1, 3) To nije bilo loše, ali sada dodajmo instr. () funkcijeda želite reorganizirati niz u znaku zavjese, ali to nije isto mjesto svaki puttexta = "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) obratite pažnju na dio len (texta) - instr (1, texta, " c ") + 1 jer instr broji znak koji tražite pa se vratite jedan znak unatrag pa mid () uzima znak koji tražite kao prvi u stringtextc sada jednak" cdefgab "textd = mid (textb, instr (1, textb, "c"), len (textb) - instr (1, textb, "c") + 1) & mid (textb, 1, instr (1, textb, "c") - 1) textd sada equa ls "cgfabde" pokušajmo pronaći znak koji nije u stringtexta = "abcdefg" textc = mid (texta, instr (1, texta, "h"), len (texta) - instr (1, texta, "h") + 1) & mid (texta, 1, instr (1, texta, "h") - 1) dobijate grešku jer početni dio Mid () ne može = 0 jer nizovi počinju na 1 pa morate izbjegavati vrijeme izvođenja greška. ovo je jedan od načina da to učinitetexta = "abcdefg" ako je 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 'samo jedna druga naredba prema if Situationmsgbox "Cannot find character in string"' prikazuje okvir za poruku sa stringend ifThis sumira gotovo sve što trebate znati o nizovima

Korak 2: Pretvaranje znakova

Pretvaranje znakova
Pretvaranje znakova

HEX: Jedan koji sam otkrio ranije ove sedmice ima veze sa Hex (number) funkcijom, dužina broja nije bitna. Vraća string u hexhex -u (11111111) vraća "A98AC7" prilikom pretvaranja ascii znaka u hex, dotexta bi = "a" hex (asc (texta)) vraća "61" texta = "k" hex (asc (texta)) vraća "6B" niz će biti 2 znaka za većinu ASCI znakova, osim ako su ispod vrijednosti 16 tada vraća samo 1 znak ako želite da svi budu 2 znaka što biste učinili na sljedeći način: textb = hex (asc (texta)) ako je len (textb) = 1 thentextb = "0" i textb 'koji je nula a ne a kapital i ako

Korak 3: Uređivanje datoteka

Uređivanje datoteka
Uređivanje datoteka

za otvaranje datoteke potrebna vam je besplatna datoteka i naziv datotekegfile = FreeFile 'gfile je sada sljedeći slobodni filefilec = "c: / test.txt", onda postoje 4 načina na koja možete otvoriti fileInput - Možete samo čitati. Izlaz - Možete pisati samo i izbrisat će datoteku ako postoji. carriage return i linefeed zadnji znak Dodati - Možete samo pisati. dodat će se u postojeću datoteku. carriage return i linefeed zadnji znakoviBinary - Čitajte i pišite. veoma precizno. jedini koji sada koristim. za izgradnju datoteka dnevnika i dodavanje takve upotrebe dodat će novi unos na kraj datoteke. za složenije datoteke dnevnika učitati cijelu datoteku u varijablu i dodati novi unos na početak datoteke file.dim stro kao string 'ovo je potrebno ili će doći do errorgfile = FreeFilec = "c: / test.txt" open c za binarni kao #gfile' zapamtite gfile je numberstro = space $ (lof (gfile)) 'prilikom otvaranja binarnog zapisa morate reći koliko je dugačak tekst koji želite uzeti lof (gfile) vratiti dužinu gfile -a, a razmak $ () vraća niz razmaka dužine broja koji unesete #gfile, 1, stro 'dobiti iz broja datoteke, početni bajt, varijablu za spremanje. i učitava samo duljinu varijableclose #gfilestro sada je jednaka datoteci test.txt.možete staviti podatke u datoteku byffile = FreeFilestro = "Nova linija" & VbCrLf & stro 'dodaje "Nova linija" i povratak i unos redaka nakon čega slijedi originalni textopen c za binarni oblik kao #ffilekill cput #ffile, 1, stro 'put prepisuje prethodne informacije ako se datoteka smanjuje, prvo morate ubiti datoteku koja je briše Zatvori #ffiledatoteka sada ima "Novi red" u jednoj stvari Otkrio sam s funkcijom put da ima greške ako pokušate staviti znak kao što jeput #ffile, 133, chr (1) 'ovo zamjenjuje znak u bajtu 133 sa znakom 1 ili hex 0x01 Našao sam kada sam to učinio s jednim programom učinio da je zapravo dodan hex 0x08000100000001 što je strašno čudno. Riješio sam to tako što sam učitao datoteku u varijablu i napravio string modsi = 133stro = mid (stro, 1, i - 1) & chr (1) & mid (stro, i + 1, len (stro) - i), a zatim stavio #ffile, 1, ovo je savršeno funkcioniralo

Preporučuje se: