Gjest Skrevet 21. desember 2007 Del Skrevet 21. desember 2007 (endret) 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 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 22. desember 2007 av Gjest Lenke til kommentar
aadnk Skrevet 21. desember 2007 Del Skrevet 21. desember 2007 Løsningen er faktisk beskrevet i guiden. Les under delkapittelet om tekstbokser. Lenke til kommentar
Gjest Skrevet 21. desember 2007 Del Skrevet 21. desember 2007 (endret) 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 21. desember 2007 av Gjest Lenke til kommentar
aadnk Skrevet 21. desember 2007 Del Skrevet 21. desember 2007 (endret) 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 21. desember 2007 av aadnk Lenke til kommentar
Gjest Skrevet 21. desember 2007 Del Skrevet 21. desember 2007 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
aadnk Skrevet 22. desember 2007 Del Skrevet 22. desember 2007 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
Gjest Skrevet 22. desember 2007 Del Skrevet 22. desember 2007 Takk, men jeg ga opp det med kalkulatoren etter som jeg skjønnte at det ble vanskelig 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
aadnk Skrevet 22. desember 2007 Del Skrevet 22. desember 2007 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
Gjest Skrevet 22. desember 2007 Del Skrevet 22. desember 2007 (endret) 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 Brukte koden over. Endret 22. desember 2007 av Gjest Lenke til kommentar
Manfred Skrevet 22. desember 2007 Del Skrevet 22. desember 2007 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? Lenke til kommentar
Gjest Skrevet 22. desember 2007 Del Skrevet 22. desember 2007 (endret) 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 22. desember 2007 av Gjest Lenke til kommentar
Manfred Skrevet 22. desember 2007 Del Skrevet 22. desember 2007 (endret) Kan du ikke bare sette Form1.Visible = false? Edit: Ellers har man vel Form1.WindowState = WindowStates.Minimized eller noe slikt? Endret 22. desember 2007 av Manfred Lenke til kommentar
Gjest Skrevet 22. desember 2007 Del Skrevet 22. desember 2007 Fant svaret på forumet =) Kode for minimering: Me.WindowState = FormWindowState.Minimized Lenke til kommentar
Manfred Skrevet 22. desember 2007 Del Skrevet 22. desember 2007 Og så MÅ du lære deg å bruke msdn. Vi gidder ikke sitte her og svare på småting som tar 10 sekunder å finne på msdn! Lenke til kommentar
GeirGrusom Skrevet 22. desember 2007 Del Skrevet 22. desember 2007 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå