Gå til innhold

Er oppgaven gjort riktig? *OPPDATERT IGJEN*


Anbefalte innlegg

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 av tissedam
Lenke til kommentar
Videoannonse
Annonse

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 av jorn79
Lenke til kommentar
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

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 av tissedam
Lenke til kommentar
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 av tissedam
Lenke til kommentar

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

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
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

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? :hmm:

 

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

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
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

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å
×
×
  • Opprett ny...