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

Γενικό thread αποριών για τη C#.


Alithinos

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

Άλλα για άλλα! Δηλαδή ο φονταμενταλιστής αντιλαμβάνεται την έννοια ορθός λόγος αυτό που λες εσύ! :-)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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

Δημοσιευμένες Εικόνες

Επισκέπτης

Εδώ δεν μπορείς να πας στη συζήτηση στον βολικό κόσμο της M2000 οπότε διαλέγεις να κάνεις τον χαζό. Λες στην αρχή «Αν μιλήσεις με έναν φονταμενταλιστή θα σου πει οτι ο λόγος του είναι ορθός», σου επισημαίνω πως αυτό είναι ανοησία και δύο σχόλια παρακάτω αλλάζεις βιολί και λες «Δηλαδή ο φονταμενταλιστής αντιλαμβάνεται την έννοια ορθός λόγος αυτό που λες εσύ!». Προσπαθείς δηλαδή να μου προσάψεις τον αρχικό σου ισχυρισμό ώστε να βγεις τελικά από πάνω. Ειλικρινά, γιατί έχεις αυτό το μόνιμο κόμπλεξ να θες να έχεις δίκιο στα πάντα; Τόσο μεγάλη ανάγκη για επιβεβαίωση έχεις;

 

Για Γκαιμπελίσκος καλός είσαι. Αλλά μέχρι εκεί.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Κουταμάρες! Και η φάση είναι ότι συνεχίζεις να επιμένεις! Τι άλλο θα πεις βρε "φονταμενταλιστή"; Μάθε επιτέλους να ξεχωρίζεις τα αστεία από τα σοβαρά! Σε παρομοίασα με φονταμενταλιστή γιατί ενοχλήθηκες για το πόσα γράφει εδώ ο Alithinos. Δηλαδή εσένα τι σε χαλάει; Τι από την κοσμάρα σου χάνεται; Ο άλλος θέλει να μοιράζεται ότι κάνει πάνω στο προγραμματισμό. 

 

Μπορείς να φτιάχνεις κανέναν πρόγραμμα ή και αυτό μούφα είναι, στην κοσμάρα σου δηλαδή;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Επισκέπτης

Πενήντα χρονών άνθρωπος με συμπεριφορά 15χρονου.... Βαριέμαι και να σχολιάσω.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Οι περισσότεροι μόνοι τους μαθαίνουν προγραμματισμό. Και στις σχολές δεν σου μαθαίνουν πώς να γράφεις κώδικα. Στις καλές σχολές σου μαθαίνουν τη λογική και αλγόριθμους και στις μέτριες (βλέπε ιδιωτικά ΙΕΚ) σου λένε τα ίδια που λέει ένα μέσο βιβλίο προγραμματισμού. Από εκεί και πέρα είναι δική σου δουλειά να κάτσεις και να ψάξεις.

 

Όλη η γοητεία του προγραμματισμού βασίζεται στον πειραματισμό. Να κάνεις λάθη και να μαθαίνεις από αυτά. Ο προγραμματισμός δεν είναι πυρηνική φυσική, ειδικά σήμερα είναι πολύ πιο εύκολος από ότι πριν είκοσι χρόνια. Έχεις δεκάδες βιβλιοθήκες στη διάθεση σου για κάθε πρόβλημα, άπειρο κώδικα στο Διαδίκτυο να διαβάσεις και να μάθεις και χιλιάδες προβλήματα να λυθούν. Διαλέγεις ένα και φτιάχνεις ένα πρόγραμμα. Απλό είναι. Όλοι αυτό κάναμε. Εννιά στους δέκα προγραμματιστές που ξέρω ξεκίνησαν φτιάχνοντας μια ατζέντα με τηλέφωνα.

 

Δεν πρόκειται να μάθεις πιο γρήγορα ρωτώντας εδώ μέσα. Όταν μιλάς με κάποιον σαν τον defacer που έχει δεκαπλάσια εμπειρία από την δική σου πιο πιθανό είναι να μπερδευτείς με αυτά που σου λέει παρά να βγάλεις κάτι χρήσιμο από τη συζήτηση. Όσο για κίνητρο, αν το ψάχνεις στις προτροπές τρίτων λυπάμαι που θα στο πω έτσι ωμά αλλά δεν κάνεις για προγραμματιστής. Ο προγραμματιστής είναι κάποιος που γουστάρει να λύνει προβλήματα. Αν έχεις αυτό το σαράκι ασχολήσου αλλιώς βρες κάτι που να σε εμπνέει περισσότερο.

 

Αν ρωτάς κάτι στο SO και δεν σου κάνει η απάντηση δύο τινά υπάρχουν. Είτε αυτό που ρώτησες δεν ήταν αυτό που είχες στο μυαλό σου, είτε δεν κατάλαβες την απάντηση. Ειλικρινά, το θεωρώ απίθανο να σε απασχολούν ζητήματα που δεν έχουν απαντήσεις, εκτός κι αν το πεδίο ερευνών σου είναι κάποια εξελιγμένη μορφή AI που βρίσκεται σε πειραματικό στάδιο.

 

All in all, δεν υπάρχει σωστός και λάθος τρόπος προγραμματισμού. Δεν γράφουμε κώδικα για να γράφουμε κώδικα. Γράφουμε κώδικα για να λύνουμε προβλήματα. Βρες ένα πρόβλημα, φτιάξε ένα πρόγραμμα κι όταν τελειώσεις σβήστο και γράφτο από την αρχή με διαφορετική προσέγγιση. Μόνο έτσι θα μάθεις.

 

 

Καλά κοίτα, δεν περιμένω και τα πάντα να μου τα πουν άλλοι.

Δοκιμάζω διάφορα πράγματα και μόνος μου, που δεν τα αναφέρω εδώ.

Συν του ότι το να βρεις τη λύση μόνος σου σε ένα πρόβλημα, σου προσφέρει και μια ευχαρίστηση, ένα αίσθημα ικανοποίησης που τα κατάφερες, το οποίο δεν το αποκτάς με το να σου πει κάποιος άλλος την απάντηση ή να μάθεις τη λύση κοιτάζοντας την έτοιμη.

 

Ωστόσο, για κάποια πράγματα στη περίπτωση που κάποιος κάνει λάθος, ίσως οι συνέπειες να είναι... χειρότερες από το απλώς να ξοδέψει λίγο παραπάνω χρόνο για να καταλάβει κάτι καλύτερα μόνος του. Αν ας πούμε δεν συζητούσαμε εδώ μέσα για το goto, μπορεί να συνέχιζα να το χρησιμοποιώ πολύ συχνά, μέχρι που κάποια στιγμή θα έφτανα να φτιάξω ένα project που πραγματικά ίσως και να με έκανε αρκετές ημέρες δουλειάς να αποφασίσω να τις πετάξω στα σκουπίδια για να αρχίσω ξανά απ' την αρχή. Αυτό θα ήταν τραγικό. Και θα μπορούσε να αποφευχθεί σχετικά εύκολα, όπως με τη συζήτηση που κάναμε στις προηγούμενες σελίδες για το goto. Κατάλαβες την οπτική μου και γιατί κάποια πράγματα (αρκετά) τα ρωτάω ; 

 

Βέβαια, για εσένα ή κάποιον άλλο οι ερωτήσεις που κάνω εγώ ίσως να μην έχουν ενδιαφέρον. Και να μη νιώθεις μια πρόκληση όταν διαβάζεις αυτό το θέμα, που να σε ιντριγκάρει και να πεις "χμμ. ενδιαφέρον πρόβλημα, για να βρω πως λύνεται", αλλά να βλέπεις πχ την ερώτηση και να λες "χμφ.. αυτό ρωτάει ? τη βαρετή ερώτηση..". Νταξ σόρρυ για αυτό, αλλά μπορείς και να το αγνοήσεις το θέμα αν είναι έτσι.  :(

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αν ας πούμε δεν συζητούσαμε εδώ μέσα για το goto, μπορεί να συνέχιζα να το χρησιμοποιώ πολύ συχνά, μέχρι που κάποια στιγμή θα έφτανα να φτιάξω ένα project που πραγματικά ίσως και να με έκανε αρκετές ημέρες δουλειάς να αποφασίσω να τις πετάξω στα σκουπίδια για να αρχίσω ξανά απ' την αρχή. Αυτό θα ήταν τραγικό.

Δεν θα ήταν τραγικό. Ίσα, ίσα καλό θα ήταν γιατί θα έχεις χωνέψει πραγματικά γιατί πρέπει να κάνεις ή γιατί δεν πρέπει να κάνεις το τάδε. Όσες «θεωρητικές» συζητήσεις και να δεις εδώ θα κάνεις πολλά bad designs συνεχώς. Πάντα θα βλέπεις κώδικα που έγραψες κάποιο καιρό πριν και θα λες «ίου, εγώ το γραψα αυτό;;;». Αυτός όμως πρέπει να είναι και ο στόχος σου. Μόνο έτσι ξέρεις ότι πράγματι εξελίσσεσαι.

  • Like 2
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Επισκέπτης

Καταρχήν, οποιοδήποτε βιβλίο διαβάσεις σχετικά με κώδικα θα σου πει ότι το goto είναι λάθος πρακτική. Για την ακρίβεια δεν το αναφέρουν καν. Έχω βιβλία για C# που είναι 900 σελίδες και δεν έχουν ούτε μια παράγραφο γι αυτό το πράγμα. Από πού έμαθες να το χρησιμοποιείς; Μήπως από άλλες γλώσσες;

 

Δεύτερον, διαφωνώ με τον ορισμό σου για το τι είναι τραγικό. Το να ξεκινάς ένα project από την αρχή δεν είναι καθόλου τραγικό. Σε όλους έχει συμβεί κι όχι μόνο στο ξεκίνημα. Είναι μέρος της εκμάθησης. Έχω δεκάδες projects που τα έχω πετάξει γιατί στο τέλος αποδείχτηκε πως η προσέγγιση που ακολουθούσα δεν απέδιδε. Πιο πρόσφατο παράδειγμα, μου πήρε πάνω από δυόμιση μήνες να φτιάξω έναν αλγόριθμο για το color classification και τελικά για τη δουλειά που το ήθελα δεν απέδωσε τα αναμενόμενα οπότε όλο το project πάει στον κάλαθο. Αλλά δεν ήταν εντελώς χαμένη δουλειά γιατί στην πορεία κάτι έμαθα. Αν βασιζόμουν στα λεγόμενα κάποιου τρίτου θα γλύτωνα μεν το χρόνο αλλά δεν θα αποκτούσα εμπειρίες.

 

 Σαφώς και μπορώ να αγνοήσω τις ερωτήσεις σου, όπως κι εσύ τις ενστάσεις μου. Απλά προσπαθώ να σου επισημάνω ότι κατά την ταπεινή μου άποψη το να ρωτάς συνέχεια περισσότερο κακό σου κάνει παρά καλό.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το goto δεν πεθαίνει ποτέ. Είναι το jump ή και branch του επεξεργαστή. Αν υπάρχει δομή/εντολή στη γλώσσα που να σε βολεύει τη χρησιμοποιείς. Σε μικρά προγράμματα δεν παίζει,γιατί εύκολα το ξεπερνάς, αλλά για πολύπλοκα δύσκολα. Γενικά δεν φταίει το goto αλλά η ανάγκη να το χρησιμοποιήσει κανείς. Διαφορετικά θα το είχαν βγάλει από τις γλώσσες, του λεγόμενου δομημένου προγραμματισμού.

 

Να σημειώσω επίσης ότι ακόμα και να μην χρησιμοποιούνται goto ενδέχεται η χρήση δεικτών να κάνει την ροή προγράμματος χειρότερη, μέχρι και να έχουμε κρέμασμα, λόγω κυκλικής αναφοράς. Η ροή δεν είναι ξεκάθαρη αν υπάρχει μεγάλος αριθμός κλήσεων με εξάρτηση από τα δεδομένα.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Επισκέπτης

Να σημειώσω επίσης ότι ακόμα και να μην χρησιμοποιούνται goto ενδέχεται η χρήση δεικτών να κάνει την ροή προγράμματος χειρότερη, μέχρι και να έχουμε κρέμασμα, λόγω κυκλικής αναφοράς. Η ροή δεν είναι ξεκάθαρη αν υπάρχει μεγάλος αριθμός κλήσεων με εξάρτηση από τα δεδομένα.

 

Άλλο ένα απόσπασμα που πάει στο Hall Of Fame. Keep them coming.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καταρχήν, οποιοδήποτε βιβλίο διαβάσεις σχετικά με κώδικα θα σου πει ότι το goto είναι λάθος πρακτική. Για την ακρίβεια δεν το αναφέρουν καν. Έχω βιβλία για C# που είναι 900 σελίδες και δεν έχουν ούτε μια παράγραφο γι αυτό το πράγμα. Από πού έμαθες να το χρησιμοποιείς; Μήπως από άλλες γλώσσες;

Το πρώτο-έμαθα στη BASIC 1.1 που ήταν η πρώτη μου επαφή όταν ακόμα ήμουν παιδάκι, σε υπολογιστή που μου χε δώσει μεγαλύτερος ξάδερφος.

 

Όταν ξεκίνησα όμως να μαθαίνω C#, δεν ήξερα αν θα 'χει goto.

Δεν θυμάμαι που την πρωτο-είδα στη C#, αλλά πάντως ένα βιβλίο που έχω εδώ σε υλική μορφή, αυτό την αναφέρει μέσα.

Ο συγγραφέας αναφέρει ότι είναι "αμφιλεγόμενη" αλλά ο ίδιος δεν παίρνει θέση. Λέει ότι κυρίως δεν χρειάζεται, αλλά μπορεί να φανεί χρήσιμη σε περιπτώσεις όπως βαθιά nested loops. Δίνει για παράδειγμα την ύπαρξη μιας if με goto μέσα σε for, που είναι μέσα σε άλλη for, που είναι μέσα σε άλλη for, με το label να είναι έξω από όλες τις for. 

 

 

Δεύτερον, διαφωνώ με τον ορισμό σου για το τι είναι τραγικό. Το να ξεκινάς ένα project από την αρχή δεν είναι καθόλου τραγικό. Σε όλους έχει συμβεί κι όχι μόνο στο ξεκίνημα. Είναι μέρος της εκμάθησης. Έχω δεκάδες projects που τα έχω πετάξει γιατί στο τέλος αποδείχτηκε πως η προσέγγιση που ακολουθούσα δεν απέδιδε. Πιο πρόσφατο παράδειγμα, μου πήρε πάνω από δυόμιση μήνες να φτιάξω έναν αλγόριθμο για το color classification και τελικά για τη δουλειά που το ήθελα δεν απέδωσε τα αναμενόμενα οπότε όλο το project πάει στον κάλαθο. Αλλά δεν ήταν εντελώς χαμένη δουλειά γιατί στην πορεία κάτι έμαθα. Αν βασιζόμουν στα λεγόμενα κάποιου τρίτου θα γλύτωνα μεν το χρόνο αλλά δεν θα αποκτούσα εμπειρίες.

 

I see. 

Αλλά αν πάρουμε για παράδειγμα τη τελευταία ερώτηση που έκανα σ' αυτό το thread (να παγώνει το VS όταν πάω να προσθέσω εκ νέου καρτέλες σε database με error "invalid operation: the connection is closed" ενώ η σύνδεση είναι ανοιχτή) πως θα το λύσω ?

Εννοώ όχι να μου πεις "πάτα αυτό και εκείνο", αλλά ρητορικά ρωτάω τώρα. Η σύνδεση φαίνεται ανοιχτή, με το εικονίδιο με τη πράσινη πρίζα, αλλά μου πετά error ότι είναι κλειστή. Δεν θα 'πρεπε να συμβαίνει αυτό. Το VS φάσκει και αντιφάσκει.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Με δυσκόλεψε πολύ να βάλω στην Μ2000 το Goto να βγαίνει εκτός μπλοκ. Όμως είναι χρήσιμο και είναι λάθος η όποια ιδέα περί κακού προγραμματισμού. Κακός είναι ο προγραμματισμός που δεν αποδίδει. Γενικά ουδείς τέλειος και σίγουρα υπάρχουν περιθώρια βελτίωσης, αλλά όχι με στερεότυπα του στυλ "δεν χρησιμοποιώ goto". Αυτό λέγεται ξεροκεφαλιά. Για κάθε τι που δεν χρησιμοποιείς έχεις μια άποψη, όπως και το ανάποδο. Αν δεν έχεις τότε κάτι συμβαίνει με το κώδικα! Ο προγραμματιστής οφείλει να γνωρίζει το κώδικα. Προσωπικά δεν έχω εμπειρία από προγραμματισμό με συνεργασία, εκτός αν εξαιρέσουμε μερικά προγράμματα σε φόρουμ, μια μικρή συμβολή.

Όσο για τον πονηρό Elorant, ας δούμε και κανένα έργο του!

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Alithinos, on 15 May 2016 - 01:12 AM, said:

Όταν ξεκίνησα όμως να μαθαίνω C#, δεν ήξερα αν θα 'χει goto.

Δεν θυμάμαι που την πρωτο-είδα στη C#, αλλά πάντως ένα βιβλίο που έχω εδώ σε υλική μορφή, αυτό την αναφέρει μέσα.

Ο συγγραφέας αναφέρει ότι είναι "αμφιλεγόμενη" αλλά ο ίδιος δεν παίρνει θέση. Λέει ότι κυρίως δεν χρειάζεται, αλλά μπορεί να φανεί χρήσιμη σε περιπτώσεις όπως βαθιά nested loops. Δίνει για παράδειγμα την ύπαρξη μιας if με goto μέσα σε for, που είναι μέσα σε άλλη for, που είναι μέσα σε άλλη for, με το label να είναι έξω από όλες τις for. 

 

 

Ο Schildt γράφει - και σωστά -  αυτό που ανέφερα εγώ στα post #316 και #327.

Kαι δεν είναι ο μόνος. Σε άλλο σύγγραμμα γράφεται κατά λέξη :

 

"...the creators of C# implemented goto, because it is designed to solve a particular

problem without dredging up the old problems related to goto. So if you need to use

a goto statement, go ahead; just don’t use it excessively.

The following pseudo-code gives one example where it makes sense to use a goto

statement:

 

while( FirstActionLoop())

{  ...

   while( SecondActionLoop())

   {

      if( BreakOutOfLoops())

        goto EXIT_ALL;

   }

}

EXIT_ALL:

...

 

This code has two loops. If the code is executing the second loop and decides to end

processing, then exiting the loop becomes very difficult, because you can break execution only

one loop at a time using the break statement. Thus, the only real solution is to use the goto

statement, as just shown. "

 

 

Yπάρχουν κι άλλα τέτοια παραδείγματα στα οποία οι ειδικοί συμφωνούν.

Αυτή είναι η πρακτική χρήσης του goto σήμερα.

Το εκτεταμένο απόσπασμα που έδειξα στο post #318 είναι μια κάπως ακραία περίπτωση

όπου για τους παραπάνω λόγους η χρήση του goto είναι εκ των ων ουκ άνευ.

Όσοι διαφωνούν δογματικά, κακό του κεφαλιού τους....

 

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Επισκέπτης

I see. 

Αλλά αν πάρουμε για παράδειγμα τη τελευταία ερώτηση που έκανα σ' αυτό το thread (να παγώνει το VS όταν πάω να προσθέσω εκ νέου καρτέλες σε database με error "invalid operation: the connection is closed" ενώ η σύνδεση είναι ανοιχτή) πως θα το λύσω ?

Εννοώ όχι να μου πεις "πάτα αυτό και εκείνο", αλλά ρητορικά ρωτάω τώρα. Η σύνδεση φαίνεται ανοιχτή, με το εικονίδιο με τη πράσινη πρίζα, αλλά μου πετά error ότι είναι κλειστή. Δεν θα 'πρεπε να συμβαίνει αυτό. Το VS φάσκει και αντιφάσκει.

 

"Τo VS φάσκει κι αντιφάσκει" είναι λάθος προσέγγιση. Η σωστή προσέγγιση είναι "τι μαλακία έκανα πάλι;".

 

Να σε ρωτήσω κι εγώ με τη σειρά μου ρητορικά. Στο google έψαξες;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το πρώτο-έμαθα στη BASIC 1.1 που ήταν η πρώτη μου επαφή όταν ακόμα ήμουν παιδάκι, σε υπολογιστή που μου χε δώσει μεγαλύτερος ξάδερφος.

 

Όταν ξεκίνησα όμως να μαθαίνω C#, δεν ήξερα αν θα 'χει goto.

Δεν θυμάμαι που την πρωτο-είδα στη C#, αλλά πάντως ένα βιβλίο που έχω εδώ σε υλική μορφή, αυτό την αναφέρει μέσα.

Ο συγγραφέας αναφέρει ότι είναι "αμφιλεγόμενη" αλλά ο ίδιος δεν παίρνει θέση. Λέει ότι κυρίως δεν χρειάζεται, αλλά μπορεί να φανεί χρήσιμη σε περιπτώσεις όπως βαθιά nested loops. Δίνει για παράδειγμα την ύπαρξη μιας if με goto μέσα σε for, που είναι μέσα σε άλλη for, που είναι μέσα σε άλλη for, με το label να είναι έξω από όλες τις for. 

 

 

 

I see. 

Αλλά αν πάρουμε για παράδειγμα τη τελευταία ερώτηση που έκανα σ' αυτό το thread (να παγώνει το VS όταν πάω να προσθέσω εκ νέου καρτέλες σε database με error "invalid operation: the connection is closed" ενώ η σύνδεση είναι ανοιχτή) πως θα το λύσω ?

Εννοώ όχι να μου πεις "πάτα αυτό και εκείνο", αλλά ρητορικά ρωτάω τώρα. Η σύνδεση φαίνεται ανοιχτή, με το εικονίδιο με τη πράσινη πρίζα, αλλά μου πετά error ότι είναι κλειστή. Δεν θα 'πρεπε να συμβαίνει αυτό. Το VS φάσκει και αντιφάσκει.

Μωρέ χεσε την goto. Η c# είναι η καλύτερη γλώσσα εβερ, έχει τόσα πράματα, είναι αμαρτία να κόλλας σε μία goto. Πραγματικά όμως, είναι από τα πιο άχρηστα keywords στη γλώσσα που λέγεται c#.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

"Τo VS φάσκει κι αντιφάσκει" είναι λάθος προσέγγιση. Η σωστή προσέγγιση είναι "τι μαλακία έκανα πάλι;".

 

Να σε ρωτήσω κι εγώ με τη σειρά μου ρητορικά. Στο google έψαξες;

Μα δεν έκανα τίποτα πέρα από το να φτιάξω μερικές καρτέλες, να κάνω κλικ στο Start για να τρέξει η εφαρμογή και να δω στη πράξη αν δουλεύουν όλα μια χαρά (που δούλευαν) και να ξαναπάω στις καρτέλες.

:mellow:

 

Έψαξα αλλά δε βρήκα την ερώτηση αυτή να την έχει κάνει κάποιος άλλος.

 

Μωρέ χεσε την goto. Η c# είναι η καλύτερη γλώσσα εβερ, έχει τόσα πράματα, είναι αμαρτία να κόλλας σε μία goto. Πραγματικά όμως, είναι από τα πιο άχρηστα keywords στη γλώσσα που λέγεται c#.

Εγώ χεσμένη την έχω!  :lol:

Τουλάχιστον εδώ και κάτι ημέρες, αφού κατάλαβα πλέον τι και πως.

 

Τώρα έχω κολλήσει στο πρόβλημα με τη database connection που προανέφερα, και στο IO γενικά, το οποίο είναι τεράστιο.

Αποφάσισα για άσκηση να φτιάξω κάτι μεταξύ Notepad και Wordpad γιατί και από GUI προγράμματα μέχρι τώρα δεν έχω ιδέα (ότι είχα κάνει το είχα κάνει σε κονσόλα, και είναι καιρός πιστεύω να αρχίσω να εξοικειώνομαι και με τα υπόλοιπα σιγά - σιγά) αλλά και για να εξοικειωθώ με το IO.

 

Κατάφερα να φτιάξω τις μεθόδους για βασικό IO (νέο αρχείο, άνοιγμα, αποθήκευση, αποθήκευση ως) και μου μένει να υλοποιήσω πραγματάκια όπως επιλογές για μεγέθη κειμένου, γραμματοσειρές, bold / italic regular. Το πρόβλημα ποιο είναι ? Ότι αν και η δημιουργία & διαχείριση ενός τυπικού αρχείου κειμένου με StreamWriter και StreamReader είναι πανεύκολη, θέλω να φτιάξω το δικό μου τύπο αρχείων. Να μετατρέψω δηλαδή το string σε bytes και να τα σώζω με δικές μου μεθόδους, που αποθηκεύουν και metadata στο αρχείο. Κατάφερα να κάνω μεθόδους να γράφουν σε bytes το κείμενο, αλλά όταν πάω να εμφανίσω το περιεχόμενο από άνοιγμα, φαίνονται μόνο οι λατινικοί χαρακτήρες και άμα είχα γράψει Ελληνικούς, εμφανίζει ακατάληπτα σύμβολα. Θα βρεθεί η άκρη όμως, που θα πάει ?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

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

Σύνδεση

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

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

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