Upload
semir-turkic
View
102
Download
12
Embed Size (px)
DESCRIPTION
Zadaci visual basic
Citation preview
VISUAL BASIC 6.0Osnove i zadaci
Projekt u VB Jedna ili vise formi I programskih modula, gdje je
svaka forma smjestena u svoju datoteku – projekt ih okuplja u jedinstvenu aplikaciju
Programiranje u VB Programski kod grupisan je u odsjecke, a svaki
odsjecak je reakcija na odredjeni dogadjaj Za svaku kontrolu smjestenu na formi generira
varijablu preko koje se u kodu pristupa njenim svojstvima I metodama
Primjer:(Name).SvojstvoText1.Text = “Dobar dan!”(Name).MetodaText1.SetFocus - vraca pokazivac misa na tekst
Upravljacka tipka (Command Button) Koristi se za pocetak, kraj ili prekid nekog postupka SVOJSTVA:1. NAME -Ime varijable koja cuva objekt tipa Form. Ne
moze se mijenjati tokom izvodjenja programa, jer se preko nje pristupa objektu tokom izvodjenja.
2. CAPTION – postavlja se tekst na tipku
Primjer: Napisati programski kod koji ce kad se pritisne tipka pisati OTPUSTI ME, a kad nije pritisnuto PRITISNI ME.
Objekt - TextBox Prikazuje podatke u vrijeme oblikovanja i izvodjenja
programa SVOJSTVA:1. NAME -Ime varijable koja cuva objekt tipa TextBox.
Ne moze se mijenjati tokom izvodjenja programa.2. TEXT – vraca ili postavlja znakovni niz u objekt
Primjer: Napisati programski kod koji ce kad se klikne na komandu OK napisati u TextBox-u “DOBAR DAN!”, a kad se misem predje preko komande OK ce u drugom TextBox-u napisati “LAKU NOC!”.
Rezultat
Objekt - Label Graficki objekt namijenjen za prikaz teksta Najcesce se koristi za prikaz stanja programa tokom
izvodjenja, kao i za oznacavanje ostalih objekata (npr.TextBox, Picture…) koji nemaju svojstvo Caption
SVOJSTVA:1. NAME -Ime varijable koja cuva objekt tipa Label. Ne
moze se mijenjati tokom izvodjenja programa.2. FONT – velicina slova, vrsta slova3. ALIGNMENT – poravnanje teksta: 0-lijevo, 1-desno, 2
centar
Primjer: Koristeci Label I Command Button kreirati formu za promjenu debljine slova, tj. Bold.
VISIBLE (True i False; objekt vidljiv ili ne)
Promjena boje pozadine
Sabiranje dva broja
Program PROVJERAVA da li je broj pozitivan ili negativan
Private Sub Command1_Click()Dim a As Integer, rez As String On Error GoTo kraj: a = Text1If a > 0 Then Label1.Caption = "Broj je pozitivan " If a < 0 Then Label1.Caption = "broj je negativan" Exit Sub kraj: MsgBox "morate unijeti broj", vbOKOnly, "napomena" End Sub
Vjezba mnozenja
Private Sub cmdPostavi_Click()Randomize Timera = Int(Rnd * 10)b = Int(Rnd * 10)txtA.Text = atxtB.Text = btxtRezultat.Text = ""End SubPrivate Sub cmdProvjeri_Click()a = Val(txtA.Text)b = Val(txtB.Text)odgovor = Val(txtRezultat.Text)c = a * bIf odgovor = c ThenMsgBox "Odgovor je tacan!"ElseMsgBox "Odgovor NIJE tacan!"End IfEnd Sub
Preracunavanje brzine izrazene u km/h u m/s
Private Sub cmdPreracunaj_Click()Dim a As Integer'Provjera da li je unesena vrijednost numerickaIf (IsNumeric(txtPrvi.Text)) Thena = txtPrvi.TexttxtDrugi.Text = a / 3.6ElseMsgBox ("Greska! Niste uneli broj!")End IfEnd SubPrivate Sub cmdPonisti_Click()txtPrvi.Text = ""txtDrugi.Text = ""txtPrvi.SetFocusEnd Sub Private Sub cmdKraj_Click()EndEnd Sub
Greska prilikom pogresnog unosa
Osnovna forma
1. Dat je prirodan broj k. Napisati program kojim se određuje koja se cifra nalazi na k-toj poziciji niza: 110100100010000100000... u kome su redom dopisivani brojevi 1, 10, 100, 1000, ...
Private Sub txtK_Change()txtRezultat.Text = “ "End Sub
Private Sub cmdPronadji_Click() On Error GoTo 1 Dim k As Integer Dim s As Integer Dim c As Integer Dim i As Integer k = txtK.Text s = 0 i = 0 While s < k i = i + 1 s = s + i Wend If k = s + 1 - i Then c = 1 Else c = 0 txtRezultat = "Na poziciji " & k & " nalazi se cifra: "
& c & "." Exit Sub 1 MsgBox Err.Description, vbCritical, "Greška“ End Sub
2. Napisati program koji u zadatom intervalu [m,n] određuje dva cjelobrojna rješenja jednačine: a*x+b*y=c, gdje su a, b, c dati cijeli brojevi
Private Sub txtB_Change() lstRezultat.ClearEnd Sub Private Sub txtC_Change() lstRezultat.ClearEnd Sub Private Sub txtM_Change() lstRezultat.ClearEnd Sub Private Sub txtN_Change() lstRezultat.ClearEnd Sub
Private Sub cmdCRjesenja_Click() On Error GoTo 1 Dim a As Integer Dim b As Integer Dim c As Integer Dim n As Integer Dim m As Integer Dim x As Single Dim y As Single a = txtA.Text b = txtB.Text c = txtC.Text m = txtM.Text n = txtN.Text lstRezultat.Clear For x = m To n y = (c - a * x) / b If y = Int(y) And (c - a * x) / b <= n And (c - a * x) / b >= m Then lstRezultat.AddItem "x=" & x & " y=" & y End If Next x If lstRezultat.ListCount = 0 Then lstRezultat.AddItem "Nema
cjelobrojnih rješenja." Exit Sub 1 MsgBox Err.Description, vbCritical, "Greška" End Sub
3. Napisati program kojim se za dati prirodan broj x formira broj y sastavljen od istih cifara ali u obrnutom poretku, a zatim ispituje da li je broj x + y potpun kvadrat.
Private Sub txtX_Change()txtY.Text = "" lblRezultat.Caption = ""End Sub
Private Sub txtX_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = 13 Then cmdRjesenje.SetFocusEnd Sub
Private Sub cmdRjesenje_Click() On Error GoTo 1 Dim x As Integer Dim y As Integer Dim z As Integer Dim n As Integer Dim cif As Integer x = txtX.Text y = 0 n = x While n > 0 cif = n Mod 10 y = y * 10 + cif n = Int(n / 10) Wend txtY.Text = y z = x + y If Int(Sqr(z)) = Sqr(z) Then lblRezultat.Caption = x & " + " & y & " = " & _ x + y & " je potpun kvadrat." Else lblRezultat.Caption = x & " + " & y & " = " & _ x + y & " nije potpun kvadrat." End If Exit Sub 1 MsgBox Err.Description, vbCritical, "Greška" End Sub
4. Napisati program za međusobnu razmjenu vrijednosti dvije cjelobrojne promjenjive bez korištenja drugih promjenjivih.
Private Sub txt_a_ulaz_Change() txt_a_izlaz = “ " txt_b_izlaz = “ "End Sub
Private Sub cmd_Rjesenje_Click() On Error GoTo 1 Dim a As Integer Dim b As Integer a = txt_a_ulaz.Text b = txt_b_ulaz.Text a = a + b b = a - b a = a - b txt_a_izlaz = a txt_b_izlaz = b Exit Sub 1 MsgBox Err.Description, vbCritical, "Greška" End Sub
Zadatak 5:
Kreirati aplikaciju u VB za unos tri broja i izracunavanje razlike izmedju najveceg i zbira preostala dva broja.
Konacan izgled forme
Programski kod za tipku IZRACUNAJ:Private Sub cmdIzracunaj_Click()A = CDbl(txtA.Text)B = CDbl(txtB.Text)C = CDbl(txtC.Text)If A > B And A > C ThenRazlika = A - (B + C)ElseIf B > A And B > C ThenRazlika = B - (A + C)ElseRazlika = C - (A + B)End IftxtRazlika.Text = RazlikaEnd Sub
Private Sub cmdNovi_Click()txtA.Text = ""txtB.Text = ""txtC.Text = ""txtRazlika.Text = ""End Sub
Programski kod za tipku NOVI UNOS:
Rad programa kroz aplikaciju