Visual Basic - поуки от това, което е в кода

Така че сме се научили как да проектирате на интерфейса на програмата. Но това не е достатъчно, за да може програмата да приключи. Трябва да се напише програмен код, който ще се манипулира контролите, и да направи някои изчисления. Това е най-трудният етап.







Всички език на високо ниво код се състои от:

  • променливи
  • изражения
  • оператори
  • контролна структура
  • функция
  • Класове и обекти

Описва всеки тип подробно:

В визуална информация Основни променливи магазин (стойности). Ако те използват Visual Basic резервиран сектор в съхраняването на информация на компютъра памет. Всяка променлива има име. Тя може да достигне 255 знака, винаги започва с буквите от латинската азбука, за които може да бъде последвана от други букви, цифри и долна черта. знаци без значение регистъра. Ето някои примери за имена на променливи:

numOfLetters - припадъци
2Bottle - погрешно, защото Тя не започва с буква
ThisIsVeryLongName - подходяща дължина от 18 символа
sng.Cos - не е подходящ, тъй като употребяван точка

Наименуване променливи и функции на нещо много важно. Аз препоръчвам залепване с унгарското споразумение:

Опитайте се да именуване на променливите, в съответствие със следната схема сте се превърне в навик. Предлагам, но не настоявам. Аз не ми харесва - моля nyzyvayte, колкото искате, това е единственият начин, вие никога няма да се превърне в професионален програмист.

Всяка променлива има определен тип. Просто VB 14 вида променливи. В допълнение, програмистът може да дефинира и собствен вид. Ние списък на основните видове променливи VB:

Байт - е предназначен за съхранение на цели числа от 0 до 255. Ако този тип променлива, за да се придаде стойност, което е извън тези граници, а след това на Visual Basic ще генерира грешка.

Цяло число - за съхранение на цели числа в интервала
-32768-32767, т.е. размер заделена памет при такива променлива sostovljaet 2 байта. (256 * 256 = 65536). Символ за - "%". Защо имаме нужда, ние ще разгледаме по-нататък.

Long - предназначена за съхранение на цели числа в интервала
-2147483648 да +2147483647, т.е. памет размер, отпуснат за такава променлива композира 4 байта. (65536 * 65536 = 4294967296). Символ за - "".

String - предназначена за съхранение на низ (характер) информация, т.е. да го кажем по-просто - текстът. Той може да съхранява до 2 GB. текст. Символ за - ". $"

Single - предназначена за съхранение на дробни числа до 7 цифри. Обхватът на отрицателни стойности от -3.402823E38 да -1.401298E-45. Обхватът на положителни стойности от 1.401298E-45 до 3.402823E38. брой Дължина може да достигне до 38 знака. Той заема 4 байта памет. Изчисленията с променливи данни са приблизителни и не толкова бързо, отколкото с целочислена променлива. Символ за - "!".

Двойна - предназначена за съхранение на дробни числа до 16 цифри. Обхватът на отрицателни стойности
от 1.79769313486232E308 да -4.94065645841247E-324.
Обхватът на положителни стойности
4.94065645841247E от 324 до 1.79769313486232E308.
Дължина на 300 знака може да достигне. Той заема 8 байта памет. Изчисленията с променливи данни са приблизителни и не толкова бързо, отколкото с целочислена променлива. От изчисленията, използвани за научни изследвания. Символ за - "#".

Валута - Този тип е създадена с цел да се избегнат грешки при конвертиране от десетични числа в двоични и обратно (Невъзможно е да се 1/10 като сбор от 1/2, 1/4 и т.н.). Този тип може да има до 4 цифри след десетичната точка, а до 14 пред нея. В рамките на това изчисление гама ще бъде точна. Изчисленията се извършват най-бавно в случая с променлива единични и двойни. Този тип е много подходящ за финансови изчисления. Символ за - "@".

Булев - един много важен и често срещан тип данни. Позволява да се съхранява така наречените булеви стойности, т.е. само две стойности - истина и лъжа. (Според руската истина и лъжа). Той се използва, когато трябва да се съхранява само стойността да или не.

Вариант - Вариант тип променлива може да съдържа всякакъв вид данни. Visual Basic автоматично извършва необходимите данни за преобразуване, така че не се тревожи за това. Използването на този тип данни забавя програмата, т.е. Това отнема време и ресурси, за да се превърне видове. Затова аз препоръчвам винаги да се въздържат от използването на този тип данни, с изключение на специфични случаи, като например връщането на функцията за масив е възможно само с помощта на тип Variant.

В Visual Basic променливи са обявени за използване на оператора Dim, следван от Както и типа име променлива. Например:

Затъмняване на най-дълго
Дим б Както Байт
Дим в най-дълго
Дим numOfLetters толкова дълго,
Дим MyString Както стринга
Дим isLoaded Както Булева

Ако пропуснете Както типово име, променливата ще бъде обявен като вариант.

Затъмняване на най-дълго. Дим б Като цяло число

Много е важно да се отбележи следната функция. Би било логично да обяви 3 променливи като Лонг, както следва:

Затъмняване на, B, C, докато

Затъмняване на най-дълго
Дим б толкова дълго,

Дим myString1 Както стринга






Дим myString2 Както стринга

Такива логически пространства между линиите на код, необходими за да се отърве от своята монотонност.

Можете да зададете стойност на променлива използването на знака за равенство "=". Например:

а = 1234567
б = 234
с = 133
MyString = "Visual Basic таксита"
isLoaded = True

В този пример, променливи се задават постоянни. Но често е необходимо за създаване на една променлива в друг. Това се прави по следния начин:

А = В
"Може би, защото Променлива В "универсален"
"В дългосрочен (234 тип<4294967296)

а = б + в
"Сега за дадена съхранена сума б + в.

б = С
"Също така е възможно (133 <255)

б = а
"Невъзможно, тъй като променлива на не пасва
"В обхвата [0-255]. Няма да има грешка.

MyString = а
"Самият Visual Basic преобразува броя 1234567
"В низа" 1234567 ", а след това възложи тази стойност
"Променлива MyString. Възможно е също така да се обърне на действието.

isLoaded = True
"Всичко е ОК

MyString = MyString "Определено!"
'Тук две линии се сливат, при което
"MyString променлива съдържа линия:
"Visual Basic насочва ясно!".

isLoaded = а
"Може би, защото Самата Visual Basic преобразува Long
"В вида Булева. isLoaded съдържа True.
"Защо не False?
"Защото в VB False - тя е нула, а има такива,
"Non-нулева стойност - Вярно

приглушена myLongParam
Дим MyString $

Има обявени на 2 променливи, като първата е от тип Long, вторият - низ. Можете също така да upotrebryat тези промоции. символи изрично се посочва видът на константи, например:

Обадете MyProc (myParam1, myParam2, 5)

Тук процедурата по покана MyProc, последната настройка е Long тип. Ако не посочите икона След това (опция) ще има вида Byte. Това е необходимо, когато използвате API функции.

Вече отбелязах, че Visual Basic често без знанието на възложителя, се занимава с превръщането на типа променливи в движение. Например, ние погледна един пример:

Променлива от тип Long и MyString - String. Самата Visual Basic преобразува променлива на тип String, а след това присвоява стойността на MyString. Необходимо е да се знае. Също така, Visual Basic ви предоставя редица функции на вид реализация: CLng, CBool, CDate, CStr и т.н. Всяка функция преобразува израз на съответния тип. Помислете често срещана грешка програмист VB. Да предположим, че имаме кода на тип:

Затъмняване на Както Байт
Дим б Както Байт
Дим в най-дълго

Изглежда, че ако изпълнявате следния код, за да се изпълни, променливата век ще бъде стойността на 400 (200 + 200). Но няма такова щастие :(. Visual Basic на линия С = А + Б генерира Overflow грешка (Overflow). Факт е, че от гледна точка на правото на знака добавена е на 2 променливи от тип Byte, Visual Basic, и решава, че след изчисление този израз трябва да остане един и същ тип - Byte Но ако си спомним, че типът на Byte може да побере стойности са в обхвата 0-255, може да се разбере защо VB генерира препълване (преливане) 400 Байт далеч извън зоната, в която може да попитам: ... "и как е възможно това? за да се декларират променливи а и б тип Long?". възможно е да се направи това. и можете да използвате функциите и т.н. . Eobrazovaniya тип CLng Тогава работещ код ще бъде, както следва:

Затъмняване на Както Байт
Дим б Както Байт
Дим в най-дълго

с = CLng (а) + CLng (б) "Добре, 400 - включва тип Long

Малко за константи:

В Visual Basic, можете да декларират не само променлива, но постоянно. Постоянно като променлива също притежава някаква стойност, но за разлика от съхранява стойността на променливата не може да бъде променено. За да заявите постоянно трябва да използвате Конст дума, следвана от име и стойност (и вероятно на текста), константи:

Строителство PI = 3,1415

Може да се отбележи следната функция VB: константи за тип с плаваща точка на по подразбиране - два пъти, за цели числа - цяло число. (Това е лесно да може да се проверява вградени функции VB - VarType). За изрично се посочват видът на константи, трябва да посочите вида на името, например

Конст PI Докато = 3 "PI = 3, PI е тип Long

В Visual Basic, има много вградени константи, които лесно могат да бъдат използвани в програмите си. Например, vbNewLine постоянна - съдържа 2 символи с ASCII код 13 и 10, т.е. нов ред. списък константи могат да се видят в обекта Browser'e. За да се обадите, е необходимо да натиснете F2, докато в Visual Basic околната среда.

Декларирам променливи могат да бъдат в най-различни места:

  1. Вътре в процедурата (или функцията). В този случай, променливата ще бъде "видян" само в кода на процедурата (или функцията). Ако се опитате да се позова на една променлива в кода на друга процедура, Visual Basic ще генерира грешка.

Дим myLocalVar1 Както Байт
Частни myLocalVar2 As Integer
Публична myGlobalVar1 толкова дълго,

2 Първото определение е абсолютно равностойни. По този начин променливи декларирани се виждат навсякъде под формата на код. Но тази форма, в която са декларирани. С други форми на обръщение към такава променлива няма да бъде.

Третата променлива се вижда цялата ап навсякъде. Въпреки това, за да стигнем до такава променлива в кода на друга форма, то е необходимо да се посочи името на променливата е и име на формата, където променливата е декларирана, например:

  • В модула Общи декларации. Тук важат същите правила, както в раздел формата по общи декларации. Частен (или Dim), за да се "вижда" само в кода на модула. Обществено - навсякъде. Разликата се наблюдава само в начина на достъп до променливата. Не е необходимо да се посочи името на модула пред такава променлива. Можете просто да посочите името си и всичко останало. Въпреки, че аз не го препоръчвам, защото загубил видимост. И, освен това, ако имате 2 модула, в който са декларирани променливи със същото име, достъпът до тях е възможен единствено чрез посочване на името на модула, преди името на променливата.
  • Периодът на променливите:

    Периодът на променливата е колко дълго променливата е на разположение.

    Променливи, обявени в процедура (или функция) ще бъдат "живи" само докато извършвате тази процедура (или функция). Когато излезете от процедурата - променлива се отстранява. В следващия разговор на процедурата - повторно инициализира променлива. Между другото, според частния сектор, държавния и Дим, можете да използвате ключови думи, статичен, процедури и функции. Такава променлива при отзоваване на процедурата няма да бъде повторно инициализира. Тя ще запази стойността, която беше в него след предишна покана. (Тези променливи са много полезни при лечението на Timer'a събития). Например:

    Статично myStat като частни Статично променлива String "

    Променлива ниво на форма ще бъде "жив", просто все още "жив" форма. Веднага след като променлива форма обект ще бъде настроен на нищо (или след изявлението Unload), всички променливи ниво на тази форма са отстранени.

    променливи на ниво модул "живи", докато "на живо" вашата кандидатура. Т.е. "Alive" на всички времена.

    Преди да се използва променлива, то непременно трябва да се декларира. Това ще ви спаси от ненужни грешки.

    Променливите трябва да се дават описателни имена. Т.е. Опитвам се да не използвате имена като А1, А2, А3, аб, CCC, и т.н. Повярвайте ми, рано или късно се заби в собствената си програма! Най-добре е да се даде на английски еквивалент на променливата, която съхранява променливата. Например, за да се съхранява определено количество пари, променлива може да бъде призован като cashMoney. Ако не сте много английски, можете да използвате за транслитерация, т.е. името на променливата, като summaDeneg. Е, и т.н. Кирилицата в името на променливата не може да се използва.