Gå til innhold

[LØST] Nettopp begynt med VB, trenger litt hjelp


Gjest

Anbefalte innlegg

Hei jeg har nettopp begynt med VB og bruker VB 6.

Har lest litt på aadnk sin guide og vil prøve og lage en kalkulkator som mitt første program :new_woot:

 

Jeg klarte det. Men ønsker og lage min lille kalkulator mere avansert fordi nå må jeg skrive " tall 1 og tall 2 " så trykke på hva jeg vil gjøre for og få svaret, men jeg ønsker at svaret er i en egen tekst box ikke MsgBox slik som det er nå.

 

Kode:

Private Sub Form_load()
MsgBox ("Skriv tall i boks 1 og 2 så trykk på hva du skal gjøre")
End Sub

Private Sub Dele_Click()
MsgBox txtTall.Text & " / " & txtTall2.Text & " = " & Val(txtTall.Text) / Val(txtTall2.Text)
End Sub

Private Sub gange_Click()
MsgBox txtTall.Text & " * " & txtTall2.Text & " = " & Val(txtTall.Text) * Val(txtTall2.Text)
End Sub

Private Sub Minus_Click()
MsgBox txtTall.Text & " - " & txtTall2.Text & " = " & Val(txtTall.Text) - Val(txtTall2.Text)
End Sub

Private Sub Pluss_Click()
MsgBox txtTall.Text & " + " & txtTall2.Text & " = " & Val(txtTall.Text) + Val(txtTall2.Text)
End Sub

 

Edit: tekst

Endret av Gjest
Lenke til kommentar
Videoannonse
Annonse

Takk for linken men kunne du hjelpe meg litt ?

Hvordan får jeg nå til vis jeg skrive 1 i den ene boksen og 2 i den andre boksen også trykker på pluss sånn at det blir tre i den siste boksen ?

 

Vis jeg gjør det nå kommer det en MsgBox om med at " 1 + 2 = 3 " jeg vil ha det i en vanlig boks, vis du skjønner ?

 

Edit: la til link så du får se EXE fila.

 

kalkulatoren.rar

Endret av Gjest
Lenke til kommentar

I det ovennevnte kapittelet finner du følgende kodelinje:

txtTekst.Text = "Hallo verden!"

I ditt tilfellet skal du sette innholdet i en tekstboks til resultatet av kalkulasjonen. Det blir det samme som den siste delen av MsgBox-kodelinjen:

txtResultat.Text = Val(txtTall.Text) + Val(txtTall2.Text)

Jeg vil også anbefale å forsikre deg om at brukeren ikke har tastet inn 0 i txtTall2 (bruk en IF-setning), slik at du ikke får en "DELT PÅ NULL"-feilmelding.

Endret av aadnk
Lenke til kommentar
Jeg vil også anbefale å forsikre deg om at brukeren ikke har tastet inn 0 i txtTall2 (bruk en IF-setning), slik at du ikke får en "DELT PÅ NULL"-feilmelding.

 

Hvordan bytter jeg det ut til en IF-setning ? xD

Så neste trinn, kan jeg sette in et " = " slik at man må presse på det for og få svaret ?

Lenke til kommentar
Hvordan bytter jeg det ut til en IF-setning ? xD

Ta en titt på det respektive kapittelet i guiden (her). Eneste du behøver å endre, er verdien tekstboksen skal testes mot, samt melding i tilfelle tekstboksens tallverdi (via Val) er null. Til sist legger du den allerede eksisterende koden i Else-sløyfen.

 

Så neste trinn, kan jeg sette in et " = " slik at man må presse på det for og få svaret ?
Joda, men da blir det ikke nødvendig med to tekstbokser. Bruk en variabel (host) til å lagre hvilken operasjon (addisjon, subtraksjon, multiplikasjon, divisjon, ect.) brukeren har signalisert.

 

Dersom du står fast, anbefaler jeg deg å gå over guiden mer grundig. Eventuelt, men helst etter du selv har forsøkt, kan du ta en titt på mitt forslag:

http://pastebin.com/f2deb02a

Lenke til kommentar

Takk, men jeg ga opp det med kalkulatoren etter som jeg skjønnte at det ble vanskelig :hrm:

 

 

Off-Topic:

Orker ikke og opprette en ny tråd for dette.

 

Jeg ønsker og prøve meg fram og vil da prøve lage et søke program som søker på google.

jeg har en tekstboks og en knapp men de mangler koden for og søke på google.

vis jeg skriver " diskusjon " i tekstboksen og trykker på command1 knappen vil jeg at google skal komme opp i min nettleser og søke etter diskusjon på google, hvordan kan jeg gjøre dette enkelt som mulig ?

Lenke til kommentar

Enklest? Tja, du kan jo alltids benytte Shell-funksjonen og kalle IE med den ønskede ULRen (der søkestrengen er tilstede):

Private Sub Command1_Click()
Shell Environ("ProgramFiles") & "\Internet Explorer\iexplore.exe " & """http://www.google.no/search?q=" & Text1.Text & """"
End Sub

 

En smule bedre - da standardnettleseren, og ikke bare IE, blir benyttet - blir det nok om en bruker ShellExecute:

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, _
ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, _
 ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Const SW_SHOWNORMAL = 1

Private Sub Command1_Click()
' En kan også abstraksjonere denne forholdsvis lange funksjonen bort i en egen prosedyre
ShellExecute Me.hwnd, vbNullString, "http://www.google.no/search?q=""" & Text1.Text & """", _
 vbNullString, "C:\", SW_SHOWNORMAL
End Sub

 

Det letteste er dog med VB.NET. Da kan koden forenkles til følgende:

	Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
	Process.Start("http://www.google.no/search?q=""" & TextBox1.Text & """")
End Sub

 

Dersom du kan velge, vil jeg på det høyeste anbefale VB.NET over VB6. Det er bedre, lettere, mer interoperativt, raskere og kostnadsfritt. Helt klart et bedre alternativ.

Lenke til kommentar
En smule bedre - da standardnettleseren, og ikke bare IE, blir benyttet - blir det nok om en bruker ShellExecute:

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, _
ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, _
 ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Const SW_SHOWNORMAL = 1

Private Sub Command1_Click()
' En kan også abstraksjonere denne forholdsvis lange funksjonen bort i en egen prosedyre
ShellExecute Me.hwnd, vbNullString, "http://www.google.no/search?q=""" & Text1.Text & """", _
 vbNullString, "C:\", SW_SHOWNORMAL
End Sub

Takk for hjelpen nå funker den :D Brukte koden over.

Endret av Gjest
Lenke til kommentar
Men som også aadnk nevner, så kan det gjøres enklere i VB.NET.

 

Hvorfor skal du absolutt lære VB6 (som er fullstendig utdatert, og ikke gratis) når du like greit kan lære deg VB.NET, som er nytt og gratis?

 

Jeg har gått over til VB.NET nå ;)

 

Off-topic: orker ikke og opprette nye tråd -.- bare unødvendig

 

Hva er kommandoen for " Minimize " i vb.net ? har prøvd med

Private Sub Minimize_Click()
Form1.WindowState = 1
End Sub

Etter noe som var i VB 6.

Endret av Gjest
Lenke til kommentar

Og følg med på hva Visual Studio foreslår, og sjekk datatypen til objekter før du poster her.

Eksempelvis kunne du sett på datatypen til Form.WindowState som er FormWindowState eller noe, så ville du fort sett at FormWindowState har flere verdier (siden dette er en enum) i verset fall bare trykke F1 når du holder over WindowState, så dukker MSDN opp med relevant informasjon.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...