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

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


Alithinos

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

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

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

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

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

Γιατί χωρίς αυτόν θα έχω απλά ένα 'φορητό' .exe που βρίσκεται στο Bin\Release.

 

Θέλω όμως να χω και ένα shortcut, να φαίνονται και τα αντίστοιχα αρχεία με το εικονίδιο του προγράμματος, να ανοίγει κατ' ευθειαν με το πρόγραμμα ένα αρχείο κειμένου με διπλό κλικ, να έχει το .exe το δικό του εικονίδιο,κτλπ... 

 

Μπορώ να τα κάνω και πιο χειροκίνητα όλα αυτά κάθε φορά που αλλάζω κάτι, αλλά γιατί να το κάνω έτσι (και όποιος άλλος το δοκιμάσει) όταν μπορούν να γίνουν αυτοματοποιημένα με μερικά κλικ σε κουμπιά στυλ "Επόμενο" ; 

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

Επειδή δε θέλει να γίνουν όλα αυτά;

 

Με το μπαρδόν δηλαδή αλλά προσωπικά για να κάνω install πρέπει να είσαι από Sublime Text και πάνω. Δεν υπάρχει περίπτωση να τρέξω installer και να δώσω και admin για ραντομιά πρόγραμμα, και αν είμαι αναγκασμένος αλλά δεν το χρειάζομαι οπωσδήποτε η όλη δουλειά θα γίνει σε VM. Το δικό σου πρόγραμμα μπορώ να σκεφτώ πως κάποιος θα θέλει να το δει, δε μπορώ να σκεφτώ κανέναν εκτός απο σένα που να θέλει να το χρησιμοποιήσει.

 

Δεν ξέρω αν αντιπροσωπεύω την πλειοψηφία ή μόνο τον εαυτό μου αλλά ίσως να το ξανασκεφτείς.

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

Δημοσ. (επεξεργασμένο)

Έστω ότι αυτό το πρόγραμμα είναι μούφα. :P

 

(Είναι ένα κλικ πάνω από το Notepad, ένα κλικ κάτω από το Wordpad)

 

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

Σε κείνη τη περίπτωση θα πρέπει να χρησομιοποιήσω έναν installer. Άρα, καλό δεν θα ήταν να μάθω από τώρα, μιας και το 'φερε η ευκαιρία ?

 

Υ.Γ. Το πρόγραμμα αυτό δεν έχει πρότυπο τους text editors που χρησιμοποιούμε "εμείς" όπως Sublime και Notepad++. Στο μέλλον, αν προστεθούν επιπλέον δυνατότητες, θα είναι προσανατολισμένες προς personal organization. 

 

Υ.Γ.2 Μήπως είσαι λίγο υπερβολικός για το VM ? Δεν θα έφτιαχνα ιό. Άσε που δεν ξέρω καν αν μου επιτρέπει το CLR να πειράξω πράγματα που δεν πρέπει.

 

Υ.Γ.3. Βρήκα το Nullsoft. Καλό φαίνεται, και open source.

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

Ναι, δε μπορώ να φέρω αντίρρηση σ' αυτό. Αν θες να μάθεις να χρησιμοποιείς windows installer, go ahead.

 

Για το VM -- δεν τίθεται θέμα αν έφτιαξες ιο. Απλά δεν τρέχω random installers (ή γενικά random πράγματα που ζητάνε elevation) στο κανονικό μου σύστημα, ποτέ και για κανένα λόγο. Προσωπική συνήθεια.

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

Τελικά το "τελείωσα" αν και "τελείωσα" είναι σχετικό. (περισσότερα για αυτό παρακάτω)

 

Ιδού:

%25CE%25A3%25CE%25B7%25CE%25BC%25CE%25B5

 

Αν κάποιος ενδιαφερθεί να του ρίξει μια ματιά, το ανέβασα εδώ: link (και ναι είναι portable, χωρίς installer τελικά!  :P )

Οποιοδήποτε feedback θα ήταν καλοδεχούμενο.

 

Στα περαιτέρω τώρα:

 

Ήταν μια εμπειρία! Έστω και αν ήταν κάτι που κράτησε λιγότερο μιας εβδομάδας, και ξεκίνησε με 'βουρ στο πατσά' νοοτροπία που σε 'σοβαρό' πρόγραμμα δεν θα τολμούσα να κάνω, πιστεύω με βοήθησε πολύ περισσότερο από το λύσιμο μιας άσκησης σε console app.

 

Πέραν του ότι εξασκήθηκα σε αυτά που ήθελα εξ αρχής να μάθω καλύτερα και να εξοικειωθώ (GUI, βασικό IO) ήταν σαν ένα μικρό ταξίδι του Οδυσσέα ένα πράγμα. Στη πορεία έμαθα πολλά νέα πράγματα που δεν περίμενα / σκόπευα να μάθω, και εμφανίστηκαν διάφορα προβλήματα.

Έμαθα πχ πως να περνάω arguments στη main με double click ώστε να ανοίγει το πρόγραμμα απ' ευθείας το αρχείο, και ένα σωρό κλάσεις, μεθόδους, properties του .NET που δεν ήξερα. Από προβλήματα, προέκυψαν μερικά λόγο του τρόπου που χειρίζεται το VS το undo / redo, και το τρόπο που σώζει αυτόματα κάποιες αλλαγές χωρίς να του πεις εσύ. Με αυτό το τρόπο κόντεψα να χάσω ολόκληρο το project επειδή έσβησα κάτι απ το auto generated code, και όπως είναι διαμελισμένη η κλάση σα partial σε πολλά .cs και με αρκετά statements κρυμμένα σε #region #endregion κόντεψα να πάθω %#%%#% από τα νεύρα μου. Εμφανίστηκε και ένα τρελό bug που μου πήρε 7 ώρες να λύσω. (Όταν πάταγα μια επιλογή αλλαγής τύπου bold, italic, κτλπ, ενώ εφαρμοζόταν η επιλογή, η γραμματοσειρά του κειμένου άλλαζε στη default!). Τελικά όμως με κάποιες δοκιμές και αρκετό διάβασμα σε MSDN, λύθηκαν όλα τα bugs. Τουλάχιστον αυτά που μου εντόπισα εγώ ο ίδιος.

 

Ωστόσο παρατήρησα κάτι άλλο που μου έκανε περισσότερη εντύπωση: Από ότι βλέπεις έγραψα πως τελείωσα το πρόγραμμα στις 16 Μαίου, και τώρα έχουμε 18. Δεν το ανέβασα νωρίτερα για τον εξής λόγο: Συνέχεια έβρισκα κάτι που θα μπορούσα να κάνω, που θα το έκανε καλύτερο. Ακόμα και τώρα, δυσκολεύτηκα να πω "Εντάξει, ας μοιραστώ τώρα το πρόγραμμα όπως είναι αυτή τη στιγμή, να δω τι θα μου πουν". Ακόμα και τώρα έχω γράψει σε ένα αρχείο σημειώσεων μια λίστα με features που θα μπορούσαν να το κάνουν καλύτερο, και ακόμα συνεχίζουν να μου έρχονται ιδέες. Το θέμα είναι ότι είμαι πολύ πέραν του αρχικού σχεδίου. Πως έχω ήδη καλύψει τις "απαιτήσεις" που έβαλα στον εαυτό μου, και πάρα ταύτα μου φαίνεται ελλειπές, και σκέφτομαι "αφού μπορώ να το κάνω καλύτερο άμα βάλω αυτό".

Αλλά φοβάμαι μη πάει και αυτό είναι κακή πρακτική. Κάποτε πρέπει το κάθε πρόγραμμα να "τελειώνει" έτσι δεν είναι ?

Πότε όμως θα πρέπει να βάζουμε φρένο στο "α κάτσε να προσθέσω κι αυτό να το κάνω καλύτερο" και να λέμε "αρκετά, ότι έφτιαξα, έφτιαξα" ?  :unsure:

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

Να το λοιπόν σε Windows 8 (σε Virtual Box).

post-370421-0-53493800-1463529585_thumb.png

 

Παρατηρήσεις.

1. Πολύ αρχικό στάδιο. Οι εξαγωγή είναι ένα rtf με άλλο όνομα. Δεν διαβάζεται σε Linux. Επειδή δεν έχει το κείμενο κάτι το ειδικό θα μπορούσε να γίνει εξαγωγή σε html. Το δύσκολο είναι να το κάνεις σε Utf8.

2. Τι δεν έχει:

  • Δεν υπάρχει αναζήτηση,  
  • δεν υπάρχει feedback δηλαδή όταν ο δρομέας είναι πάνω σε κείμενο να δείχνει γραμματοσειρά και μέγεθος. Δηλαδή τα μενού είναι μόνο για εισαγωγή, ενώ έχουν δυνατότητα με τρόπο να δείχνουν την επιλογή που έχει το επιλεγμένο
  • Δεν δουλεύει το drag (δεν έχει βγει εκτός και δεν έχει και υποστήριξη σε κώδικα, φαίνεται ξεκάθαρα ότι έχει ξεχαστεί)
  • Δεν υπάρχει αναζήτηση και αλλαγή.
  • Δουλεύουν τα UNDO (CTRL+Z), REDO (Ctrl+Y) αλλά δεν υπάρχουν σε μενού. Δεν έχουν χρησιμοποιηθεί γραμμές σε μενού.
  • Στην νέα σημείωση θα ήταν καλύτερο να ανοίγει νέο παράθυρο. Τώρα σβήνει το κείμενο.και δεν δίνει UNDO. (δεν έχει υπολογιστεί το λάθος στην χρήση του GUI)
  • Δεν υπάρχει εναλλαγή σε μη αναδίπλωση κειμένου.

Τελικό συμπέρασμα. Έχεις πολύ δουλειά ακόμα! Βάλε και ένα timer για να σου εμφανίζει το μήνυμα μετά από κάποια λεπτά ως υπενθύμιση!

 

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

Δημοσ. (επεξεργασμένο)

Ευχαριστώ πολύ για το feedback!

 

Ε λοιπόν ξέρεις κάτι ? Αν σου πω ότι απ' όσα έχω σημειώσει στη λίστα που ανέφερα, αυτά που έγραψα είναι τελείως διαφορετικά από αυτά που μου έγραψες ?

 

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

Γιατί υποθέτω, αν το δουν 5 διαφορετικά άτομα, θα μου προτείνουν 5 διαφορετικά/ες πράγματα / λίστες πραγμάτων.

 

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

 

Αρκετά από το 2. μου πέρασαν απ' το μυαλό, αλλά τα έβαλα αμέσως στην άκρη γιατί θεώρησα πως άλλα πράγματα έχουν πιο πολύ προταιρεότητα. Ωστόσο διακρίνω τη σημασία όλων αυτών που περιγράφεις.

 

Εκτός από το 1. Γιατί να διαβάζεται σε Linux, αφού το πρόγραμμα θα είναι για Windows ? 

 

 

Τώρα όσων αφορά κάποια συγκεκριμένα στοιχεία, δεν τα πρόσθεσα γιατί απλά ήθελα να έχω μια μπάρα στη κορυφή του παραθύρου, και θυσίασα τη λειτουργικότητα προς χάριν αισθητικής. Γιατί στο μυαλό μου είχα ένα Notepad, με επιπλέον κάποια χαρακτηριστικά μορφοποίησης κειμένου. Και ο λόγος που δεν χρησιμοποιούσα ποτέ το Wordpad, ήταν ακριβώς αυτός: Γιατί το βρίσκω άσχημο, έχει πολύ clutter.

 

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

 

Και αυτό γιατί για εμένα το πρόβλημα που όρισα να λύσω ήταν ότι το Notepad δεν είχε καθόλου μορφοποίηση, το Wordpad και γενικά τα προγράμματα της MS με αυτό το στυλ GUI τα βρίσκω απαίσια, και το OpenOffice είναι overkill για απλές σημειώσεις. Έτσι ήθελα κάτι απλό και λιτό σαν το Notepad, αλλά με επιπλέον στοιχεία που του λείπουν.

 

Τέσπα θα κοιτάξω να φτιάξω και μια πιο πλούσια εκδοχή, για να το κάνω πιο χρήσιμο και να εξασκηθώ περαιτέρω, (και η συντήρηση υπάρχοντος λογισμικού είναι μέρος της τέχνης) αλλά για προσωπική καθημερινή χρήση θα κρατήσω μια απλή και λιτή version που θα είναι ακριβώς αυτό: Ένα notepad με λίγα παραπάνω features προς αντικατάσταση του notepad και τίποτα παραπάνω.

 

 

 

 

  • Στην νέα σημείωση θα ήταν καλύτερο να ανοίγει νέο παράθυρο. Τώρα σβήνει το κείμενο.και δεν δίνει UNDO. (δεν έχει υπολογιστεί το λάθος στην χρήση του GUI)

 

 

Αυτό γίνεται γιατί προσπάθησα αρκετά πράγματα να τα κάνω μόνος μου, και εννοώ να φτιάξω μεθόδους ενώ υπήρχαν παρόμοιες μέθοδοι σε κλάσεις του .NET, τις οποίες δεν χρησιμοποίησα εξ' αρχής γιατί δεν ήξερα ότι υπήρχαν. Αντί να χρησιμοποιήσω πχ. τις RichTextBox.Copy() , RichTextBox.Paste() κτλπ έκατσα και έφτιαξα μεθόδους για αυτές τις εργασίες μόνος μου. Κομπλέ με public static μεταβλητή μέσα στο πρόγραμμα που να δρα ως clipboard, αντί να χρησιμοποιήσω το clipboard των Windows. Φυσικά αυτό προξένησε πρόβλημα, το ότι δε μπορούσα να κάνω πχ copy από chrome ή αρχεία .txt και να κάνω μετά paste στις Σημειώσεις, και έτσι έψαξα και έμαθα ότι υπάρχουν και αυτές οι μέθοδοι στο richtextbox. Και να φανταστείς τόσες ώρες πείραζα το richtextbox και δεν τις παρατήρησα, και καθόμουν και έφτιαχνα αντίστοιχες απ το μηδέν! :P Για αυτό και το [Νέα Σημείωση] ,και κάποια άλλα ίσως να μη δουλεύουν ακριβώς όπως θα περίμενε κανείς. Τέσπα θα κοιτάξω να το λύσω. 

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

Φτιάξε το copy paste, το drag and drop, και αν θες να κάνεις τη διαφορά βάλε ζουμ, δηλαδή θα σαρώνεις το κείμενο και θα αυξάνεις 2pt όλα τα fontsize.

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

Θα τα 'χω υπ' όψη μου κι αυτά, προς το παρόν όμως  άρχισα να μαθαίνω για τους delegates.

Φαίνεται πολύ βολικό να μπορώ να καλέσω ένα σύνολο μεθόδων με μια γραμμή. :) 

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

βάλε ζουμ, δηλαδή θα σαρώνεις το κείμενο και θα αυξάνεις 2pt όλα τα fontsize.

Έλεος. Δεν ξέρω τι είναι αυτό που περιγράφεις, ζουμ πάντως δεν είναι.

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

Τι δεν καταλαβαίνεις;

Στο Word υπάρχει ζουμ που σχετίζεται με τη σελίδα, με το rendering στην οθόνη. Εδώ δεν έχει σελίδα, άρα θα σχετίζεται με το μέγεθος των γραμμάτων. Σημειώσεις φτιάχνει! Να κάνει να φαίνονται. Απλά θα κρατάει τις διαφορές σε pt.

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

Υπάρχει ολόκληρη σειρά από πραγματικά πολύ απλές σκέψεις που θα μπορούσες να έχεις κάνει σχετικά με το τι "δεν καταλαβαίνω", αν το είχες συνήθεια να σκέφτεσαι. Π.χ. το γεγονός ότι εφόσον υπάρχει word wrap η αλλαγή στο μέγεθος του font δεν είναι "ζουμ" γιατί αλλάζει το layout, ή το γεγονός ότι δε μπορείς στη γενική περίπτωση να κάνεις zoom έτσι γιατί το κείμενο μπορεί να περιέχει ήδη διαφορετικά μεγέθη fonts, ή διάφορα άλλα.

 

Ακόμα κι αν ήταν στη συγκεκριμένη περίπτωση δυνατό να κάνεις zoom, ποιός ο λόγος να κάθεται κανείς να τον παίζει υλοποιώντας βλακείες του στυλ άλλαξε το font size σε +2 και βάφτισέ το zoom? Αν τόσο πολύ καίγεσαι για κάποιο λόγο να υλοποιήσεις τη συγκεκριμένη λειτουργία, πες την "increase font size" όπως τη λένε και όλοι οι άλλοι. Αν πάλι θες να κάνεις zoom, κάντο σωστά.

 

Καταλαβαίνω βέβαια ότι μιλάω με το δημιουργό της m2000 αλλά τι να κάνω, έπρεπε να τα πω.

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

"O πνιγμένος από τα μαλλιά πιάνεται..." λέει μια παροιμία. Εδώ μόλις την έκανες...πραγματικότητα.

Ζουμ σε όλο το κόσμο είναι ότι μπορεί να μεγαλώσει. Ακόμα και αν χαλάσει το layout (το οποίο χαλάει μόλις κάνεις resize το παράθυρο). Σου έγραψα αλλά δεν έδωσες σημασία πως άλλο το ένα προς ένα ζουμ όταν έχουμε σελίδα (άρα να το layout) και άλλο το να κάνεις αυτό που κάνουν όλα τα τάμπλετ όταν ανοίγουμε html σελίδες.

Ασφαλώς και δεν συζητάς με το ανηψάκι...σου δεν ήταν ανάγκη να το επισημάνεις!

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

άλλο το να κάνεις αυτό που κάνουν όλα τα τάμπλετ όταν ανοίγουμε html σελίδες.

Υποθέτω δεν έχεις χρησιμοποιήσει ποτέ ζουμ σε tablet, γιατί η πραγματικότητα δε συμφωνεί μαζί σου. Και δε θα μπορούσε ποτέ να συμφωνεί μιας και η υλοποίηση του zoom σε σοβαρές εφαρμογές (html σε tablet browser) πρέπει να πιάνει μαζί εικόνες κλπ.

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

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

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

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

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

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

Σύνδεση

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

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

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