2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Programmeerin vabal ajal ja olen VB6 abil üsna vilunud programmeerija. See on lihtne ja ma pean veel leidma midagi, mida vajan, et seda saavutada, kuid seda ei saa teha, kuigi mõnikord võib teie ülesande täitmine olla keeruline. Teel leidsin nii palju tüütuid asju enamasti sellest, kuidas see teatud asju loeb. Nii et siin on koondatud mõned asjad, mida ma teel õppisin. Kui teil on probleeme, kutsun teid üles kommenteerima ja proovin teid aidata.
Samm: stringid
See, kuidas VB stringidega tegeleb, on mõnikord segane.texta = "abcdefg" pane "sümbolid teksti mõlemale poolele, mida soovite lugeda stringina null algusstringe algavad 1textb = keskel (texta, 2, 2), see muudab muutuja tekstib = "bc" textb = mid (texta, 4, 4), mis muudab muutuja textb = "defg" textb = mid (texta, 4, 5) see muudab muutuja textb = "defg" See on õige, kui tekst, mida proovite valida, on pikem kui saadaval olev tekst, mis lõpeb viimase tähemärgiga, sõltuvalt teie programmist, peate vigade vältimiseks paigutama lõksud. See on selline lõks: textb = mid (texta, 4, 5) kui len (textb) <5 siis 'Len () tagastab stringi pikkuse <tähendab vähem siismsgbox "tekst on liiga lühike"' Näitab sõnumikasti stringexit alam "See väljub alamast, kus sa oled. Lõpetab koodi. kui oled funktsioonis, siis paned väljumisfunktsiooni, leidmaks märgi koha stringis, kasuta instr (Start, Stri ng1; tüütu, öeldes, et soovite, et "abcdefg" oleks "defgabc" texta = "abcdefg" textb = mid (texta, 4, 4) ja mid (texta, 1, 3) See polnud väga halb, kuid lisame nüüd juhendi () funktsioonid, kui soovite stringi kardina tähemärgi ümber korraldada, kuid see ei ole sama koht alati.) - instr (1, texta, "c") + 1) & mid (texta, 1, instr (1, texta, "c") - 1) märkige osa len (texta) - instr (1, texta, " c ") + 1, sest instr loendab otsitavat tegelast, nii et lähete ühe tähemärgi võrra tagasi, nii et mid () võtab otsitava märgi stringtextc esimesena, nüüd võrdub" 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üüd võrdne ls "cgfabde" proovib leida märgi, mida stringis ei ole = "abcdefg" textc = mid (texta, instr (1, texta, "h"), len (texta) - instr (1, texta, "h")) + 1) & mid (texta, 1, instr (1, texta, "h") - 1) saate vea, kuna Mid () algusosa ei saa olla = 0, kuna stringid algavad 1 -st, seega peate vältima tööaega viga. see on üks viis seda teha, "h") + 1) & mid (texta, 1, instr (1, texta, "h") - 1) else "ainult üks muu avaldus iga olukorra kohta" stringend ifSee võtab kokku peaaegu kõik, mida peate stringide kohta teadma
2. samm: tähemärkide teisendamine
HEX: Üks, mille ma selle nädala alguses leidsin, on seotud kuueteistkümnendiku (number) funktsiooniga, mille pikkus numbril ei ole oluline. See tagastab heksakujulise stringi (11111111) tagastab "A98AC7", kui teisendate ascii -tähe heksadeks, mida te dotextaks = "a" hex (asc (texta)) tagastab "61" texta = "k" hex (asc (texta)) tagastab "6B" string on 2 tähemärki MASTI ASCI tähemärkide kohta, kui need pole alla 16 siis tagastab see ainult 1 märgi, kui soovite, et need kõik oleksid 2 tähemärki, toimige järgmiselt: textb = hex (asc (texta)), kui len (textb) = 1 thentextb = "0" ja textb ', mis on null, mitte a kapitali oend, kui
Samm: faili redigeerimine
faili avamiseks vajate freefile'i ja failinimigfile = FreeFile 'gfile on nüüd järgmine vaba freefilec = "c: / test.txt", siis on faili avamiseks neli võimalustInput - saate ainult lugeda. Väljund - saate ainult kirjutada ja see kustutab faili, kui see on olemas. käru tagasitulek ja liinitoite viimased märgidAppend - saate ainult kirjutada. see lisab olemasolevale failile. käru tagasipöördumine ja liinitoite viimased märgidBinaarne - lugemine ja kirjutamine. väga täpne. ainus, mida ma praegu kasutan. logifailide ehitamiseks ja sellise kasutamise lisamiseks lisab see uue kirje faili lõppu. keerukamate logifailide korral laadige kogu fail muutuja sisse ja lisage uus kirje faili algusesse file.dim stro kui string 'see on vajalik või ilmneb tõrge 'binaariks avamisel peate ütlema, kui suure teksti pikkus on lof (gfile) tagastab gfile'i pikkuse ja tühik $ () tagastab tühikute jada teie sisestatud arvu pikkuse järgi #gfile, 1, stro 'saada faili numbrist, alustades baidist, muutuja, kuhu see salvestada. ja laadib ainult muutuja close #gfilestro pikkus on praegu võrdne failiga test.txt. Te saate faili faili teavet panna byffile = FreeFilestro = "Uus rida" ja VbCrLf & stro 'lisab "Uus rida" ning lisab "tagasirida" ja "linefeed" millele järgneb algne tekstiavaja c binaariks kui #ffilekill cput #ffile, 1, stro 'put kirjutab varasema teabe üle, kui fail muutub väiksemaks, peaksite faili kõigepealt tapma, mis kustutab selle sulgege #ffilethe failil on nüüd üksus Leidsin put -funktsiooniga, kas sellel on vigu, kui proovite sisestada märgi naguput #file, 133, chr (1) "see asendab baiti 133 märgi tähemärgiga 1 või hex -ga 0x01. Leidsin selle ühe programmiga pani selle tegelikult lisama hex 0x08000100000001, mis on hullumeelne. Lahendasin selle, laadides faili muutujale ja tehes stringi modsi = 133stro = mid (stro, 1, i - 1) & chr (1) & mid (stro, i + 1, len (stro) - i), seejärel panin #fail, 1, stroth töötas suurepäraselt