Съдържание:

Програмиране във VB6: Съвети и трикове: 3 стъпки
Програмиране във VB6: Съвети и трикове: 3 стъпки

Видео: Програмиране във VB6: Съвети и трикове: 3 стъпки

Видео: Програмиране във VB6: Съвети и трикове: 3 стъпки
Видео: Малко познати функции и клавишни комбинации в Еxcel 2024, Юли
Anonim
Програмиране във VB6: Съвети и трикове
Програмиране във VB6: Съвети и трикове

Аз програмирам в свободното си време и съм доста опитен програмист, използващ VB6. Лесно е и все още не съм намерил всичко, от което се нуждая, за да постигна това, което не може, макар че понякога може да е неудобно да изпълни задачата си. По пътя открих толкова много досадни неща, най -вече начина, по който брои определени неща. Ето една компилация от някои неща, които научих по пътя. Призовавам ви, ако имате проблеми, коментирайте и ще се опитам да помогна с още стъпки.

Стъпка 1: Струни

Струни
Струни

Начинът, по който VB се справя с низове, понякога е объркващ.texta = "abcdefg" поставете "символи от двете страни на текста, който искате да се брои като stringMid (String, Start, Length) избира секция от текст от низ от низове нулевите начални низове започват от 1textb = mid (texta, 2, 2) това прави променливата textb = "bc" textb = mid (texta, 4, 4) това прави променливата textb = "defg" textb = mid (texta, 4, 5) това прави променливата textb = "defg" Това е правилно, ако текстът, който се опитвате да изберете, е по -дълъг от наличния текст, който завършва на последния знак в зависимост от вашата програма, ще трябва да поставите капани, за да избегнете грешки. Това е такъв капан: textb = mid (texta, 4, 5) if len (textb) <5 then 'Len () връща дължината на низ <означава по -малко thenmsgbox "text is too short"' Показва съобщение с stringexit sub 'Това излиза от подфайла, в който се намирате. завършването на кода. ако сте във функция, бихте поставили функцията за изход и след като установите мястото на даден знак в низ използваме instr (Start, Stri ng1, String2) texta = "abcdefg" textb = instr (1, texta, "c") 'това намира буквата c в низ textatextb сега е равна на 3 ЗАБЕЛЕЖКА: Instr връща 0 (нула), ако не намери символа REORGANIZING: това е досаден, кажете, че искате "abcdefg" да бъде "defgabc" texta = "abcdefg" textb = mid (texta, 4, 4) & mid (texta, 1, 3) Това не беше толкова лошо, но сега нека добавим instr () функции, ако искате да реорганизирате низ в знак на завеса, но това не е едно и също място всеки пътtexta = "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) отбележете частта len (texta) - instr (1, texta, " c ") + 1, защото instr брои търсения от вас знак, така че се връщате с един знак назад, така че mid () приема символа, който търсите, като първи в stringtextc сега е равен на" cdefgab "textd = mid (textb, instr (1, textb, "c"), len (textb) - instr (1, textb, "c") + 1) & mid (textb, 1, instr (1, textb, "c") - 1) текстово сега equa ls "cgfabde" позволява да се опитаме да намерим символ, който не е в stringtexta = "abcdefg" textc = mid (texta, instr (1, texta, "h"), len (texta) - instr (1, texta, "h") + 1) & mid (texta, 1, instr (1, texta, "h") - 1) получавате грешка, защото началната част на Mid () не може = 0, тъй като низовете започват от 1, така че трябва да избягвате времето за изпълнение грешка. това е един от начините да го направитеtexta = "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 'само едно друго изявление, ако в ситуациятаmsgbox "Не мога да намеря символ в низ"' показва поле за съобщение с stringend ifThis обобщава почти всичко, което трябва да знаете за низовете

Стъпка 2: Преобразуване на знаци

Преобразуване на символи
Преобразуване на символи

HEX: Един, който открих по -рано тази седмица, е свързан с функцията Hex (число), дължината на числото няма значение. Връща низ в шестнадесетичен (11111111) връща "A98AC7", когато преобразувате знак ascii в шестнадесетичен, бихте дотекста = "a" шестнадесетичен (asc (texta)) връща "61" texta = "k" шестнадесетичен (asc (texta)) връща "6B" низът ще бъде 2 знака за повечето от ASCI символите, освен ако са под стойност 16 тогава той връща само 1 знак, ако искате всички те да са 2 знака, бихте направили, както следва: textb = hex (asc (texta)), ако len (textb) = 1 thentextb = "0" и textb ', който е нула, а не капитал и ако

Стъпка 3: Редактиране на файлове

Редактиране на файлове
Редактиране на файлове

за да отворите файл, имате нужда от безплатен файл и име на файл Изход - Можете да пишете и той ще изтрие файла, ако съществува. възвръщане на каретка и последно въвеждане на ред LineAppend - Можете само да пишете. ще се добави към съществуващия файл. връщане на каретка и последно въвеждане на ред Двоично - Четене и запис. много прецизно. единственият, който използвам сега. за изграждане на лог файлове и подобна употреба добавя, той ще добави новия запис в края на файла. за по -сложни регистрационни файлове зарежда целия файл в променлива и добавя новия запис в началото на file.dim stro като низ "това е необходимо или ще има грешка gfile = FreeFilec =" c: / test.txt "отворен c за двоичен файл като #gfile 'запомнете gfile е числостро = интервал $ (lof (gfile)) "при отваряне на двоичен файл трябва да кажете колко голяма е дължината на текста, който искате да вземете, lof (gfile) ще върне дължината на gfile и интервал $ () връща низ от интервали дължината на въведеното от вас число #gfile, 1, stro 'get от номера на файла, начален байт, променлива, в която да го запишете. и зарежда само дължината на променливата close #gfilestro сега е равна на файла test.txt. можете да поставите информация във файл byffile = FreeFilestro = "Нов ред" & VbCrLf & stro 'добавя "Нов ред" и възвръщане на карежа и подаване на ред последвано от оригиналния textopen c за двоичен файл като #ffilekill cput #ffile, 1, stro 'put презаписва предишната информация, ако файлът става по -малък, първо трябва да убиете файла, който го изтрива close #ffileфайлът вече има "New line" в itone нещо Открих с функцията put, че има грешки, ако се опитате да поставите знак likeput #ffile, 133, chr (1) 'това замества символа в байт 133 с символ 1 или шестнадесетичен 0x01 Намерих, когато направих това с една програма I направи го действително добавен шестнадесетичен 0x08000100000001, което е адски странно. Реших това, като заредих файла в променлива и направих низ modsi = 133stro = mid (stro, 1, i - 1) & chr (1) & mid (stro, i + 1, len (stro) - i) след това поставете #ffile, 1, strothis работи перфектно

Препоръчано: