VIS Публикувано Януари 13, 2008 Report Share Публикувано Януари 13, 2008 Първо да разкажа малко за Visual Basic. Винаги ми е било интересно почти всичко свързано с компютрите, и най-вече програмирането, нови идеи и реализирането йм. До преди 4 5 месеца разбрах за Visual Basic от нашия приятел Crio, който направи програмката за сваляне на клипчета(Spider Video Downloader) и ми стана много интересно как се прави такова нещо и започнах да чета различни уроци за програмата. След това в училище се оказа, че ще учим точно Visual Basic. И от там почнах по-сериозно да си чета разни уроци и да се уча. Не съм изобщо напреднал, но поне се опитвам. За това исках да напиша един малък урок, в който да опиша подробно как се прави всичко и да може всички да го схванат и ако ви стане интересно да продължите да си "играете" с Visual Basic.Сигурно в Интернет има много уроци за направата на елементарни и по-сложни калкулатори, но аз реших да направя собствен без да копирам от друго място. Е естествено направих възможно най-елементарния, за да може всеки начинаещ да я направи.Еми да започваме.След отварянето на програмата, се отваря този прозорец:http://pics.softvisia.com/design/pics/5649/1.pngИзбираме бутона "Open" за да продължим. След като се отвори програмата:http://pics.softvisia.com/design/pics/5649/5.pngще разясним малко елементите за да се разясни картинката. Това ни е полето с инструментите.http://pics.softvisia.com/design/pics/5649/2.png Това пък е полето с атрибутите.http://pics.softvisia.com/design/pics/5649/3.png А това е празната ни форма, върху която ще работим.http://pics.softvisia.com/design/pics/5649/4.png Фона на формата не ни харесва, затова ще го сменим на черен. Това става като се натисне един път върху цялата форма(след отварянето на програмата няма нужда да натискаме, тя си е маркирана) и избираме от полето с атрибутите BackColor - черно. http://pics.softvisia.com/design/pics/5649/6.png Следва изчертаването на бутоните и полетата.Първо трябва да направим Текстови полета в които ще пишем. Това става като от полето с инструменти изберем TextBox. http://pics.softvisia.com/design/pics/5649/8.pngОткарваме мишката върху празната форма и изчертаваме три малки полета.Две ще бъдат за въвеждане на числа, а третото за извеждане на резултата.http://pics.softvisia.com/design/pics/5649/9.png Обаче виждаме, че има някакви текстове в тези полета. Разбира се трябва да ги махнем.Това става като цъкнем на даденото поле и изберем от полето с атрибути и намираме атрибута Text и го изтриваме. http://pics.softvisia.com/design/pics/5649/10.png. След това нека да направим текста в полетата малко по-голям. Това става от полето с атрибути и Font http://pics.softvisia.com/design/pics/5649/18.png. Отваряме го и там правим следното: Size- 14Същото правим и за другите две полета. Сега да поставим и знака между полетата, в които ще пишем числата и знака равно "=".Избираме от полето с инструменти буквичката "А" (Label) - http://pics.softvisia.com/design/pics/5649/11.png. Изчертаваме две полета. Едното между първите две текстови полета, където ще е знака за двете числа, а другото ще е просто знака равно "=". http://pics.softvisia.com/design/pics/5649/12.pngТова са новите две полета. На Label2(или там където трябва да е знака "=") ще натиснем веднъж да го маркираме. От полето с атрибути ще направим следното:http://pics.softvisia.com/design/pics/5649/13.pngAlignment - 2 - Center - с това пращаме текста в полето да бъде в средата.BackStyle - 0 - Transparent - Правим фона на полето да бъде прозрачен, следователно ще стане черно освен текста в него.Caption - = - Така задаваме на полето да се показва знака "=".Font - MS Sans Serif Маркираме този атрибут, отваряме опциите му и избираме на Size- 14. Т.е. задаваме на текста("=") да бъде с големина 14.ForeColor - Слагаме син цвят(примерно), така задаваме на текста("=") какъв цвят да бъде. Не избираме черен за да не се слее с фона. Сега се връщаме на полето което начертахме между първите две текстови полета, в което ще е знака.Няма да давам снимки за него, защото е като предишното. Името му би трябвало да бъде (Name) - Label1 . За да работи програмата без проблеми, трябва да се казва по този начин.Правим ми същите настройки, само че на Caption изтриваме текста и го оставяме празно. После ще разберете защо.До тук би трябвало да изглежда по този начин:http://pics.softvisia.com/design/pics/5649/14.png Сега идва ред на изчертаването на бутоните, или знаците с които ще работим. Ще направим само най-често използваните, а именно - '+' - събиране, '-' - изваждане, '*' - умножение, '/' - деление. И един допълнителен бутон "Изчисти", с който ще изчистваме зададените стойности. Ето и как се поставят бутоните. Ще изчертаем пет бутона. Избираме от полето с инструменти CommandButton http://pics.softvisia.com/design/pics/5649/7.png и изчертаваме пета бутона.Аз направо ги преименувах и стана нещо такова:http://pics.softvisia.com/design/pics/5649/15.pngСега да обясним как ги преименувахме.Ще обясня само за бутона '+', защото за другите е същото само че се сменя знака.http://pics.softvisia.com/design/pics/5649/16.png(Name) - SybiraneТук е времето да обясня разликата между атрибута (Name) и Caption(или Text). Caption(или Text) се използва само за да покаже дадения текст върху програмата, но ако ни трябва с програмен код да извикаме този елемент, ще използваме атрибута (Name).Caption - + - Тук поставяме знака '+' за да може върху бутона да се покаже.Font - Тъй като полето е малко, а знака е малък, избираме отново Size- 14. Същото правим и за другите бутони. Като за втория бутон слагаме (Name) - Izvajdane и Caption - -. Третия (Name) - Umnojenie и Caption - *. Четвъртия (Name) - Delenie и Caption - /. И петия, който ще е за изчистване на полетата, (Name) - Izchisti и Caption - Изчисти.Точно в този урок, имената на бутони няма да са ни нужни, но е хубаво да се знае, че са от огромно значение. А за имената нарочно ги написах на латиница, тъй като ако са на кирилица може да даде проблем. Това естествено не се отнася за атрибута Caption, той просто извежда текста и може да бъде на кирилица И най-накрая дойде време и до истинското програмиране. Сега ще трябва да напишем за всеки бутон какво действие да върши.Започваме с бутона 'Sybirane' (+). Натискаме върху него десен бутон -> View Code (или за по-лесно просто натискаме 2 пъти върху бутона и се отваря полето за въвеждане на код).Полето ще изглежда по този начин, без Dim a As Double, b As Double, които съм въдел и сега ще обясня защо. http://pics.softvisia.com/design/pics/5649/17.pngDim - Означава че декларираме нещо.а - това е декларираната променлива. Може да бъде друго, но НИКОГА не може да започва с число. Пример: Name_1 - правилно, 1Name - грешно !!!Може да започва само с букви. As - КатоDouble - Позволява числото да бъде с десетична запетая. Double се използва само за числа.Dim a As Double - Декларираме променливата а от тип DoubleПри начинаещи програмисти може да се използва типа Variant. Той автоматично определя от какъв тип е дадената променлива. Дали е текст или число. Това естествено малко забавя програмата. Ние знаем с какво ще работим и декларирахме с точните типове.Сега следва да кажем какво да прави бутона 'Sybirane' (+) при натискането му. Отваряме полето за писане на код и въвеждаме следното:Private Sub Sybirane_Click()a = Text1.Textb = Text2.TextText3.Text = a + bLabel1.Caption = "+"End SubСега да обясним какво му казваме да прави при натискане.a = Text1.Text - Присвояваме на променливата а текста от първото поле.b = Text2.Text - Присвояваме на променливата b текста от второто поле.Text3.Text = a + b - задаваме текста на третото поле да бъде a + b т.е. сбора от първите две полета.Label1.Caption = "+" - И както казах по-рано, това поле което е между първите две текстови полета, което оставихме празно сега е времето да ги използваме. Задаваме на бутона след натискането му да слага знака "+" като текст в това поле. Това не помага за действието на програмата, а просто за по-голяма прегледност.Надявам се да сте разбрали какво прави натискането на бутона.Сега за другите бутони. Но няма да обяснявам, защото е идентично, просто се променят знаците.'Izvajdane' (-)Private Sub Izvajdane_Click()a = Text1.Textb = Text2.TextText3.Text = a - bLabel1.Caption = "-"End Sub'Umnojenie' (*)Private Sub Umnojenie_Click()a = Text1.Textb = Text2.TextText3.Text = a * bLabel1.Caption = "*"End Sub'Delenie' (*)Private Sub Delenie_Click()a = Text1.Textb = Text2.TextText3.Text = a / bLabel1.Caption = "/"End SubОстана и бутона, който ще изчиства всички полета.'Izchisti' (Изчисти)Private Sub Izchisti_Click()Text1.Text = ""Text2.Text = ""Text3.Text = ""Label1.Caption = ""End SubText1.Text = "" - Задаваме да се изчисти първото текстово поле. Същото се отнася и за Text2.Text = "" и Text3.Text = "".Label1.Caption = "" - С това задаваме на полето между двете текстови да се изчисти. Остана само да видим как работи програмата. Това става с http://pics.softvisia.com/design/pics/5649/19.png - синия бутон. Програмата ще пусне проекта и ще може да се тества как работи и ако има грешки да се оправят докато не сте го запазили като *.exe файл. Ако всичко е наред натискате http://pics.softvisia.com/design/pics/5649/19.png квадратното бутонче, което ще е активно след като сте натиснали стрелкичката и чак след това можем да запишем файла. Избираме от програмата главното меню File -> Make Project1.exe - и така избираме къде да запазим това, което правихме до момента и как да се казва то. Ето готовия калкулатор, който получих аз - Calculator.rarЕто и готовия код за програмата, в случай че объркате нещо - Calculator___SoftVisia.com.rar Надявам се да съм описал достатъчно подробно за да може всеки да разбере кое какво и как се прави. Коментари, проблеми и въпроси се приемат всякакви Всички права върху текущата тема и картинките включени в нея са собственост на автора им и нямат право да бъдат възпроизвеждани под каквато и да е форма без изричното съгласие на автора.Автор: Велислав Сендрев (VIS @ SoftVisia.com) Цитирай Link to comment Сподели другаде More sharing options...
crio Публикувано Януари 13, 2008 Report Share Публикувано Януари 13, 2008 Браво VIS, добре е станало! Радвам се, че напредваш с VB Цитирай Link to comment Сподели другаде More sharing options...
Wanted Публикувано Януари 13, 2008 Report Share Публикувано Януари 13, 2008 Супер! Наскоро учителката по VB се опита да ни покаже подобно нещо, само че и открих бая грешки Цитирай Link to comment Сподели другаде More sharing options...
RSFireblade Публикувано Януари 15, 2009 Report Share Публикувано Януари 15, 2009 Благодаря получи се добре но имам едн проблем.Когато дам да ми я изпълни всичко работи но когато дам квадратче File -> Make Project1.exe ми казва : Compile Error:Only comments may appear after End Sub,End Funktion, or End Property.Благодаря предварително. Цитирай Link to comment Сподели другаде More sharing options...
VIS Публикувано Януари 15, 2009 Author Report Share Публикувано Януари 15, 2009 Здравей и добре дошъл. А да те питам след End Sub да си слагал някакви други знаци ? Грешката показва, че има нещо след него, което е нередно. Аз съм слагал тези --------------------------------------- черти за да отделя отделните кодове. Тях не бива да ги поставяш, ако си ги Ако не си ги, и това не помага можеш да копираш тук кода да видим какво си направил Цитирай Link to comment Сподели другаде More sharing options...
RSFireblade Публикувано Януари 16, 2009 Report Share Публикувано Януари 16, 2009 Благодаря стана . Цитирай Link to comment Сподели другаде More sharing options...
RSFireblade Публикувано Януари 27, 2009 Report Share Публикувано Януари 27, 2009 А как трябва да стане ако искам с бутон "Изчисли" да извършва оказаното действие.Аз се сетих само така :слагаме 5 бутона "Изчисли" и им задаваме единият да събере числата вторият да ги извади третият да ги умножи и четвъртият да ги раздели.След това на копчето "+" казваме когато е натиснато само първият бутон "Изчисли" да се вижда , за "-" само вторият бутон "Изчисли" да се вижда , за "*" само третият и за "/" само четвъртият. Надявам се да има по лесен начин.Благодаря. Цитирай Link to comment Сподели другаде More sharing options...
VIS Публикувано Януари 27, 2009 Author Report Share Публикувано Януари 27, 2009 А как трябва да стане ако искам с бутон "Изчисли" да извършва оказаното действие.Аз се сетих само така :слагаме 5 бутона "Изчисли" и им задаваме единият да събере числата вторият да ги извади третият да ги умножи и четвъртият да ги раздели.След това на копчето "+" казваме когато е натиснато само първият бутон "Изчисли" да се вижда , за "-" само вторият бутон "Изчисли" да се вижда , за "*" само третият и за "/" само четвъртият. Надявам се да има по лесен начин.Благодаря.Честно казано почти нищо не разбрах. Сега ще ти кажа как става с бутон = или както казваш "изчисли". В първото поле пишеш цифрата и натискаш бутон + примерно. В него кода трябва да изглежда така: f = 1, като това f(може и друга променлива да ползваш) се използва за да се види кой бутон/кое действие ще се извършва. Така и за другите -,/,*. Като за другите f=2/3/4 и т.н. След това се стига да изчисляването на резултата. В бутона "изчисли" слагаш един If, който да проверява дали f e 1, 2, 3 или 4. Ако е 1, тогава събира първото и второто поле и извежда резултата в третото и т.н. Малко теоретично обяснено, но ако не го схващаш кажи ще ти дам пример. Но първо опитай сам да го направиш Цитирай Link to comment Сподели другаде More sharing options...
RSFireblade Публикувано Януари 28, 2009 Report Share Публикувано Януари 28, 2009 Кодът го направих така :Private Sub Delenie_Click() f = 4 End Sub ---------------------- Private Sub Izchisli_Click() a = Text1.Text b = Text2.Text If f = 1 Then Text3.Text = a + b ElseIf f = 2 Then Text3.Text = a - b ElseIf f = 3 Then Text3.Text = a * b ElseIf f = 4 Then Text3.Text = a / b End If End Sub ---------------------- Private Sub Izvajdane_Click() f = 1 End Sub ---------------------- Private Sub Sybirane_Click() f = 2 End Sub ---------------------- Private Sub Umnojenie_Click() f = 3 End Sub но нестава :( Цитирай Link to comment Сподели другаде More sharing options...
VIS Публикувано Януари 28, 2009 Author Report Share Публикувано Януари 28, 2009 Тези неща имаш ли ги в General ?Dim a As Double Dim b As Double Dim f As Integer Цитирай Link to comment Сподели другаде More sharing options...
RSFireblade Публикувано Януари 28, 2009 Report Share Публикувано Януари 28, 2009 Ау вярно ги бех забравил .Стана супер , мерси. Цитирай Link to comment Сподели другаде More sharing options...
VIS Публикувано Януари 28, 2009 Author Report Share Публикувано Януари 28, 2009 Моля. Пипнах малко темата и махнах чертите, които RSFireblade беше объркал, за да не объркат някой друг. Така май е по-добре. Цитирай Link to comment Сподели другаде More sharing options...
Препоръчан пост
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.