24 messaggi dal 17 dicembre 2003
Sto studiando il libro ASP.NET guida completa dell'Apogeo ho fatto il giorno 3 quello che tratta del VB.NET e alla fine,ho fatto il solito esercizio che viene dato alla fine di ogni capitolo e ha generato i soliti errori che vengono immessi nel codice
Nella riga 5 ho sostituito DateTime con "string" ma nella riga 12 mi dice ancora che
DayOfWeek non è un membro di "string".Ho provato a cercare una soluzione,ma non l'ho trovata,come mai avviene ciò?Potete spiegarmelo?Per creare il codice VB.NET per le pagine ASP.NET bisogna installare un editor di testo apposito?Io ho Dreamweawer MX2004 ma ritengo non vada bene per creare codici VB.NET.
Ecco il codice che da il libro in merito all'errore:

<%@ Page Language="VB" %>

<script runat="server">
Class Chris
public dtBirthDay as string = "6/27/78"
public strHairColor as string = "Brown"
public strEyeColor as string = "Brown"

function GetDayOfWeek()
dim strDay as string

select case dtBirthDay.DayOfWeek
case 0
return "Sunday"
case 1
return "Monday"
case 2
return "Tuesday"
case 3
return "Wednesday"
case 4
return "Thursday"
case 5
return "Friday"
case 6
return "Saturday"
end select
end function

End Class

Sub Button_Click(Obj As Object, E As EventArgs)
dim objChris as new Chris
Response.Write(objChris.GetDayOfWeek)
end sub

</script>

<html><body>
<form runat="server">
<asp:Button ID="btSubmit" Text="Submit"
runat="server"
OnClick="Button_Click"/><p>
</form>
</body></html>
3.939 messaggi dal 28 gennaio 2003
Non ho guardato il codice del libro originale, perciò ho risolto così:
        'ricavo l'anno corrente
        Dim anno% = DateTime.Now.Year

        'imposto il mese ed il giorno
        Dim mese% = 3, giorno% = 15

        'creo la data del compleanno
        Dim DataCompleanno As New DateTime(anno, mese, giorno)

        'ricavo l'oggetto che riporta informazioni sulla cultura corrente impostata
        Dim dtfi As DateTimeFormatInfo = CultureInfo.CurrentCulture.DateTimeFormat

        'scrivo il nome del giorno della settimana del compleanno
        Me.Label1.Text = dtfi.GetDayName(DataCompleanno.DayOfWeek)


In alternativa, sapendo che DataCompleanno.DayOfWeek restituisce un numero tra 0=Domenica, e 6=Sabato, è facile fare una funzione personalizzata che accetta un parametro numerico (numero giorno settimana) e restituisce una stringa (nome giorno settimana)
24 messaggi dal 17 dicembre 2003
Ho provato a ricavarmi la funzione,ma ho fatto molti errori e non ci sono riuscito(anche per via del poco tempo che ho dovuto al lavoro)ho modificato la riga iniziale:
public dtBirthDay as DateTime = "6/27/78"
con:
public dtBirthDay as string = "6/27/78"

perchè mi dava errore dicendomi di fare il Debug(perchè avrei dovuto farlo??) e allora vedendo le stringhe successive ho modificato così.Se puoi inviarmi il codice corretto dall'inizio alla fine così lo confronto con quello del libro e vedo dove ho sbagliato,per non ripeterlo in seguito questo errore.Per VB.NET e C# debbo inserire dei compilatori appositi che non sono presenti in Dreamweawer?
3.939 messaggi dal 28 gennaio 2003
Mi dispiace, ma qui esercizi non mi sono mai sognato di farli e quel libro ha una gran brutta reputazione. Però, tanto per curiosità, l'ho visto e ti posso assicurare che è una c... (forse è meglio non dare giudizi). Comunque:

L'istruzione:
Public dtBirthDaty as DateTime = "6/27/78" è corretta solo se la cultura del sistema è quella americana (mese/giorno/anno) e se Option Strict è impostato ad Off. Altrimenti, se la cultura è quella italiana, da data la devi passare come giorno/mese/anno e, se Option Strict = ON (come deve essere) devi utilizzare una funzione di conversione da stringa a data (casting)

E poi un problema di logica. La data del compleanno non è quella di nascita (come fa credere l'esercizio) ma è l'anno che sceglie l'utente con il giorno ed il mese di nascita....

Però in compenso, Chris fa uso delle classi, e magari usa pure il linguaggio c#

Ciao
24 messaggi dal 17 dicembre 2003
In poche parole mi dici che il libro è tradotto in italiano ma la logica di alcune cose è MADE IN USA.Quindi quando vedo un esercizio,lo prendo per buono fino a un certo punto,ma poi debbo mettere in opera ciò che ho studiato fino a quel momento
per non andare fuori strada.La data del compleanno è ad esempio: 24/03/2004 se uno è nato il 24 marzo del 1980,il debug me lo chiede perchè è sbagliato il codice da come è stato impostato sul libro o sbaglio?Mi pare anche che vengono fatti eseguire esercizi un pò azzardati cioè che alcune cose possono essere tratatte anche con argomenti che verranno trattati in seguito.In conclusione,seguire il libro ma non impazzire se qualcosa non va,cercare di caprila,questo mi lasci intendere.
Quel libro in cosa è lacunoso?Così mi regolo un pochino,perchè mi sembra buono
ma già il fatto che ogni esercizio è un problema,mi lascia un pò così.Io provo a rifare tutto l'esercizio da capo ex novo e poi ti facio vedere il codice.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.