Har ett antal uppgifter i Visual Basic som ska utföras i sharp Develop, jag tycker det är jättesvårt och undrar om någon kan vara snäll och göra uppgifterna åt mig.
Jag mailer dem på pdf i så fall.
Så ruttet. Skit i uppgifterna och ta konsekvenserna av att du inte fixar dem! Jag tror inte att någon här har så dåligt omdöme att de hjälper dig på det sättet, men rätt ställe att fråga skulle då vara Jobb & Tjänster (mot betalning)
Försök att lösa uppgifterna, och när du får problem så frågar du i .NET-forumet.
OK, Jag erkännner det var lågt av mig att be nån bara göra uppgifterna.
Men jag tycker uppgifterna är väldigt svåra, och skulle behöva en hel del hjälp.
Så jag om någon skulle kunna tänka sig att ta en titt på mina uppgifter och, inte göra dem åt mig, men förklara hur jag ska göra. Mailar dem på PDF I Såfall.
Kan du inte pressentera uppgifterna här i tråden, antagligen det enklaste sättet för att få folk att hjälpa dig på traven i varje fall. Eller du orkar inte?
Men hallå... Luktar som skoluppgifter... Försöker man inte lär man sig inte.
Så börja med att försöka lösa uppgifterna och stöter du på problem kan säkert någon peka dig i rätt riktning.
Att kapa hörn på detta sätt kommer inte att fungera i längden för dig. Det är bara ett vänligt råd och inget påhopp.
Men jag trodde ju att det skulle bli bli lättare för er att fatta vad uppgifterna handlade om om ni fick läsa dem på PDF.
AJA, Kan presentera uppgifterna här.
Egendefinierad subrutin
Funktioner och subrutiner kallas tillsammans för procedurer. Det går att skapa egna
procedurer som man kan anropa när man ska göra någon uppgift som man utför ofta. Vi
ska nu skapa en egen subrutin.
När man skapar sin subrutin kallas det för att man definierar den. Definitioner av subrutiner
skrivs på följande sätt:
Syntax:
Sub <subrutinsnamn>([<parametrar>])
<satser>
End Sub
Parametrarna består av en kommaseparerad lista på de parametrar man vill att subrutinen
ska ta emot (om några). Varje element i listan består av namnet på parametern, nyckelordet
As och parameterns typ: (<parameternamn> As <parametertyp>, ...)
Här följer ett enkelt exempel där en subrutin anropas någonstans i ett kodstycke. Med
anropet skickas ett namn. Subrutinen skickar upp en MsgBox där det står ”Hej” följt av
namnet som skickades med.
Exempel:
Sub VisaNamn(namn As String)
MsgBox(”Hej ” & namn)
End Sub
Anropet kan se som nedan:
VisaNamn(”Svarte Petter”)
Gör en subrutin med namnet Skriv() som tar en sträng som argument och sedan
skriver ut strängen till utmatningsrutan (utan att radera texten som redan finns där) med
en åtföljande radmatning. När man anropar funktionen kan det se ut så här:
Skriv(”Det här texten skrivs på övre raden”)
Skriv(”Det här är raden under”)
Övningar – Objektorieneterad Programmering i Visual Basic .NET
28
Övning 4b – Subrutiner
Skriv ett program där användaren kan fylla i text i inmatningsrutorna. När användaren
klickar på Utför 1 skall texten kopieras från textrutorna till utmatningsrutan och sedan
skall textrutorna tömmas. Dela upp koden i två subrutiner, en som heter CopyText()
och en som heter Clear(). Den första skall kopiera texten mellan in- och utmatningsrutorna
och den andra skall rensa inmatningsrutorna. Båda rutinerna skall anropas när man
klickar på Utför 1.
Egendefinierad funktion
En funktion fungerar precis som subrutiner men har även ett returvärde. Returvärdet
skickas tillbaka från funktionen med instruktionen Return (som också avbryter funktionsexekveringen).
Definitioner av funktioner skrivs på följande sätt:
Syntax:
Function <funktionsnamn>([<parametrar>]) As <returtyp>
<satser>
Return <returvärde>
End Sub
Här följer ett enkelt exempel på en funktion som konverterar från grader till gon.
Exempel:
Function GraderTillGon(degree As double) As double
Return degree * 100 / 90
End Function
Anropet kan se ut som nedan:
dblSvar = GraderTillGon(76.5)
Skriv en funktion InRange() som tar tre integer:s som parametrar: value, lower och
upper och testar om value ligger inom intervallet lower till upper. Om så är fallet returnerar
funktionen true, annars false. I InRange() skall en felkorrigering finnas som
byter plats på lower och upper om lower är större än upper.
Exempel:
boolErr = InRange(10, 0, 20) ’ returnerar sant
boolErr = InRange(0, 0, 20) ’ returnerar sant
boolErr = InRange(0, 1, 20) ’ returnerar falskt
boolErr = InRange(10, -10, 0) ’ returnerar falskt
Läs in value, lower och upper från inmatningsrutorna och skriv ut en passande text i
utmatningsrutan (gärna med hjälp av Skriv() från den tidigare övningen) när man
trycker ner Utför 1. Utför 2 rensar utmatningsrutan.
Lägg in felkontroller för alla de inmatade värderna (så att de är numeriska)
Lokala variabler
Variabler som är deklarerade i en subrutin eller inne i ett nästlat block gäller bara i den
subrutinen eller i det blocket (lokala variabler). Vill man använda samma variabel i flera
olika subrutiner måste den deklareras direkt i klassdefinitionen (global variabel).
Public Partial Class MainForm
Dim intCounter As Integer
…
Följande kod (inlagd i övningsmallen) ska läsa in text från Inmatningsruta 1 och sedan
rensa rutan när knappen Utför 1 trycks ner. När så Utför 2 trycks ner ska den tidigare inmatade
texten skrivas ut i utmatningsfönstret.
Sub DoButton1Click(sender As Object, e As System.EventArgs)
Dim strTextIn As String
strTextIn = input1.Text
input1.Clear
End Sub
Sub DoButton2Click(sender As Object, e As System.EventArgs)
Dim strTextIn As String
output.AppendText(strTextIn)
End Sub
Problemet är bara att programmet inte fungerar. Det genererar till och med en exception
då det körs.
Fixa programmet så att det fungerar så
som avsett.
Övning 4e – Static-deklarerade variabler
Då en subrutin (eller funktion) anropas (t ex efter en knapptryckning) nyskapas alla i
subrutinen deklarerade variabler, och de försvinner då subrutinen avslutas. För att förhindra
att en variabel nyskapas och försvinner mellan anropen kan den deklareras som
static (i stället för dim):
Static intCounter As Integer
Gör ett program som skriver ut det antal
gånger man har tryckt ner Utför 1-knappen.
Du får inte använda några globalt deklarerade variabler!
Övning 5b – Vektorer
Skriv ett program där användaren får skriva in två tal vars produkt skall presenteras.
Produkten skall inte räknas fram utan slås upp i en matris där alla produkter från och
med 1*1 till och med 10*10 finns med. Matrisen ska vara global och skapas när programmet
startar (MainFormLoad). En matris är en vektor med 2 dimensioner. Man kan
med hjälp av två index komma åt alla platser i matrisen.
Man kan tänka på följande matris
Dim matris(,) As Integer = new Integer(,) {{1,2,3}, {4,5,6}, {7,8,9}}
såhär:
1 2 3
4 5 6
7 8 9
Man kommer åt siffrorna genom att ange först rad och sedan kolumn (både rad och
kolumn börjar på 0). (0,1) är plats 2, (2,2) plats 9, (1,2) plats 6 osv.
Övning 5c – Vektorer (ReDim, Preserve)
Skriv ett program där användaren kan skriva in text i Inmatningsruta 1 och lägga till
den i en vektor när man klickar på utför i knappen. För varje gång man trycker på knappen
ska vektorns storlek ökas med 1 och sedan skall den nya texten läggas till på den sist
skapade platsen. Vektorn skall behålla sina gamla värden.
När man klickar på Utför 2-knappen skall vektorn tömmas.
Utmatningsrutan skall hela tiden visa vektorns innehåll.
Men dom här uppgifterna är ju så enkla att om man visar dig lite så har man gjort hela rasket.
Första övningen handlar alltså om att skapa en subrutin Skriv() som tar en sträng som argument och som sedan skriver ut den i console. Och att du ska komma ihåg att avsluta med en newline.
Klarar du inte det får du beskriva vari ditt problem ligger. Jag utgår från att du kan skapa ett nytt projekt och att du kan köra dina program?!
Tror knappast jag skulle uppfatta uppgifterna som gjorde bara för att du visade lite mer, du får komma ihåg att jag är typ världens sämsta på sharp develop.
på 4a skrev jag Sub VisaNamn(namn As String)
MsgBox(”Hej ” & namn)
End Sub
Får felmedelandet ")" expected
Vad har jag gjort för fel? att skriva till en parantes funkar inte.
Vilket skitprogram.
Detta är ju grundläggande programeringsexempel som följer med varje programspråk.
Jag tror att det inte är svårt för någon att utföra detta om man bara vill läsa in lite av manualer som följer med programmen för C#.
Varför skall någon annan göra detta? Det finns väl en anledning till uppgiften!
Tror knappast jag skulle uppfatta uppgifterna som gjorde bara för att du visade lite mer, du får komma ihåg att jag är typ världens sämsta på sharp develop.
på 4a skrev jag Sub VisaNamn(namn As String)
MsgBox(”Hej ” & namn)
End Sub
Får felmedelandet ")" expected
Vad har jag gjort för fel? att skriva till en parantes funkar inte.
Vilket skitprogram.
Jaha, men din kod består väl av mer än dessa tre rader, antar jag. Har du skapat en applikation där du testkör koden eller vad håller du på med?
Den här uppgiften
magnuzzz skrev:
Gör en subrutin med namnet Skriv() som tar en sträng som argument och sedan
skriver ut strängen till utmatningsrutan
Ska ju inte skicka till en MsgBox, varför har du kodat en sådan, du måste läsa uppgiften ordentligt så att du vet vad du ska göra innan du sätter igång.
Du ska använda dig av utmatningsrutan, dvs en Command Console, cmd i WinXP.
Här är ett exempelprogram med en Sub, funkar hur bra som helst
Module Module1
Sub Main()
Skriv("Hej hopp!")
End Sub
Sub Skriv(ByVal input As String)
Console.WriteLine(input)
End Sub
End Module
Och därmed var uppgiften löst. Jag hoppas det går bättre med resten av uppgifterna!
268 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2