170 likes | 186 Views
מבוא לתכנות ב WINDOWS. ד"ר אבי רוזנפלד. InputBox. Dim h As Integer = InputBox("How Big?") For i = 1 To h Dim output As String = "" For j = 1 To 10 output += "*" Next ListBox1.Items.Add(output) Next.
E N D
מבוא לתכנות בWINDOWS ד"ר אבי רוזנפלד
InputBox Dim h As Integer = InputBox("How Big?") For i = 1 To h Dim output As String = "" For j = 1 To 10 output += "*" Next ListBox1.Items.Add(output) Next
Events within Events Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim ans As String ans = MsgBox("Exit?", MsgBoxStyle.YesNo) If ans = vbYes Then End End If End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim ans As String ans = MsgBox("Exit?", MsgBoxStyle.RetryCancel) If ans = vbRetry Then MsgBox("Sorry not programmed") End End If End Sub
גודל של משולש Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim h As Integer = InputBox("How Big?") For i = 1 To h Dim output As String = "" For j = 1 To i output += "*" Next ListBox1.Items.Add(output) Next End Sub
תכנות ויזאולית בלי טופס Module Module1 Sub Main() Dim x As Integer = InputBox("Enter X") Dim y As Integer = InputBox("Enter y") MsgBox("X + Y is " & x + y) End Sub End Module
תרגיל #1 לכתוב תכנית הקולטת סיסמה מהמשתמש. אם המשתמש הקיש את הסיסמה "BASIC" יש להציג את ההודעה "Welcome" ולסיים. אם המשתמש שגה בהקשת הסיסמה יש להציג את ההודעה "Wrong, Please try again". אם המשתמש שגה 3 פעמים (ברציפות) יש להציג את ההודעה "Wrong, cant continue. bye". כמה משתמים יש? איפה הם שמורים?
תוכנה של המחשבון Private Sub bttn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttn1.Click lblDisplay.Text = lblDisplay.Text + "1" End Sub Private Sub bttn0_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttn0.Click lblDisplay.Text = lblDisplay.Text + "0" End Sub Private Sub bttnInverse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttnInverse.Click If lblDisplay.Text <> 0 Then lblDisplay.Text = 1 / lblDisplay.Text End If End Sub Private Sub bttnPlus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttnPlus.Click HandlePlus() End Sub Sub HandleEqual() Dim temp As Single temp = op1 + Val(lblDisplay.Text) lblDisplay.Text = Str(temp) End Sub
RadioBox • אופציה אחת • יש צורך להבחין בEVENT בין הCHANGE שמפעיל והEVENT שמוריד
דוגמא Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged If RadioButton1.Checked = True Then MsgBox("You voted " & RadioButton1.Text) End If End Sub Private Sub RadioButton3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton3.CheckedChanged If RadioButton3.Checked = True Then MsgBox("You voted " & RadioButton3.Text) End If End Sub Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged If RadioButton2.Checked = True Then MsgBox("You voted " & RadioButton2.Text) End If
CheckBox • כמה אופציות (כמה CHECKBOX יכול להיות TRUE) • יש צורך להבחין בEVENT בין הCHANGE שמפעיל והEVENT שמוריד
דוגמא Dim Total As Integer = 0 Dim value1 As Integer = 10 Dim value2 As Integer = 5 Dim value3 As Integer = 20 Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged If (CheckBox1.Checked = True) Then Total += value1 Else Total -= value1 End If TextBox1.Text = Val(Total) End Sub Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckedChanged If (CheckBox2.Checked = True) Then Total += value2 End If TextBox1.Text = Val(Total) End Sub Private Sub CheckBox3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox3.CheckedChanged If (CheckBox3.Checked = True) Then Total += value3 End If TextBox1.Text = Val(Total) End Sub
תרגיל #2 כתוב תוכנה הקולטת ערך אחד מתוך 5 RADIOBOX. באמצעות CASE (SWITCH) תפלוט משהו לכל אופציה.
NumericUpDownBox Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NumericUpDown1.ValueChanged 'MsgBox("This can be really annoying") 'TextBox1.Text = NumericUpDown1.Value End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click TextBox1.Text = NumericUpDown1.Value End Sub
תרגיל #3 • תשנה את משחק הניחוש כדי שהוא יקבל קלט בNUMERICDUPDOWNBOX • בנוסף תחזיר פלט עם מספר הניחושים עד שהוא ניצח, כולל אופציה לשחק שוב (באמצעות MSGBOXYESNO
לקראת הפרויקט... • טופס עם 2 TEXTBOX • כפתורים להוסיף מחרזות • פונקציה
הקוד... = Private Sub btnSales_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSales.Click Dim SalesPosition As String = "" AddName("Sales", SalesPosition) ListBox1.Items.Add(SalesPosition) End Sub Private Sub btnMkt_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnMkt.Click Dim MktPosition As String = "" AddName("Marketing", MktPosition) ListBox2.Items.Add(MktPosition) End Sub Private Sub btnQuit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnQuit.Click End End Sub Sub AddName(ByVal Team As String, ByRef ReturnString As String) Dim Nm As String Nm = InputBox("Enter a " & Team & " employee.", "Input Box") ReturnString = Nm & vbNewLine End Sub
תרגיל #4 • שנה את הקוד מהתרגיל הקודם כך שיש BUTTON חדש בשם COMPARE שמשווה בין הרשימות העובדים. אם הם שווים יש לפלוט "SAME" אחרת יש לפלוט "DIFFERENT"