Satura rādītājs:

Programmēšana VB6: padomi un triki: 3 soļi
Programmēšana VB6: padomi un triki: 3 soļi

Video: Programmēšana VB6: padomi un triki: 3 soļi

Video: Programmēšana VB6: padomi un triki: 3 soļi
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Jūlijs
Anonim
Programmēšana VB6: padomi un triki
Programmēšana VB6: padomi un triki

Es programmēju brīvajā laikā un esmu diezgan prasmīgs programmētājs, izmantojot VB6. Tas ir viegli, un man vēl ir jāatrod viss, kas man vajadzīgs, lai to paveiktu, bet tas nav iespējams, lai gan dažreiz jūsu uzdevuma izpilde var būt smalka. Pa ceļam es atklāju tik daudz kaitinošu lietu, galvenokārt tā, kā tajā tiek skaitītas noteiktas lietas. Tātad, šeit ir apkopota informācija par dažām lietām, ko es uzzināju. Es aicinu jūs, ja jums ir kādas problēmas, komentēt, un es centīšos palīdzēt ar vairākām darbībām.

1. solis: Stīgas

Stīgas
Stīgas

Veids, kā VB rīkojas ar virknēm, dažreiz ir mulsinošs.texta = "abcdefg" ielieciet "simbolus abās teksta pusēs, kuras vēlaties uzskaitīt kā virkniMid (virkne, sākums, garums) izvēlas teksta sadaļu no virkņu virknēm. nulles sākuma virknes sākas ar 1textb = mid (texta, 2, 2), tāpēc mainīgais textb = "bc" textb = mid (texta, 4, 4) padara mainīgo textb = "defg" textb = mid (texta, 4, 5) tas padara mainīgo textb = "defg" Tas ir pareizi, ja teksts, kuru mēģināt atlasīt, ir garāks nekā pieejamais teksts, kas beidzas ar pēdējo rakstzīmi atkarībā no jūsu programmas, lai izvairītos no kļūdām, jums būs jāievieto slazdi. ir tāds slazds: textb = mid (texta, 4, 5) ja len (textb) <5, tad 'Len () atgriež virknes garumu <nozīmē mazāk tadmsgbox "teksts ir pārāk īss"' Parāda ziņojumu lodziņu ar stringexit sub 'Tas iziet no apakšgrupas, kurā atrodaties. Beidzot kodu. ja atrodaties funkcijā, tad ievietojat iziešanas funkciju, lai atrastu rakstzīmes vietu virknē, izmantojot instr (Start, Stri ng1, virkne2) texta = "abcdefg" textb = instr (1, texta, "c") 'tas atrod burtu c virknē textatextb tagad ir vienāds ar 3 PIEZĪME. Instr atgriež 0 (nulle), ja neatrod rakstzīmi REORGANIZING: kaitinošs, sakot, ka vēlaties, lai "abcdefg" būtu "defgabc" texta = "abcdefg" textb = mid (texta, 4, 4) un mid (texta, 1, 3) Tas nebija pārāk slikti, bet tagad ļaujiet pievienot instrukciju () funkcijasJa vēlaties pārkārtot virkni ar aizkaru rakstzīmi, bet tā nav viena un tā pati vieta.) - instr (1, texta, "c") + 1) & mid (texta, 1, instr (1, texta, "c") - 1) atzīmējiet daļu len (texta) - instr (1, texta, " c ") + 1, jo instr saskaita meklēto rakstzīmi, lai jūs atgrieztos vienu rakstzīmi atpakaļ, lai vidus () uzskatītu rakstzīmi par pirmo teksta virknēcc tagad ir vienāds ar" cdefgab "textd = mid (textb, instr (1, textb, "c"), len (textb) - instr (1, textb, "c") + 1) & mid (textb, 1, instr (1, textb, "c") - 1) textd tagad vienāds ls "cgfabde" ļauj mēģināt atrast rakstzīmi, kuras nav stringtexta = "abcdefg" textc = mid (texta, instr (1, texta, "h"), len (texta) - instr (1, texta, "h")) + 1) & mid (texta, 1, instr (1, texta, "h") - 1) jūs saņemat kļūdu, jo Mid () sākuma daļa nevar būt = 0, jo virknes sākas ar 1, tāpēc jums ir jāizvairās no izpildlaika kļūda. tas ir viens no veidiem, kā to izdarīt, "h") + 1) & mid (texta, 1, instr (1, texta, "h") - 1) else 'tikai viens cits paziņojums, ja situācijā msgbox "Nevar atrast rakstzīmi virknē"' parāda ziņojumu lodziņu ar stringend ifTas apkopo gandrīz visu, kas jums jāzina par stīgām

2. darbība: rakstzīmju konvertēšana

Rakstzīmju konvertēšana
Rakstzīmju konvertēšana

HEX: Viens, ko es atradu šīs nedēļas sākumā, ir saistīts ar Hex (skaitlis) funkciju, skaitļa garumam nav nozīmes. Tā atgriež virkni hexhex (11111111) atgriež "A98AC7", konvertējot ascii rakstzīmi hex, jūs dotexta = "a" hex (asc (texta)) atgriež "61" texta = "k" hex (asc (texta)) atgriež "6B" virkne būs 2 rakstzīmes MOST no ASCI rakstzīmēm, ja vien tās nav zemākas par 16 tad tas atgriež tikai 1 rakstzīmi, ja vēlaties, lai tās visas būtu 2 rakstzīmes, rīkojieties šādi: textb = hex (asc (texta)), ja len (textb) = 1 thentextb = "0" un textb ', kas ir nulle, nevis a kapitāla oend, ja

3. darbība: failu rediģēšana

Failu rediģēšana
Failu rediģēšana

lai atvērtu failu, jums ir nepieciešams bezmaksas fails, un faila nosaukumsgfile = FreeFile 'gfile tagad ir nākamais pieejamais freefilec = "c: / test.txt", tad ir 4 veidi, kā atvērt failuInput - Jūs varat tikai lasīt. Izvade - jūs varat rakstīt tikai, un tas izdzēsīs failu, ja tas pastāv. ratiņu atgriešanās un rindas padeves pēdējās rakstzīmesPielikt - Jūs varat tikai rakstīt. tas tiks pievienots esošajam failam. karietes atgriešana un rindas padeves pēdējās rakstzīmes Binārā - lasiet un rakstiet. ļoti precīzs. vienīgais, ko tagad izmantoju. žurnālfailu veidošanai un šādam lietojuma pielikumam tas pievienos jaunu ierakstu faila beigās. sarežģītākiem žurnālfailiem ielādējiet visu failu mainīgajā un pievienojiet jauno ierakstu sākumam file.dim stro kā as 'string' tas ir nepieciešams vai būs kļūdagfile = FreeFilec = "c: / test.txt" open c binary kā #gfile 'atcerieties gfile is a numberstro = space $ (lof (gfile)) 'atverot binārajam, jums jāpasaka, cik liels teksta garums ir lof (gfile) atgriež gfile garumu un atstarpe $ () atgriež atstarpju virkni, kas atbilst ievadītā skaitļa garumamget #gfile, 1, stro 'iegūt no faila numura, sākot baitu, mainīgo, lai to saglabātu. un ielādē tikai mainīgā close #gfilestro garumu tagad ir vienāds ar failu test.txt. informāciju var ievietot failā byffile = FreeFilestro = "Jauna rinda" un VbCrLf & stro 'pievieno "Jauna rinda", kā arī atgriešanās un līnijas plūsma kam seko oriģinālais teksta atvērums c binārajam formātam kā #ffilekill cput #file, 1, stro 'put pārraksta iepriekšējo informāciju, ja fails kļūst mazāks, vispirms ir jānogalina fails, kas to izdzēš slēgt #ffilethe failā tagad ir "Jauna rinda" Es atklāju, ka, izmantojot funkciju put, ir kļūdas, ja mēģināt ievietot rakstzīmi likeput #ffile, 133, chr (1) "tas aizstāj rakstzīmi baitos 133 ar rakstzīmi 1 vai hex 0x01 padarīja to faktiski pievieno hex 0x08000100000001, kas ir freaking wierd. Es to atrisināju, ielādējot failu mainīgajā un veicot virkni modsi = 133stro = mid (stro, 1, i - 1) & chr (1) & mid (stro, i + 1, len (stro) - i), tad ielieciet #fails, 1, strothis strādāja perfekti

Ieteicams: