Aiutate un principiante

di il
13 risposte

Aiutate un principiante

Ho iniziato da poco ad approcciarmi al mondo della programmazione, ho iniziato scaricandomi Visual studio 2019 e sto seguendo delle lezioni sul codice C#, purtroppo però sto avendo un problema, Ho visto che in genere si crea una finestra con dentro la classe principale, mentre le classi oggetto si creano ognuno su una finestra diversa, facendo così (e rendendo pubbliche le classi sulle altre finestre) dovrebbe essere possibile richiamare gli oggetti dalla finestra dove ho aperto la class Main, invece quando lo vado a fare io, provo a richiamare dalla class Main un altra classe (che ricordo si trova in una finestra differente da quella della Main (ma ovviamente sempre sulla stessa soluzione)) però non riesco a visualizzarla, posso risolvere il problema copiando il codice dell’oggetto e andandolo a riscrivere sulla stessa finestra della class Main, facendo così funziona, però ho appunto visto che invece dovrebbe essere possibile richiamarlo anche se fosse su un altra finestra, come mai invece io non riesco?
Ah e in oltre non capisco perché se invece devo far ereditare ad un oggetto il codice di un altro oggetto funziona anche se si trovano su due finestre diverse, spero di essermi spiegato bene.

13 Risposte

  • Re: Aiutate un principiante

    Aggiungo un paio di dettagli che avevo tralasciato
    1 - ho Vs 2019 mentre il tizio delle videolezioni che seguo usa il 2017 perché sono video di 3 anni fa, ho notato che io quando apro una finestra la prima cosa che mi esce è using System; mentre su quello del 2017 vedo che oltre ad using System; gli escono altre
    4 stringhe ognuna con un using System ******; differente (per esempio il primo é using System.Collections.Generic;), Dite che il problema potrebbe essere quello? Io ho provato a copiare quei codici ma oltre al fatto che me li tiene oscurati il programma continua ad avere gli stessi problemi di prima
    2 - ho visto che su 2017 per creare una nuova classe fa: Progetto, crea nuova classe
    Invece io se apro la finestra progetto non trovo il comando crea una nuova classe, quindi io per creare le nuove classi su un altra finestra ho fatto tasto destro sulla cartella proprieties, aggiungi, nuova classe.
    A me sembra che il risultato sia lo stesso, infatti facendo così mi apre una nuova finestra con una classe, cambia solo che poi non riesco a richiamarla dalla Main.
  • Re: Aiutate un principiante

    Panino ha scritto:


    Ho visto che in genere si crea una finestra con dentro la classe principale, mentre le classi oggetto si creano ognuno su una finestra diversa, facendo così (e rendendo pubbliche le classi sulle altre finestre) dovrebbe essere possibile richiamare gli oggetti dalla finestra dove ho aperto la class Main, invece quando lo vado a fare io, provo a richiamare dalla class Main un altra classe (che ricordo si trova in una finestra differente da quella della Main (ma ovviamente sempre sulla stessa soluzione)) però non riesco a visualizzarla, posso risolvere il problema copiando il codice dell’oggetto e andandolo a riscrivere sulla stessa finestra della class Main, facendo così funziona, però ho appunto visto che invece dovrebbe essere possibile richiamarlo anche se fosse su un altra finestra, come mai invece io non riesco?
    Se si tratta di uno scioglilingua, è davvero uno di quelli più difficili che abbia mai letto, e che non sarei in grado di ripetere.

    Innanzitutto, è bene chiarire i termini che si usano e verificare che siano corretti, altrimenti è impossibile capirsi: è un po' come voler intrattenere un discorso e non conoscere né la grammatica né i vocaboli.

    Ad esempio,
    mentre le classi oggetto si creano ognuno su una finestra diversa
    Cosa sono le "classi oggetto"? Mai sentite. Una classe è una classe, un oggetto è un oggetto.
    Le classi non si creano, si dichiarano all'interno di un file, e non stanno "su una finestra diversa".
    Gli oggetti invece sono istanze delle classi, quindi si creano (a differenza delle classi).

    Detto questo, senza poter vedere nemmeno il codice che hai scritto, già che non usi termini appropriati per definire le cose, è impossibile capire quale sia l'effettivo problema che stai cercando di affrontare.

    Il mio consiglio è: studiare i termini corretti e in caso di problemi postare il codice.

    Ciao!
  • Re: Aiutate un principiante

    Ovviamente sono d'accordo con Alka e aggiungo che non si deve scambiare un forum per un insegnante o una scuola. Quello che non conosci di base non va studiato qui.
  • Re: Aiutate un principiante

    Vi ringrazio per le risposte e chiedo scusa se ancora non ho imparato i termini, comunque ho risolto il problema, avevo creato i file delle classi in una cartella differente da quella della classe principale, infatti il namespace della classe principale era Prova, mentre le altre classi erano Prova.proprieties
  • Re: Aiutate un principiante

    Va beh ... file delle classi in cartelle differenti ... Prova.properties ... lasciamo perdere ...
  • Re: Aiutate un principiante

    oregon ha scritto:


    Va beh ... file delle classi in cartelle differenti ... Prova.properties ... lasciamo perdere ...
    Non ti preoccupare Oregon, sono giovane e ho tempo per imparare, chissà se tu imparerai a toglierti quell’aria da sapientone, poi vabbé, se tu sei nato che già sapevi programmare allora hai tutto il diritto di darti arie
  • Re: Aiutate un principiante

    Qui nessuno si dà arie e siamo qui per aiutare ma chi studia e impegnandosi ha le basi per poter fare domande corrette e sfruttare pienamente le risposte. Di chi viene senza conoscere l'abc e fa domande incomprensibili facendo pure polemica inutile, possiamo farne a meno.
  • Re: Aiutate un principiante

    Panino ha scritto:


    Non ti preoccupare Oregon, sono giovane e ho tempo per imparare, chissà se tu imparerai a toglierti quell’aria da sapientone, poi vabbé, se tu sei nato che già sapevi programmare allora hai tutto il diritto di darti arie
    Essendo che devi imparare e sei giovane, prendi spunto dai consigli che ti vengono dati da chi fa il mestiere sicuramente da più tempo e, sebbene in modo un pochino diretto, ti sta contestando la modalità con cui approcci allo studio di ciò che dici di voler imparare, sottolineando che stai scrivendo cose apparentemente "strane" o, per chi lavora nel campo, evidenti dal punto di vista della mancanza di chiarezza su ciò di cui si sta parlando.

    Nessuno è nato imparato, ma tutti hanno iniziato a correre dopo aver prima iniziato a camminare.

    Un saluto!
  • Re: Aiutate un principiante

    Caro @Panino (ma di Mac Donald, Panino Giusto, Burger King, Mama Burger, ...? )

    Mettiamola cosi:l' ""aria da sapientoni""

    c'e' l'abbiamo e c'e' la teniamo ben stretta e ne abbiamo ben donde!!!
    Perche' SIAMO sapientoni: abbiamo N-mila anni di esperienza, un titolo di studio elevato o SUPER elevato, e SAPPIAMO di cosa stiamo parlando.

    Quindi, invece di fare polemiche, ti conviene ascoltare UMILMENTE e fare tesoro di quello che ti si dice.

    Le PRIME COSE da sapere sono:

    1) programmare E' COMPLICATO
    2) la programmazione, come QUALUNQUE settore tecnico, HA LA SUA TERMINOLOGIA che VA IMPARATA, altrimenti non si capisce quello che uno dice
    3) PRIMA si studia POI si fa pratica
    4) Usare un IDE NON VUOL DIRE saper programmare. Uno puo' programmare algoritmi complessi ANCHE con carta e matita
    5) conoscere un linguaggio di programmazione NON VUOL DIRE saper programmare. Uno puo' saper programmare SENZA CONOSCERE nessun linguaggio di programmazione. Si chiama PSEUDOLINGUAGGIO.

    Come dice @Alka, ""essendo che"" nessuno nasce ""imparato"", abbiamo dedicato TEMPO e STUDIO (in questa fase NON E' importante quanto tempo) per capire i CONCETTI FONDAMENTALI.

    QUINDI per PRIMA COSA DEVI studiare i concetti fondamentali, da cui impari la terminologia, e SOLO dopo puoi iniziare a sperimentare.

    La programmazione ad oggetti NON E' semplice come altri tipi di programmazione, e realizzare interfacce utente richiede la conoscenza di concetti DECISAMENTE sofisticati (che cosa e' un evento, come si propaga un evento ad un oggetto, come si propagano le modifiche di un oggetto all'interfaccia utente? COME SI EVITANO i loop, ...)

    Quindi CONTESTIAMO, con cognizione di causa, visto che abbiamo fatto errori simili quando eravamo anche piu' ziovini di te

    Quindi, VIVA LE ARIE



    Naturalmente tu puoi fare quello che vuoi, MA se chiedi un parere ad ESPERTI (e noi LO SIAMO) non puoi pretendere che ti consigliamo come farebbe un ragazzetto senza esperienza
  • Re: Aiutate un principiante

    Per imparare le basi secondo me è meglio un manuale con teoria ed esercizi,questo potrebbe essere uno (gratuito) : https://introprogramming.info/english-intro-csharp-book/
  • Re: Aiutate un principiante

    oregon ha scritto:


    Ovviamente sono d'accordo con Alka e aggiungo che non si deve scambiare un forum per un insegnante o una scuola. Quello che non conosci di base non va studiato qui.
    Buonasera a tutti. Sono d'accordo con tutto quello che è stato detto. Programmare non è semplice. E prima di iniziare con qualche linguaggio bisognerebbe imparare le basi.
    Ma come in ogni cosa c'è il tutto e il contrario di tutto. Perché è anche vero che la pratica è il modo migliore per imparare le cose.
    Per questo ho preso come riferimento che il forum non è una scuola o un insegnante. Perché il forum ti da una mano quando sei a terra. non ti insegna a camminare/correre.

    Ci sto provando a imparare a camminare. Ma è davvero difficile programmare. E la cosa assurda per chi non sa ancora camminare, è che certe cose non le trovi scritte nei manuali perché danno per scontato che certe cose non si debbano spiegare. E non puoi scriverle in un forum… perché dovresti già saper camminare. E allora come lo risolvo questo stupido problema che ho?

    ci provo a chiedere a voi. e mi rendo conto che sto per chiedervi qualcosa di assurdo.


    -CREA NUOVO PROGETTO (SO Windows 10 64 bit. visual studio scaricato e installato da un paio di giorni. ho vergogna a dirlo ma sono un paio di giorni bloccato all'inizio. E già so che qualcuno di voi sta pensando "CAMBIA MESTIERE" )

    -Progetto vuoto (.NET Framework)
    nel menu progetto--> le ho provate tutte. Classe interfaccia. controllo utente.
    una volta che apre il codice se lo sostituisco con quello che ho copiato dal corso che vorrei studiare
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace prova
    {
        class Program
        {
            static void Main()
            {
               
                Console.Write("ciao mondo");
                Console.ReadLine();
    
            }
        }
    }

    perchè non mi apre la finestra? mi sento cosi incapace
  • Re: Aiutate un principiante

    Pivello ha scritto:


    nel menu progetto--> le ho provate tutte. Classe interfaccia. controllo utente.
    Se le provi tutte, vuol dire che non sai di preciso cosa devi fare, e allora è inutile andare a caso: fermati e documentati.

    Ad esempio, apprendi come creare soluzioni e progetti.

    Ci sta il non sapere, ma non puoi pretendere che qualcosa funzioni se vai totalmente a caso, confidando che un copia/incolla di un pezzo di codice in un progetto creato fortunosamente funzioni, e se anche funzionasse avresti appena superato il primo di mille problemi.
  • Re: Aiutate un principiante

    Grazie Alka. Hai capito tutto e che tutto ciò che ho usato per documentarmi era troppo avanti proprio ieri ho trovato un pdf che mi ha fatto capire dove sbagliavo ma non perchè. Usavo form e non consolle. Non è semplice per chi inizia oggi. Forse perché l ide di visual studio inserisce righe di codice che io non vedo? E quindi fa distinzione tra consolle e form?
    Non mi aspetto una risposta. Era solo un mio sfogo. Continuerò a impegnarmi. Grazie di nuovo. E grazie per il link
Devi accedere o registrarti per scrivere nel forum
13 risposte