Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα!

Θέλω να κάνω μια αρχή σε windows forms με το visual studio 2012, σε Visual C++

Από C++ γνωρίζω μερικά πράγματα, όχι πολλά, αλλά μπορώ να ασχοληθώ και να μάθω αρκετά. Έχω το βιβλίο του lafore, αντικειμενοστρεφής προγραμματισμός με τη C++

Το θέμα είναι ότι έχω ασχοληθεί μόνο σε Dev-C/C++, με C, σε κονσόλα το οποίο ήταν αρκετά απλό και η μετάβαση

σε Visual Studio δείχνει ένα εντελώς διαφορετικό στυλ προγραμματισμού!

Υπάρχουν κάποιοι οδηγοί, tutorials, sites ή βιβλία για να εξοικιωθεί κανείς με το περιβάλλον του Visual Studio?

Ευχαριστώ! :)

  • Απαντ. 30
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Δημοσ.

Μπλεκεις πάρα πολλά πράγματα μαζί.

 

Ένα-ένα.

 

Windows Forms.

Σίγουρα μπορείς να το χρησιμοποιήσεις και απο τη c++ αλλά μιας και είναι μέρος του .net μόνο μέσα από την c++ cli μπορείς.

 

Τώρα.

Στη C++ της microsoft μπορείς να βρεις αρκετές native λύσεις για γραφικά. Π.χ. MFC.

 

Αν θες windows forms θα σου πρότεινα να πιάσεις C#.

 

Γενικά για το visual studio υπάρχουν πάρα - πάρα - πάρα πολλά πράγματα - βιβλία κτλ.

Απλά κατα βάση πρέπει να τα ψάξεις με βάση τη γλώσσα.

(Υπάρχουν και κάτι λίγα γενικά για το Visual Studio)

 

Διόρθωση!

 

Σκέφτηκα μήπως οταν λες windows forms δεν εννοείς απαραίτητα την βιβλιοθήκη "windows forms" του .net

αλλα γενικότερα την κατασκευή windows applications.

 

Είναι έτσι;

 

Αν ναι, απλά έχε υπόψη ότι ακόμα και στην ίδια την microsoft visual c++ υπάρχουν παραπάνω της μια βιβλιοθήκες για να το κάνεις αυτό.

Δημοσ.

Ναι εννοούσα windows applications και γνωρίζω ότι υπάρχουν πολλές βιβλιοθήκες.

Για αρχή με τι θα ξεκινούσε κάποιος;

Έχω ακούσει ότι η βιβλιοθήκη CLR είναι πολύ καλή για windows apps.

Το θέμα για μένα είναι να κοιτάξω λίγο το στυλ προγραμματισμού, είτε είναι C++ είτε C# γιατί διαφέρει πολύ

από τα απλά προγράμματα σε C και C++ σε κονσόλα.

Ποιές είναι οι απαραίτητες βιβλιοθήκες; από ποιά απαραίτητα μέρη αποτελείται ένα τελικό πρόγραμμα; κτλ...

 

Και γιατί C# και όχι C++; Ποιά η διαφορά;

Δημοσ.

Πρώτα απ' όλα, ας έχεις υπ' όψιν ότι η C# είναι παιδάκι της Microsoft και εφόσον σκοπεύεις να δουλέψεις σε Visual Studio, τότε, αν θέλεις να πάρεις το περισσότερο από αυτό, μάλλον σε C# ή VB θα πρέπει να κοιτάξεις.

 

Σε C++ σίγουρα μπορείς να κοιτάξεις και άλλα IDE - θα σου πούν και οι πιο έμπειροι.

Δημοσ.

Πρώτα απ' όλα, ας έχεις υπ' όψιν ότι η C# είναι παιδάκι της Microsoft και εφόσον σκοπεύεις να δουλέψεις σε Visual Studio, τότε, αν θέλεις να πάρεις το περισσότερο από αυτό, μάλλον σε C# ή VB θα πρέπει να κοιτάξεις.

 

Σε C++ σίγουρα μπορείς να κοιτάξεις και άλλα IDE - θα σου πούν και οι πιο έμπειροι.

Ναι το γνωρίζω, και με μια ματιά φαίνεται πως έχει συντακτικές ευκολίες απ' ότι η C++

το .net σε τι χρησιμεύει; έχει να κάνει με τις βιβλιοθήκες για το ui?

Δημοσ.

Το έψαξα λίγο το θέμα και αυτό που με μπερδεύει είναι περισσότερο το περιβάλλον προγραμματισμού!

Επειδή όπως έχω μάθει από τη C και από το βιβλίο της C++ επίσης, τα περισσότερα προγράμματα ξεκινούν με main.

Εδώ όμως δεν υπάρχει ρουτίνα main. Οπότε ψάχνω έναν οδηγό να μου ξεκαθαρίσει λίγο το τοπίο!

Σε τί χρησιμευουν οι οδηγίες using, namespace, system κτλ...

 

Επίσης για να μπορέσω να ξεφύγω λίγο από αυτόν τον χαμό, σκέφτηκα να φτιάξω ένα header file με ένα απλό πρόγραμμα C++ με ρουτίνα main και διάφορες κλάσεις και ρουτίνες

που θα συνδέονται με το γραφικό περιβάλλον του Visual Studio, γιατί όσες φορές θέλησα να φτιάξω κλάσεις δεν ήξερα που πρέπει να μπουν και τι εμβέλεια θα έχουν... και πολλές

φορές μου πετούσε error.

Δημοσ.

Η c++ δεν ειναι σκετη παει πακετο με το .net framework. Αν θες σκετη θελει αλλη ρυθμιση και δεν εχει τοσες ευκολιες το vs.

 

Αυτό δεν ισχύει καθόλου. Υπάρχει ο compiler για native C++ και για C++ CLI (για το .net).

Επίσης όταν εκκινείς καινούριο project C++ έχεις τις επιλογές τόσο για CLR c++ (.net) όσο και για win32, mfc, atl, empty project κ.τ.λ. που είναι όλα native "κανονική" C++.

 

Ποια έκδοση έχεις βάλει και δε σου έχει όλα αυτά τα project types παρά μόνο το CLR???

 

Το έψαξα λίγο το θέμα και αυτό που με μπερδεύει είναι περισσότερο το περιβάλλον προγραμματισμού!

Επειδή όπως έχω μάθει από τη C και από το βιβλίο της C++ επίσης, τα περισσότερα προγράμματα ξεκινούν με main.

Εδώ όμως δεν υπάρχει ρουτίνα main. Οπότε ψάχνω έναν οδηγό να μου ξεκαθαρίσει λίγο το τοπίο!

Σε τί χρησιμευουν οι οδηγίες using, namespace, system κτλ...

 

Επίσης για να μπορέσω να ξεφύγω λίγο από αυτόν τον χαμό, σκέφτηκα να φτιάξω ένα header file με ένα απλό πρόγραμμα C++ με ρουτίνα main και διάφορες κλάσεις και ρουτίνες

που θα συνδέονται με το γραφικό περιβάλλον του Visual Studio, γιατί όσες φορές θέλησα να φτιάξω κλάσεις δεν ήξερα που πρέπει να μπουν και τι εμβέλεια θα έχουν... και πολλές

φορές μου πετούσε error.

 

Ποια έκδοση του VS 2012 έβαλες και τι τύπου project δημιουργείς;

Δημοσ.

δεν ξέρω ποιά έκδοση VS έχω.

Έχω δοκιμάσει πολούς τύπους project και σε C++ και σε C#

 

Έχω δοκιμάσει σε c++ empty project και στη συνέχεια απ τον solution explorer επιλέγω source files -> add -> new item -> ui -> windows form και μου εμφανίζει το μήνυμα

you are adding a CLR component to a native project your project will be converted to have CLR...

Το κάνω convert συνεπώς...

Τρέχω το πρόγραμμα και...

1>LINK : fatal error LNK1561: entry point must be defined

 

Τώρα, στο source files MyForm.cpp, πάω και προσθέτω void main(void) { }

και το πρόγραμμα τρέχει κανονικά. μου πετάει μια κονσόλα που κλείνει αμέσως και το πρόγραμμα τερματίζει.

άρα στη main πρέπει να καλέσω την φόρμα μου σωστά;

Δημοσ.

Και ναι και όχι. Ανακατώνεις πολλά πράγματα μαζί.

 

Σου έστειλα ενα pm με ένα βιβλίο καλό είναι να ξεκινήσεις με αυτό.

 

Θα σε κατατοπίσει τόσο με την C++ (φυσικά ό,τι ξέρεις το προσπερνάς) όσο και με το visual studio και τα διάφορα project types της C++.

 

Επίσης άλλο C++ άλλο (μα άλλο) C#.

 

Άλλες γλώσσες (με κοινή τη βασική και μόνο σύνταξη).

Δημοσ.

Αυτό που είπε ο φίλος dolph ισχύει;

Όντως έχω δεί μερικές ευκολίες στη σύνταξη αλλά δε νομίζω ότι αρκεί για να καταλάβεις ποια είναι καταλληλότερη.

Τί διαφορές έχουν;

Πρώτα απ' όλα, ας έχεις υπ' όψιν ότι η C# είναι παιδάκι της Microsoft και εφόσον σκοπεύεις να δουλέψεις σε Visual Studio, τότε, αν θέλεις να πάρεις το περισσότερο από αυτό, μάλλον σε C# ή VB θα πρέπει να κοιτάξεις.

Δημοσ.

Ωραία.

Αν μιλήσουμε για μετάβαση στην C# αλλάζουμε τελείως σελίδα.

 

Τώρα οι διαφορές δε νομίζω οτι μπορεί να αναλυθούν σε ένα ποστ.

 

Για αρχή η C# είναι managed περιβάλλον με garbage collector.

Δηλαδή δε χρειάζεται (πάντα) να κάνεις delete οτιδήποτε δημιουργείς.

Το κάνει αυτόματα το σύστημα όταν δει οτι δε χρησιμοποιείται άλλο.

 

Α, επίσης όλα τα αντικείμενα στην C# είναι αναφορές και μόνο. Δεν έχει αντικείμενο, αναφορά σε αντικείμενο και pointer όπως στη C++.

 

Τέλος πάντων.

 

Ρωτάς τι είναι καταλληλότερο.

 

Αυτό εξαρτάται απο πολλά πράγματα αλλά απ όσο έχω πιάσει το κλίμα σου θα έλεγα οτι μπορείς να κάνεις μια προσπάθεια με την C#. Απ οτι έχω καταλάβει δεν έχεις χρόνια και μεγάλη εμπειρία στη C++ οπότε θα ήταν βολικό να συνεχίσεις με αυτήν.

 

Σε κάθε περίπτωση όμως (και θα επιμείνω σε αυτό) βρες ένα (και αργότερα κι άλλα) καλό βιβλίο και ξεκίνα με αυτό και όχι μόνος σου στο άσχετο να ψάχνεις να βρεις.

Εκτός αν θες απλά να παίξεις. Τότε σεβαστό.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...