Gissan Skrevet 11. september 2006 Del Skrevet 11. september 2006 (endret) Hei! Jeg har da startet på VB 2005 .NET etter anbefalelse fra ze5400. Fant en bok, og er nå godt i gang med programmeringen, tror jeg ihvertfall. I slutten av kapittel 3 rundt side 120 fikk jeg oppgaven: Create a Windows application with two button controls. In the click event for the first button, declare two Integer variables and set their values to any number that you like. Perform any math operation on these variables and display the results in a message box. In the click event for the second button, declare two String variables and set their values to anything that you like. Perform a string concatenation on these variables and display the results in a message box. Kan noen sjekke om jeg har gjort alt riktig? Har forstått at det er viktig at programmeringen er veldig nøye skrevet. Programmet fungerer, men jeg ville bare vite om jeg kunne forbedre koden litt. Hvis det trengs kan jeg sende programmet også, men det fungerer som det skal, ihvertfall. Public Class Form1 Private Sub btnInteger_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInteger.Click 'Declare variables Dim intNumber1 As Integer Dim intNumber2 As Integer Dim intResult As Integer 'Set the values of the variables intNumber1 = 21 intNumber2 = 10 'Perform a mathoperation intResult = intNumber1 * intNumber2 'Show the answer to the user MessageBox.Show("The value of " & intNumber1 & " multiplyed with " & _ intNumber2 & " is " & intResult & "!", "The value is ...") End Sub Private Sub btnString_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnString.Click 'Declare variables Dim strOne As String Dim strTwo As String Dim strResult As String 'Set the values of the variables strOne = "Hello " strTwo = "world!" 'Perform a string concatenation strResult = strOne & strTwo 'Show the answer to the user MessageBox.Show(strResult, strResult) End Sub End Class Hilsen, tissedam! Endret 11. september 2006 av tissedam Lenke til kommentar
j000rn Skrevet 11. september 2006 Del Skrevet 11. september 2006 (endret) Syntes det ser helt strålende ut jeg Et lite tips er å la være å bruke hungarian notation (prefix med "type" på variabler). Dette er generelt sett på som "gammeldags" og skal ikke brukes i .Net. La heller variablene dine være i bruk i så kort scope som mulig. Eks ( se at jeg ikke definerer Result før den faktisk trengs): 'Declare variables Dim Number1 As Integer Dim Number2 As Integer 'Set the values of the variables Number1 = 21 Number2 = 10 'Perform a mathoperation dim Result as Integer = Number1 * Number2 'Show the answer to the user MessageBox.Show("The value of " & Number1 & " multiplyed with " & _ Number2 & " is " & Result & "!", "The value is ...") Vanligvis gjør man også slik: Dim Number1 as Integer = 21 Dim Number2 as Integer = 10 Endret 11. september 2006 av jorn79 Lenke til kommentar
Gissan Skrevet 11. september 2006 Forfatter Del Skrevet 11. september 2006 Syntes det ser helt strålende ut jeg Et lite tips er å la være å bruke hungarian notation (prefix med "type" på variabler). Dette er generelt sett på som "gammeldags" og skal ikke brukes i .Net. La heller variablene dine være i bruk i så kort scope som mulig. Eks ( se at jeg ikke definerer Result før den faktisk trengs): 'Declare variables Dim Number1 As Integer Dim Number2 As Integer 'Set the values of the variables Number1 = 21 Number2 = 10 'Perform a mathoperation dim Result as Integer = Number1 * Number2 'Show the answer to the user MessageBox.Show("The value of " & Number1 & " multiplyed with " & _ Number2 & " is " & Result & "!", "The value is ...") Vanligvis gjør man også slik: Dim Number1 as Integer = 21 Dim Number2 as Integer = 10 6841988[/snapback] Så jeg skal altså gi variablene verdi samtidig som jeg oppretter dem? Er det det du mener? Lenke til kommentar
Gissan Skrevet 11. september 2006 Forfatter Del Skrevet 11. september 2006 (endret) Fikk en ny oppgave nå. Create a Windows application with a text box and a button control. In the button’s click event, display three message boxes. The first message box should display the length of the string that was entered into the text box. The second message box should display the first half of the string, and the third message box should display the last half of the string. Public Class Form1 Private Sub btnString_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnString.Click 'Declare variables and set values Dim strOne As String = txtString.Text 'Show the user the length of the string MessageBox.Show("The length is " & strOne.Length, "The length is ... ") MessageBox.Show("The first half of the word is " & strOne.Substring(0, 6), "First half") MessageBox.Show("The second half of the word is" & strOne.Substring(strOne.Length - 6), "Second half") 'The value of txtString.Text will allways be "Visual Basic" or some other word with the same length. End Sub End Class Nå bruker jeg jo Substringen som starter fra første tegn, og viser 6 tegn videre. Så starter jeg fra slutten, og viser 6 tegn bakover. Finnes det noe måte som regner ut lengden av ordet, og halverer det automatisk? For, blir et ord på 8 bokstaver tastet inn, vises de 6 første i en meldingsboks, og 6 sisste i en meldingsboks, noe som ikke er "half-on-half" som oppgaveteksten tilsier. Endret 11. september 2006 av tissedam Lenke til kommentar
j000rn Skrevet 11. september 2006 Del Skrevet 11. september 2006 Så jeg skal altså gi variablene verdi samtidig som jeg oppretter dem? Er det det du mener? Det er vanlig ja. Men du MÅ ikke Lenke til kommentar
Gissan Skrevet 11. september 2006 Forfatter Del Skrevet 11. september 2006 Så jeg skal altså gi variablene verdi samtidig som jeg oppretter dem? Er det det du mener? Det er vanlig ja. Men du MÅ ikke 6842084[/snapback] Okei. Da lar jeg det bli en vane. Kan noen se gjennom den neste oppgaven? Den var litt mer "tricky". Lenke til kommentar
alftore Skrevet 11. september 2006 Del Skrevet 11. september 2006 Enkelt. Ta lengden del den på 2. Kalkuler første halvpart ved å ta lengde - lengde / 2. Andre halvparten blir hva enn du har igjen etter dette. Lenke til kommentar
j000rn Skrevet 11. september 2006 Del Skrevet 11. september 2006 dim First as string = txtString.Text.SubString(0,txtString.Length / 2) dim Last as string = txtString.Text.SubString(first.length) sånn ca. Lenke til kommentar
Gissan Skrevet 11. september 2006 Forfatter Del Skrevet 11. september 2006 (endret) dim First as string = txtString.Text.SubString(0,txtString.Length / 2)dim Last as string = txtString.Text.SubString(first.length) sånn ca. 6842109[/snapback] Error 1 'Length' is not a member of 'System.Windows.Forms.TextBox'. Endret 11. september 2006 av tissedam Lenke til kommentar
j000rn Skrevet 11. september 2006 Del Skrevet 11. september 2006 txtString.Text.SubString(0,txtString.Length / 2) skulle vært: txtString.Text.SubString(0,txtString.Text.Length / 2) Lenke til kommentar
wolf5 Skrevet 11. september 2006 Del Skrevet 11. september 2006 (endret) Glem det. Jorn svarte før meg... :-P Endret 11. september 2006 av wolf5 Lenke til kommentar
Gissan Skrevet 11. september 2006 Forfatter Del Skrevet 11. september 2006 Kun en liten skrivefeil:txtString.Text.Length 6842147[/snapback] Selvfølgelig. Prøver nå. Lenke til kommentar
Gissan Skrevet 11. september 2006 Forfatter Del Skrevet 11. september 2006 Kun en liten skrivefeil:txtString.Text.Length 6842147[/snapback] Selvfølgelig. Prøver nå. 6842150[/snapback] Funket perfekt. Da pugger jeg den noen ganger, og prøver en gang til på oppgaven. Men, litt mattelekser først. Lenke til kommentar
Gissan Skrevet 11. september 2006 Forfatter Del Skrevet 11. september 2006 Da er leksene unnagjort, og jeg er klar for en ny utfordring. Kan noen gi meg en real utfordring i form av en oppgave, hvis jeg sier vet: - How to declare and use the most common types of variables - How to use the most common string functions when working with the String data type - How to use the Date data type and display dates and times so that they are automatically localized to the user’s computer settings - How to create and use simple methods Vet ikke helt om jeg husker alt, men hadde vært fint om noen kunne laget en oppgave til meg. Lenke til kommentar
j000rn Skrevet 11. september 2006 Del Skrevet 11. september 2006 1) Lag en form. Formen skal ha 2 tekstbokser og 1 knapp. I den ene tekstboksen skal brukeren skrive inn en tekst. Den andre tekstboksen skal være read-only. Når brukeren trykker på knappen skal teksten i boks 1 komme i omvendt rekkefølge i tekstboks 2. 2) Lag en form med 1 tekstbok og 1 knapp. Brukeren skriver inn fødselsdato i tekstboks 1. Vis en msgboks når brukeren trykker på knappen hvor du viser alder i år og alder i sekunder. 3) Samme som 2, bare med en dato-boks (velge dato med musen - hint toolbox). Lenke til kommentar
Gissan Skrevet 11. september 2006 Forfatter Del Skrevet 11. september 2006 1) Lag en form. Formen skal ha 2 tekstbokser og 1 knapp. I den ene tekstboksen skal brukeren skrive inn en tekst. Den andre tekstboksen skal være read-only. Når brukeren trykker på knappen skal teksten i boks 1 komme i omvendt rekkefølge i tekstboks 2. 2) Lag en form med 1 tekstbok og 1 knapp. Brukeren skriver inn fødselsdato i tekstboks 1. Vis en msgboks når brukeren trykker på knappen hvor du viser alder i år og alder i sekunder. 3) Samme som 2, bare med en dato-boks (velge dato med musen - hint toolbox). 6843006[/snapback] Woow. Ikke akkurat enkelt. Hmm, lete litt i minnet og se om jeg har lært noe av det der. 3'eren har jeg ihvertfall ikke hatt om. Ehh. Så var det omvendt rekkefølge da. Hmm. Skal se hva jeg får til, og komme med resultat så fort som mulig. Lenke til kommentar
Gissan Skrevet 11. september 2006 Forfatter Del Skrevet 11. september 2006 Oppgave 1: Er kommet hit, men står fast. Hvordan flytte tekst fra tekstboks til tekstboks, og gjøre teksten om i motsatt rekkefølge? Public Class Form1 Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click 'Declare variables Dim intWrite As Integer = txtWrite.Text Dim intRead As Integer = txtRead.Text 'Vise teksten i omvendt rekkefølge i intRead Lenke til kommentar
j000rn Skrevet 11. september 2006 Del Skrevet 11. september 2006 Oppgavene skulle være ganske greie med det du har lært hittil. For å klare nr 1 må du huske på for/next, if/then/else/end if, while/end while, etc... Nr 3 skal også være ganske enkel hvis du klarer nr 2 og tar "hintet" :-P Hint til nr2: Dim DateOfBirth as DateTime = DateTime.Parse( textbox1.text ) Lenke til kommentar
Gissan Skrevet 11. september 2006 Forfatter Del Skrevet 11. september 2006 Oppgavene skulle være ganske greie med det du har lært hittil. For å klare nr 1 må du huske på for/next, if/then/else/end if, while/end while, etc... Nr 3 skal også være ganske enkel hvis du klarer nr 2 og tar "hintet" :-P Hint til nr2: Dim DateOfBirth as DateTime = DateTime.Parse( textbox1.text ) 6844682[/snapback] Har ikke lært om for/next, if/then/else/end if, while/end while, etc... . Det kommer i neste kapittel. Begynner på det nå. Lenke til kommentar
j000rn Skrevet 11. september 2006 Del Skrevet 11. september 2006 Okay, da får du vente med nr.1 Enda et hint til nr2: Dim Difference as TimeSpan = Dato1 - Dato2 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å