oleredv Skrevet 15. februar 2005 Del Skrevet 15. februar 2005 Heisann Er nybegynnar i gamet og har allereie møtt veggen.... Oppgava er å lage ein kontroll av eit tal som blir lagt inn av brukaren. Kontrollen skal sjekke om talet er positivt eller negativt og returnere true eller false alt etter som om talet er positivt eller negativt. Har forsøkt med både if og case select men det vil jo berre ikkje virke! Hadde vore greit å fått noken tips! Lenke til kommentar
j000rn Skrevet 15. februar 2005 Del Skrevet 15. februar 2005 C# public bool IsPositive(int tall) { return tall >= 0; } eller VB: function IsPositive(tall as integer) as boolean return tall >= 0 end function Lenke til kommentar
oleredv Skrevet 15. februar 2005 Forfatter Del Skrevet 15. februar 2005 Takker for det! Fekk det faktisk til med den løysinga eg såg føre meg og etter litt knoting her.... Men Adam var ikkje lenge i paradis. No skal eg nmelig lage ei asp side som skal gjere det mogleg for brukaren å legge inn ei e-post adresse og ved å trykke på en knapp skal det vere mulig å få sjekka at adressa er på rett format. Følgande krav er satt: - Skal starte med eit eller fleire valgfrie teikn - Deretter skal det komme ein alfakrøll - Etter dette skal det vere minst eit teikn, etterfølgd av punktum - Til slutt skal det vere fleire teikn. Eg greier å lage til at det er mogleg for brukaren å taste inn adressa og å trykke på kontroll-knappen. Men det som skal ligge bak denne "kontroll-rutina" slit eg litt med..... Lenke til kommentar
j000rn Skrevet 15. februar 2005 Del Skrevet 15. februar 2005 1) Prøv selv først. 2) Fortell åssen språk du programmerer i. 3) Paste koden du har prøvd slik at vi kan se hva du evt. sliter med og komme med tilbakemelding. Lenke til kommentar
oleredv Skrevet 17. februar 2005 Forfatter Del Skrevet 17. februar 2005 1) Skal love deg at det er gjort..... 2) VB 3)Her er så langt eg er komt på eiga hand. Har altså laga sjølve "skalet" med ein tekstboks for å skrive inn adressa samt ein knapp som skal iverksette sjølve prosedyren. Men greier ikkje sjå føre meg korleis sjølve kontrollen skal bli gjort... <% @ Page Language ="VB" %> <script runat = "server"> Dim Adresse As String Sub Sjekk_Knapp(obj As Object, e As eventargs) Adresse = tbAdresse.Text End Sub </script> <html><title>Adressekontroll</title> <body> <p><b><h1>Adressekontroll</b></h1><p> <form runat = "Server"> E-post adresse: <asp:textbox id="tbAdresse" runat="server" /><p> <asp:button id="btSjekk" Text = "Sjekk adresse" OnClick= "Sjekk_Knapp" runat = "server" /> </form> <hr> </body></html> Lenke til kommentar
j000rn Skrevet 17. februar 2005 Del Skrevet 17. februar 2005 (endret) I følge "kravspec'n" din burde dette holde. Men det kan nok lønne seg å sjekke flere ting (RFC'n om epost adresser er mye mer avansert). F.eks: * At "hele" epost adressen inneholder gyldige tegn. * At det ikke finnes 2 punktum'er etter hverandre * At top-level domain inneholder minst 2 tegn * etc.... Function IsValid(ByVal Email As String) As Boolean Dim LegalChars As String = "abcdefghijklmnopqrstuvwxyz" '2) Deretter skal det komme ein alfakrøll ' Deler opp epost'n i 2 deler. Før og etter @ Dim Parts As String() = Email.Split("@") If Parts.Length <> 2 Then ' epost adressen består av mer eller mindre enn 1 @ Return False End If '1) Skal starte med eit eller fleire valgfrie teikn If LegalChars.IndexOf(Parts(0).Chars(0)) < 0 Then Return False '3 Etter dette skal det vere minst eit teikn, etterfølgd av punktum If LegalChars.IndexOf(Parts(1).Chars(0)) < 0 Then Return False Dim DomainParts As String() = Parts(1).Split(".") If DomainParts.Length < 2 Then ' Det finnes ikke noe punktum i delen etter @ Return False End If '4 Til slutt skal det vere fleire teikn. If DomainParts(DomainParts.Length - 1).Length < 1 Then Return False End If Return True End Function Endret 17. februar 2005 av jorn79 Lenke til kommentar
oleredv Skrevet 17. februar 2005 Forfatter Del Skrevet 17. februar 2005 Takker så hjertligst! Har brukt eksempelet ditt som skjelett og tilpassa det til dei ulike feilmeldingane. Det einaste som eg slit med no er at dersom @ kjem først så skriv den ikkje ut feilmeldinga med at det ikkje er gyldige tegn framfor @. Det må altså vere mellomrom... I tillegg skulle eg gjerne ha skrive ut ei melding dersom adressa passerer sjekken. Har forsøkt med å legge ei if else løkke rundt alle dei andre if - uttrykka utan hell..... Legger ved koden eg har pr no: <% @ Page Language ="VB" %> <script runat = "server"> Dim Adresse As String Sub Sjekk_Knapp(obj As Object, e As eventargs) Adresse = tbAdresse.Text Response.Write(IsValid(Adresse)) End Sub Function IsValid(ByVal Email As String) As String Dim LegalChars As String = "abcdefghijklmnopqrstuvwxyz0123456789" Dim Parts As String() = Email.Split("@") If Parts.Length <> 2 Then Response.Write(" E-post adressa manglar @ eller har for mange @!") End If If LegalChars.IndexOf(Parts(0).Chars(0)) < 0 Then Response.Write(" Du må ha gyldige verdiar framfor @!") End If If LegalChars.IndexOf(Parts(1).Chars(0)) < 0 Then Response.Write("Du må ha minst ein gyldig bokstav eller eit tal rett bak @!") End if Dim DomainParts As String() = Parts(1).Split(".") If DomainParts.Length < 2 Then Response.Write("Det finst ikkje noko punktum i delen etter @!") End If If DomainParts(DomainParts.Length - 1).Length < 1 Then Response.Write(" Du manglar lovlig landsverdi!") End If End Function </script> <html><title>Adressekontroll</title> <body> <p><b><h1>Øving2, Oppgave2</b></h1><p> <form runat = "Server"> E-post adresse: <asp:textbox id="tbAdresse" runat="server" /><p> <asp:button id="btSjekk" Text = "Sjekk adresse" OnClick= "Sjekk_Knapp" runat = "server" /> </form> <hr> </body></html> Håpar du har noken hjelpande ord Jorn79... Lenke til kommentar
j000rn Skrevet 17. februar 2005 Del Skrevet 17. februar 2005 Du kan f.eks. slenge på en If Email.StartsWith("@") Then Response.Write("...") End If Lenke til kommentar
oleredv Skrevet 17. februar 2005 Forfatter Del Skrevet 17. februar 2005 Takker så masse..... hadde vore sjanselaus utan di hjelp! Lenke til kommentar
Manfred Skrevet 19. februar 2005 Del Skrevet 19. februar 2005 Ikke for å virke pirkete, men er det ikke litt blanding av "gode gamle" asp og asp.net-måten det å ikke bruke en CodeBehind? og for å ikke snakke om så mye mindre oversiktlig. Lenke til kommentar
j000rn Skrevet 19. februar 2005 Del Skrevet 19. februar 2005 Enig der. Men om man ikke bruker en ordentlig IDE er det mer jobb å bruke codebehind. Lenke til kommentar
oleredv Skrevet 21. februar 2005 Forfatter Del Skrevet 21. februar 2005 (endret) *Problemet er fiksa* Endret 22. februar 2005 av oleredv 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å