INHOUDSOPGAWE:

Programmering in VB6: wenke en truuks: 3 stappe
Programmering in VB6: wenke en truuks: 3 stappe

Video: Programmering in VB6: wenke en truuks: 3 stappe

Video: Programmering in VB6: wenke en truuks: 3 stappe
Video: Wilco en de leugendetector | Alles Kids | Afl. 3 2024, Julie
Anonim
Programmering in VB6: wenke en truuks
Programmering in VB6: wenke en truuks

Ek programmeer in my vrye tyd, en is 'n redelik vaardige programmeerder wat VB6 gebruik. Dit is maklik en ek het nog niks gekry wat ek nodig het om dit te bereik nie, maar soms kan dit moeilik wees om u taak uit te voer. Onderweg het ek soveel irriterende dinge gevind, meestal op die manier waarop dit sekere dinge tel. Hier is 'n samevatting van 'n paar dinge wat ek onderweg geleer het. Ek moedig u aan as u probleme ondervind, en ek sal probeer om u te help met meer stappe.

Stap 1: Snare

Snare
Snare

Die manier waarop VB met snare omgaan, is soms verwarrend. Texta = "abcdefg" sit "simbole aan beide kante van die teks wat u as 'n string wil tel. Mid (String, Start, Length) kies 'n teksgedeelte uit 'n stringin strings daar is geen nul begin snare begin by 1textb = mid (texta, 2, 2) dit maak die veranderlike textb = "bc" textb = mid (texta, 4, 4) dit maak die veranderlike textb = "defg" textb = mid (texta, 4, 5) dit maak die veranderlike textb = "defg" Dit is reg as die teks wat u probeer selekteer langer is dan die beskikbare teks wat eindig by die laaste karakter, afhangende van u program, moet u lokvalle plaas om foute te vermy. is so 'n lokval: textb = mid (texta, 4, 5) as len (textb) <5 dan gee 'Len () die lengte van 'n string terug, die <beteken minder dan msgbox "teks is te kort"' Toon 'n boodskapkassie met die subuitgang -sub 'Dit verlaat die sub waarin u is. die kode eindig. as u in 'n funksie is, plaas u exit -funksie en bevestig die plek van 'n karakter in 'n string, ons gebruik instr (Start, Stri ng1, String2) texta = "abcdefg" textb = instr (1, texta, "c") 'dit vind die letter c in string textatextb is nou gelyk aan 3 OPMERKING: Instr gee 0 (nul) terug as dit nie die karakter vind nie REGERING: dit is 'n irriterende sê jy wil hê dat "abcdefg" "defgabc" texta = "abcdefg" textb = mid (texta, 4, 4) en mid (texta, 1, 3) is, dit was nie te erg nie, maar laat ons nou instr. () funksies sê jy wil 'n string by 'n gordynkarakter herorganiseer, maar dit is nie dieselfde plek nie, elke timetexta = "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) let op die deel len (texta) - instr (1, texta, " c ") + 1 omdat instr die karakter tel waarna u op soek is, sodat u een karakter teruggaan, sodat die middel () die karakter wat u soek as die eerste in die stringtextc, nou gelyk is aan" cdefgab "textd = mid (textb, instr (1, textb, "c"), len (textb) - instr (1, textb, "c") + 1) & mid (textb, 1, instr (1, textb, "c") - 1) textd nou gelyk Met "cgfabde" kan u probeer om 'n karakter te vind wat nie in die stringtexta = "abcdefg" textc = mid (texta, instr (1, texta, "h") is nie, len (texta) - instr (1, texta, "h") + 1) & mid (texta, 1, instr (1, texta, "h") - 1) u kry 'n fout omdat die begin deel van Mid () nie = 0 kan wees nie, aangesien snare by 1 begin sodat u die tydsduur moet vermy fout. dit is een manier om ittexta = "abcdefg" te doen as 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) anders 'slegs 'n ander stelling per if situationmsgbox "Kan nie karakter in string vind nie"' 'n boodskapkassie met die stringend ifThis vat omtrent alles op wat u moet weet oor snare

Stap 2: Omskakeling van karakters

Die omskakeling van karakters
Die omskakeling van karakters

HEX: Een wat ek vroeër hierdie week gevind het, het te doen met die Hex (getal) -funksie, die lengte op die getal maak nie saak nie. Dit gee 'n string in hexhex (11111111) terug "A98AC7" as u 'n ascii -karakter omskakel na hex, sou u dotexta = "a" hex (asc (texta)) gee "61" texta = "k" hex (asc (texta)) gee "6B" die string sal 2 karakters vir die meeste ASCI -karakters wees, tensy die onder 'n waarde van 16 is dan gee dit slegs 1 karakter terug as u wil hê dat hulle almal 2 karakters moet wees, wat u soos volg sou doen: textb = hex (asc (texta)) as len (textb) = 1 thentextb = "0" en textb 'dit is 'n nul nie 'n kapitaal oend as

Stap 3: Lêerbewerking

Lêerbewerking
Lêerbewerking

Om 'n lêer oop te maak, benodig u 'n vrye lêer en 'n filenamegfile = FreeFile 'gfile is nou die volgende beskikbare freefilec = "c: / test.txt", dan is daar die vier maniere waarop u 'n fileInput kan oopmaak - u kan slegs lees. Uitset - U kan slegs skryf en dit sal die lêer uitvee as dit bestaan. koetsopgawe en lynvoer laaste karakters Byvoeg - u kan slegs skryf. dit sal by die bestaande lêer gevoeg word. koetsopgawe en lynvoer laaste karakters Binêr - Lees en skryf. baie presies. die enigste wat ek nou gebruik. vir die bou van loglêers en sodanige gebruik, voeg dit die nuwe inskrywing aan die einde van die lêer by. vir meer komplekse loglêers laai die hele lêer in 'n veranderlike en voeg die nuwe inskrywing aan die begin van die file.dim stro as string 'dit is nodig of daar sal 'n errorgfile = FreeFilec = "c: / test.txt" oop c vir binêre wees as #gfile' onthou gfile is 'n getalstro = spasie $ (lof (gfile)) 'As u vir binêre oopmaak, moet u sê hoe groot die lengte van die teks is wat lof (gfile) die lengte van gfile sal teruggee en spasie $ () gee 'n string spasies terug, die lengte van die getal wat u ingevoer het #gfile, 1, stro 'get from file number, start byte, variable om dit op te slaan. en laai slegs die lengte van die veranderlike sluit #gfilestro is nou gelyk aan die lêer test.txt.jy kan inligting in 'n lêer plaas byffile = FreeFilestro = "New line" & VbCrLf & stro 'voeg "New line" by en carraige return en linefeed gevolg deur die oorspronklike textopen c vir binêre as #ffilekill cput #ffile, 1, stro 'put die vorige inligting oorskryf as die lêer kleiner word, moet u die lêer eers doodmaak, wat dit uitvee #ffilethe file has now "New line" in one ding Ek het gevind dat met die put -funksie dat dit foute bevat as u 'n karakter probeer plaas soos #file, 133, chr (1), dit vervang die karakter by byte 133 met karakter 1 of hex 0x01. gemaak dat dit eintlik hex 0x08000100000001 bygevoeg het, wat 'n freakking is. Ek het dit opgelos deur die lêer in 'n veranderlike te laai en string string te doen modsi = 133stro = mid (stro, 1, i - 1) & chr (1) & mid (stro, i + 1, len (stro) - i) en sit dan #bestand, 1, dit werk perfek

Aanbeveel: