Отворите Висуал Басиц 6 и изаберите „Стандард ЕКСЕ“ из менија новог пројекта. Видећете да се на екрану појављује празан образац.
Преименујте свој пројекат и образац тако што ћете кликнути на „Пројекат1“ на десној страни екрана, на листи пројеката, и уношењем новог имена у ред „Име“ у пољу Својства, које би требало да се појави испод листе пројекта од Уобичајено. Притисните "Ентер" да прихватите ново име. Урадите исто за свој образац (предложено име обрасца је „ЦалцулаторУИ“), пазећи да унесете слично име иу својство „Цаптион“, што ће променити текст на горњој траци обрасца. Сачувајте пројекат у новом фолдеру на рачунару.
Додајте дугмад и оквир за текст у образац. Прво додајте оквир за текст у коме ће се појавити бројеви унети у калкулатор, као и резултати прорачуна. Урадите то тако што ћете изабрати дугме ТектБок на траци са алаткама на левој страни екрана, а затим превући мишем величину и локацију коју желите за ТектБок. Када поставите ТектБок, можете променити величину и локацију тако што ћете га превући на другу локацију обрасца или превлачењем ручки (малих квадрата) дуж границе ТектБок-а. Обавезно промените следеће редове у прозору Својства, са изабраним ТектБок-ом: „(Име)“ = тбРесулт, „Поравнање“ = 1- Десно поравнање, „Формат података“ = (кликните на дугме „...“ да бисте изабрали) Број, „Закључано“ = Тачно и „Текст“ = 0.
Изаберите икону ЦоммандБуттон на траци са алаткама и креирајте прво дугме на исти начин на који сте креирали ТектБок за додавање дугмади. За референцу, користите Виндовс калкулатор у стандардном приказу (Програми > Прибор > Калкулатор) као основу за изглед вашег калкулатора, изостављајући дугмад „МЦ“, „МР“, „МС“ и „М+“. На сваком дугмету промените следећа својства (користећи дугме „+“ као пример): „(Име)“ = бтнПлус, „Наслов“ = +. Урадите исто са осталим дугмадима калкулатора, а затим сачувајте свој рад. Ваш образац сада треба да личи на пример приказан овде.
Додајте код. Имајте на уму да ће вам требати ако ваша дугмад и оквир за текст нису названи као код који је овде наведен да промените имена тако да одговарају вашим дугмадима и оквирима за текст, или промените дугмад и оквир за текст да одговарају овоме код. Прво морамо да креирамо неколико варијабли за обраду уноса калкулатора:
Дим слефт као стринг, сригхт као стринг, сОператор као стринг Дим иЛефт као двоструко, иРигхт као двоструко, иРесулт као двоструко Дим бЛефт као боолеан
Сваки прорачун се састоји од четири дела: броја лево од оператора (сЛефт, иЛефт), оператора (сОператор), броја десно од оператора (сРигхт, иРигхт) и резултата (иРесулт). Да бисмо пратили да ли корисник уноси леви или десни број, потребно је да креирамо логичку променљиву бЛефт. Ако је бЛефт тачно, уноси се лева страна прорачуна; ако је бЛефт нетачно, уноси се десна страна.
Иницијализујте променљиву бЛефт. То радимо креирањем потпрограма Форм_Лоад, који можете или откуцати као што је наведено овде или аутоматски креирати двоструким кликом на било који део обрасца који није покривен дугметом или оквиром за текст. Унутар функције треба да подесимо бЛефт на Труе, јер ће први унети број бити леви део:
Креирајте потпрограм који ће управљати кликом на било које дугме са бројевима. Ово креирамо као потпрограм јер користимо идентичан код за свако дугме, а коришћење потпрограма значи да не морате да понављате исти код десет пута. Унесите следеће испод линије за крај подпрограма Форм_Лоад:
Као што видите, ова функција узима параметар стринга, сНумбер, који ће садржати број на који је корисник кликнуо. Ако је бЛефт тачно, овај број се додаје низу који представља број који се уноси, сЛефт, а оквир за текст, тбРесулт, се ажурира да прикаже нови број. Ако је бЛефт нетачан, иста операција се изводи користећи сРигхт.
На крају, креирајте функцију догађаја Цлицк за сваки број који позива наш АддНумбер потпрограм. То можете лако да урадите тако што ћете двапут кликнути на свако нумеричко дугме, што ће за вас креирати структуру потпрограма. Затим додајте позив у АддНумбер, замењујући број у наводницима бројем који је повезан са дугметом. За дугме нула, ваш код ће изгледати овако:
Исто тако, за једно дугме, ваш код ће изгледати овако:
Руковати операторима: плус, минус, пута и дељење. Урадићемо ово као последњи корак, креирајући потпрограм који се позива у догађајима клика за дугмад оператера. Потпрограм ће изгледати овако:
Ако је бЛефт тачно, што значи да је корисник управо унео леви део прорачуна, овај потпрограм поставља Променљива сОператор коју смо креирали у кораку 5 да би била једнака унетом оператору, који се прослеђује АддОператору као стринг сНевОператор. Други корак је да поставите бЛефт на Фалсе, јер унос оператора значи да је корисник завршио са уносом леве стране једначине. Да бисмо руковали уносима који стрингују више оператора заједно, као што је 9 * 3 * 2 * 6, морамо такође проверите да ли је бЛефт нетачан, што значи да је корисник унео оператор где смо очекивали једнаки. Прво позивамо догађај Цлицк за дугме једнако (описано у следећем кораку), који врши прорачун и поставља тбРесулт на резултат онога што је већ унето. Затим бришемо сРигхт да би корисник могао да унесе следећи број и постављамо бЛефт на Фалсе тако да програм зна да следеће уносимо десну страну прорачуна.
На крају, додајте позив АддОператор у Цлицк догађај сваког дугмета оператора, користећи исти метод као што смо користили у кораку 7 да креирамо догађаје клика за дугмад са бројевима. Ваш код за дугме плус ће изгледати овако:
Креирајте догађај Цлицк за дугме једнако, што је најсложенији код у овом програму. Креирајте структуру потпрограма као што сте урадили за остала дугмад, тако што ћете двапут кликнути на дугме једнако на обрасцу. Ваша потпрограм ће изгледати овако када унесете код:
Прве три линије кода проверавају да ли су обе стране прорачуна унете заједно са оператором. Ако се унесе само лева страна и оператор, вредност леве стране се копира удесно, тако да можемо да опонашамо стандардно понашање калкулатора за руковање уносом као што је 9 * =, који сам по себи множи 9 да би добио резултат 81. Остатак кода ће се покренути само ако се унесе лево, десно и оператор и почиње копирањем низове бројева у наше иЛефт и иРигхт двоструко откуцане променљиве, које могу да ураде стварне прорачуни. Наредба Селецт Цасе нам омогућава да покренемо различит код у зависности од тога који је оператор унет, и врши стварни прорачун, стављајући резултат у иРесулт. Коначно, ажурирамо оквир за текст са резултатом, копирамо резултат у сЛефт, ресетујемо сРигхт и постављамо бЛефт = Труе. Ови последњи редови нам омогућавају да узмемо резултат прорачуна и да га користимо да извршимо још један прорачун.
Руковати последња три дугмад за рад: скрт, % и 1/к. За догађај Цлицк дугмета квадратног корена, ваш код ће изгледати овако:
Првих 11 редова кода осигурава да ако немамо унету вредност ни за једну страну једначине, замењујемо нулу уместо да покушавамо да копирамо празан стринг у иЛефт или иРигхт, што ће генерисати грешка. Средње линије врше функцију квадратног корена на тренутном делу прорачуна, било лево или десно. Коначно, поништавамо провере које смо урадили на почетку тако да се нула копира као празан стринг назад у слево и сдесно.
За дугме за проценат, код је сличан, са једним изузетком: операција процента се може извршити само ако су унете и лева и десна страна.
На крају, 1/к, или фракција, Цлицк догађај, који је веома сличан коду изнад:
Додајте код за руковање дугмадима Ц и ЦЕ. Ц брише сав унос у калкулатор, док ЦЕ брише само број који се тренутно уноси.
Покрените свој програм калкулатора и урадите било који прорачун који желите. Овај калкулатор се може лако проширити да би могао да обради више операција, сложеније прорачуне или чак да буде научни калкулатор уз мало додатног рада.
Савет
Ако наиђете на грешке, проверите свој код ред по ред, фокусирајући се на редове које је ВБ назвао да садрже грешке и упоредите га са горњим кодом. Код садржан у овом чланку је у потпуности тестиран да не садржи грешке, тако да ће његово верно копирање резултирати функционалним програмом. Ако користите претходну верзију Висуал Басиц-а, можда ћете наићи на неке проблеме због којих су унешене промене у језик у различитим верзијама. Претходне верзије ВБ-а, на пример, користиле су математику. Скрт() уместо Матх. Скр() да изврши операцију квадратног корена. Проверите Референце за вашу конкретну верзију да видите да ли су потребне промене.