Lanike71 Δημοσ. 16 Δεκεμβρίου 2015 Δημοσ. 16 Δεκεμβρίου 2015 Αυτή η αηδιαστική ειρωνεία, το αίσθημα ανωτερότητας, η ψευδαίσθηση της παντογνωσίας και πολλά άλλα κομπλεξικά συναισθήματα που συναντά κανείς σε καθημερινή βάση σε σχολές υπολογιστών, όπως είναι αναμενόμενο, έχουν μεταφερθεί και σε τεχνολογικό φόρουμ στην αντίστοιχη ενότητα και εκφράζονται ανελλιπώς από τα ανάλογα άτομα. Από την πλήρη αδιαφορία του καθηγητή, προτιμώ καμία "σφαλιάρα". Ούτως ή άλλως ούτε ο καθηγητής θα σου πει πώς διαβάζεται το αρχείο, έχεις βιβλία και ένα τεράστιο νετ. 1
BabyRage Δημοσ. 16 Δεκεμβρίου 2015 Δημοσ. 16 Δεκεμβρίου 2015 Όλα καλά εκτός από την περιγραφή του f ως αναγνωριστικό. Βεβαίως κάθε όνομα είναι ένα αναγνωριστικό αλλά άλλο πράγμα αναγνωριστικό που δηλώνει συνάρτηση, άλλο που δηλώνει τύπο, άλλο που δηλώνει μεταβλητή. Εδώ το f λέγεται handler δηλαδή χειριστής. Το αρχείο έχει όνομα και διεύθυνση. Αυτό που παίρνουμε στο f είναι ο Χειριστής-Handler ενός δρομέα, ή cursor. Σε μερικές γλώσσες ξεχωρίζει ο Χειριστής με προσθήκη #, #f αν δει κανείς το seek #f,10 σημαίνει για το δρομέα f να πάει στη θέση 10 του αρχείου. Σε επίπεδο λειτουργικού υπάρχει όλο το σετ εντολών που κάνουν δύο επιπλέον πράγματα..Ένα ότι καθορίζουν αν η πρόσβαση στο αρχείο θα είναι αποκλειστική, και το άλλο αν δεν είναι αποκλειστική, να φτιάξουμε και άλλους δρομείς. Η έννοια των δρομέων επεκτείνεται στις βάσεις δεδομένων όπου κρύβονται πίσω από το recordset, αλλά καθορίζονται με πολλούς τρόπους σε σχέση με το αν κοιτάνε το αρχείο ή το τμήμα που επιλέγουμε. Η διαφορά δηλαδή είναι στο τι συμβολίζει το +1 στο δρομέα. Επόμενη εγγραφή, επόμενο byte, επόμενο wchar. Εδώ έχει σημασία να καταλάβει κανείς την διαφορά σταθερού μήκους εγγραφής/πεδίου, με μη σταθερού. Στη δεύτερη περίπτωση η υλοποίηση η πιο απλή είναι η σειριακή, δηλαδή κάθε εγγραφή έχει ένα δείκτη τέλους. Οπότε αναγκαστηκά πάμε από την αρχή. Πάνω στο τελευταίο λοιπόν, την ανάγκη για σειριακή ανάγνωση, το ίδιο το αρχείο είναι σαν μια εγγραφή αλλά χωρίς σημείο τέλους. Δεν χρειάζεται γιατί το σύστημα γράφει το μήκος του και τον εσωτερικό δρομέα τον ελέγχει πάντα αν πέρασε το τέλος. Τι σημαίνει εσωτερικός δρομέας; Όπως και να έχει το πράγμα ακόμα δηλαδή και αν το αρχείο μας είναι μια βάση δεδομένων..ο δικός μας δρομέας που ορίζει το recordset, το ζητούμενο με κριτήρια,μετατρέπεται σε τιμή για το πραγματικό δρομέα. Όταν δύο προγράμματα βλέπουν την ίδια βάση, η κάθε μία έχει το δικό της πραγματικό δρομέα. Ενδιαφέρον παρουσιάζει να δούμε τι θέση παίρνει ο δρομέας για να μεγαλώσει το αρχείο. Όσο η θέση του είναι εντός του χώρου του αρχείου δεν έχουμε επέκταση. Αν πάει στο μήκος +1 και έχουμε δικαίωμα εγγραφής τότε αυξάνουμε το μήκος του. Αλλά πόσο; Δεν γίνεται αύξηση αν δεν δώσουμε κάτι. Έτσι σε φάση που γράφουμε αν ο δρομέας είναι στο μήκος+1 (αν ξεκινάνε απλό 1 ή χωρίς +1 αν ξεκινάμε από 0) δεν υπάρχει μήνυμα αληθές στο EΟL η τέλος αρχείου. Το μήνυμα αυτό βγαίνει μετά απο διάβασμα. Σε αρχεία που διαβάζουμε και γράφουμε ελέγχουμε απ ευθείας το μήκος. Παλιά αυτό ήταν πρόβλημα, διότι το αρχείο δεν δήλωνε το μήκος του στην αρχή...ήταν σε ταινία! Να γιατί διαβάζουμε για χαρακτήρες τέλους αρχείου όπως control Z, που φυσικά δεν ισχύουν στον δίσκο αλλά πιάνουν στο stream, που είναι η ιδέα της ταινίας σήμερα... +1 Αλλά ο topic starter δεν απαντά... αναρωτιέμαι γιατί;
defacer Δημοσ. 17 Δεκεμβρίου 2015 Δημοσ. 17 Δεκεμβρίου 2015 Αυτή η αηδιαστική ειρωνεία, το αίσθημα ανωτερότητας, η ψευδαίσθηση της παντογνωσίας και πολλά άλλα κομπλεξικά συναισθήματα που συναντά κανείς σε καθημερινή βάση σε σχολές υπολογιστών, όπως είναι αναμενόμενο, έχουν μεταφερθεί και σε τεχνολογικό φόρουμ στην αντίστοιχη ενότητα και εκφράζονται ανελλιπώς από τα ανάλογα άτομα. Η ειρωνεία όντως υπάρχει και είναι δικαίωμά σου να τη χαρακτηρίζεις αηδιαστική. Αλλά αίσθημα ανωτερότητας; Ψευδαίσθηση παντογνωσίας; "Πολλά άλλα κομπλεξικά συναισθήματα"; Δε νομίζεις ότι ο αριθμός των αβάσιμων υποθέσεων που κάνεις ανά μονάδα του χρόνου έχει ξεφύγει λίγο; Αν είναι δυνατόν αίσθημα ανωτερότητας και άλλα τέτοια φαιδρά επειδή π.χ. ξέρει κανείς να διαβάζει από αρχείο στη μνήμη. Όπως εσύ βρίσκεις αηδιαστική την ειρωνεία, έτσι και άλλοι (και γω ανάμεσά τους) βρίσκουν αηδιαστικό το give me teh codez. Για λόγους που, όπως και στη δική σου περίπτωση, θα μπορούσαμε να συζητήσουμε αλλά στην τελική δεν είναι κανενός άλλου δουλειά εκτός από δική μας. Fair enough? 2
παπι Δημοσ. 17 Δεκεμβρίου 2015 Δημοσ. 17 Δεκεμβρίου 2015 Δε λέτε πάλι καλά που μπαίνει στο κόπο να απαντήσει; 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα