- This topic has 12 replies, 6 voices, and was last updated 15 years ago by AhFox.
-
AuthorPosts
-
May 31, 2009 at 4:39 am #190274pharaonMember
ok i’m not so good in english but i’ll try to explain as much as i can
1- open vb standard exe
2- creat on the form command botton, 3 textbox, 3 labels, 4 option bottons
make it look like this2- choose lable1 from the right panal (properties) change the Caption from lable1 to First number…do the same witht he second lable and make it Second number..and do it witht he 3rd lable make it the result
3- now the text1 choose it from the right panal (properties) look for text and delete the word text1 from it..do it with the other 2 textbox…but in the 3rd one look for the Locked and make it True..because the 3rd textbox is the result and we wont people to edit it..it will be just to show the result not to writ any thing in it
4- now click on Command 1 botton and go to properties panlal change the Caption to The Result
5- select the Form it self and from the properties panal change the caption from Fourm1 to Calculator, also look for Border Style and make it fixed single so no one can change the calculator size.
5- now choose option1 from the prperties panal change the caption to +,the second option botton make it -, 3rd make it x, 4rs make it ÷,
so it should be like that6- now double click on the result botton and type this code which i’ll explain
Private Sub Command1_Click() Dim A, B A = Val(Text1.Text) B = Val(Text2.Text) If Option1.Value = True Then Text3.Text = A + B End If If Option2.Value = True Then Text3.Text = A - B End If If Option3.Value = True Then Text3.Text = A * B End If If Option4.Value = True Then Text3.Text = A / B End If End Sub
ok now to explain what the code mean
Dim A,B mean define variable A and variable B
A=Val(Text1.text) variable A is a numerical value and loctae in text1
B=Val(Text2.text) variable B is a numerical value and loctae in text2
If Option1.Value=True Then
Text3.Text=A + B
End ifits clear to us …if we select the option 1 wich is to plus in text3 place show the result of A + B
and so on for the rest of the
so now what i need of people who read and learn and understand to be created…so i want them to make the same progam but change the option with comman botton when we click on it .it will do the calculate that we want..also make the 3 textbox to be one…i’ll tell you a clue on who to do that …make the 3 text box over each other so when we type the first number in the text1 and press on the botton for what we want to do like + or – or × or ÷ it hide the textbox1 and show the textbox2 in the same place then when we click the result botton it hide them both and show the textbox3…hope you get the idea and want to see you doing it right.
and when i understand more command about VB i’mm make tutorial for it and explain it to you
May 31, 2009 at 8:01 pm #190286AhFoxMemberVery good … one thing I would like to suggest
If then elseif
instead of (WASTE RESOURCE)
If ‘evaluate first time
If ‘ evaluate second time
If ‘evaluate third timedo this instead (Better method)
if ‘if true ‘then exit the if statement
elseif ‘if not true ‘then evaluate
elseif ‘if not true then evaluateMay 31, 2009 at 9:35 pm #190285pharaonMembernice man ok then writ down the code and pose it..we all learn of each other and new ideas make us evolve our programing skills..so i’ll wait for the code of you
May 31, 2009 at 10:37 pm #190284StringMemberWhat NVYE means, and correctly so, is that it is more efficient in this instance to use Elseif.
If Option1.Value = True Then Text3.Text = A + B ElseIf Option2.Value = True Then Text3.Text = A - B ElseIf Option3.Value = True Then Text3.Text = A * B ElseIf Option4.Value = True Then Text3.Text = A / B End If
Since you are making a tutorial for others, you should make sure you show proper coding techniques. You should learn how to properly define your variables. Dim A, B could cause you problems down the road.
Overall, nice submission. TY
June 1, 2009 at 12:50 am #190283pharaonMembernice string so now we want to remove the optionbox and replace it with bottons and make 1 textbox so let us see how to do that
June 1, 2009 at 1:05 am #190282DepartureMembervery good job, this is what people should be doing that are new to programming, write tutorials so you fully understand what is happening in the code just as pharaon has done… Good job and im looking to forward to seeing your solution with replace the option box with buttons and only one text box
June 1, 2009 at 2:36 am #190281pharaonMemberok guys new i have change the option box to keys and remove the 3rd textbox and put labelbox inested..so now how the result will appear in labelbox ?..i tell you how i’mm make the label Caption is the result of numbers calculating..let us see how to do that…
1- the first textbox for the first number
2- the second textbox
3- the 4 botton for the + – × ÷
it should look like this
so now let us explain the first code for the botton +Private Sub Command1_Click() Label1.Caption = Val(Text1.Text) + Val(Text2.Text) End Sub
that mean when we click on that botton (+) which it name is command one do the following
make the labelbox caption which its name is label1 to change to the sum of the value of the number in the textbox1 and the value of the number in the text box2and so on for the rest of the bottons
so the full code looks like thisPrivate Sub Command1_Click() Label1.Caption = Val(Text1.Text) + Val(Text2.Text) End Sub Private Sub Command2_Click() Label1.Caption = Val(Text1.Text) - Val(Text2.Text) End Sub Private Sub Command3_Click() Label1.Caption = Val(Text1.Text) * Val(Text2.Text) End Sub Private Sub Command4_Click() Label1.Caption = Val(Text1.Text) / Val(Text2.Text) End Sub
now we still want to replce it to 1 textbox only
June 1, 2009 at 7:24 am #190280StringMemberLook into placing your 4 cmdbuttons into an array.
June 1, 2009 at 2:39 pm #190279ChikeMemberNames like Command1_Click will get you lost quickly when you have a larger projec.
Give fields/variables meaningful names at the time you create/declare them. e.g. input1/2, instead of Text1/2, cmdPlus cmdMinus etc for the buttons etc.
As for the ElseIf, more important then being efficient it makes the code more readable and understand (won’t lbe onng before you forget what you intended to do.) Also add comments. It does not have to be every line, but at least for routines and logical code blocks.
June 1, 2009 at 3:20 pm #190278AhFoxMemberExcellent !!! I personally would not suggest to have any code inside Commnad1_Click instead write a new fucntion.
Function getCalculation(Byval action as String, Byval number1 as Float, Byval number2 as Float) As Float Select Case action Case "+" Return number1 + number2 Case "-" Return number1 - number2 ....[then so on] End Select End Function
Then
Private Sub Command1_Click() Label1.Caption = getCalculation("+", Text1.text, Text2.text) End Sub
Why do you need to do this? Efficiency. I found that 9/10 programmers would write code inside the Command Click handler, which is really bad because at some point may delete that button, in a large project you might leave orphan code behind.
Hope this helps
June 1, 2009 at 4:42 pm #190277DepartureMemberI agree naming your controls is the big one!! even if you don’t make Command1 into cmd… at least make it something understandable to you and who ever you show your code to, my personal favorite for “Command1” is Btn which means button to me, or Lbl which means label or Ed meaning edit anyway you get the idea while there is some sort of standard you don’t need to always stick with it, but at least make it something you will understand and people reading your code will get what it means. as for what NVYE says this is also useful because you can actually reuse that function in other projects if needed without having link to any of your controls, any code which will be used more than once should be turned into function also.
June 1, 2009 at 6:48 pm #190276pharaonMemberwell guys i’m still learning…the point of this tutorial now to show how to do..but to show what it do…i writ the code and explain what each part of it do and mean so me and other understand the programing language…
good work NVYE..nice good….but i would ask you to explain what that code mean what each part of it do and where to type it..
i need you guys to explain codes so i can understand this programing language
June 2, 2009 at 7:20 pm #190275autopilotMemberpharaon i see from your screenshots that you are using vb6
most of the people on this site that understand programming are using vb 2005 or vb 2008. i would recommend that you download and use VB 2008 express from .
there is not much point in learning vb6 now as it is rather old and and not as flexible as using a .net language (imho).
-
AuthorPosts
Related
- You must be logged in to reply to this topic.