Ilias95 έγραψε:Λοιπόν δοκίμασα με διάφορα αρχεία (text, binaries, ταινίες, εικόνες) και φαίνεται να δουλεύει κανονικά ως προς τα βασικά.
Επίσης όλες οι λειτουργίες που φαίνονται στην βοήθεια δουλεύουν σωστά.
Ευχαριστώ!
έγραψε:Προβλήματα:
1) Δεν μπορώ να ανοίξω ένα αρχείο iso. Δίνω κανονικά το full path προς το αρχείο αλλά μου λέει ότι δεν υπάρχει.
Μόλις δοκίμασα σε Windows που είμαι τώρα ένα .iso του MS-Office-10 και το άνοιξε κανονικά... έχω κάνει όμως κάτι αλλαγές στον κώδικα (δεν δοκίμασα με τον ποσταρισμένο κώδικα). Oι πρώτες 110 σελίδες του .iso ήταν γεμάτες από μηδενικά bytes, πράγμα που μου έδωσε hint να προσθέσω στην εντολή αναζήτησης τη δυνατότητα να πηγαίνει στο επόμενο/προηγούμενο μη-μηδενικό byte

έγραψε:
2) Ερώτηση. Οι φάκελοι πρέπει να ανοίγουν με έναν hex viewer;
Κανονικά όχι, αλλά στο Linux που τα πάντα είναι αρχεία μάλλον δεν το καταλαβαίνει πως πρόκειται για φάκελο (στα Windows μου βγάζει permission denied). Το θέμα είναι πως ο κώδικας χρησιμοποιεί μόνο στάνταρ C, ενώ αυτό που ρωτάς θέλει platform-dependent κώδικα.
έγραψε:
Όταν δίνω ένα όνομα φακέλου με ρωτάει κανονικά αν θέλω να ανοίξει. Αν απαντήσω ναι, συνήθως απλά ανοίγει ένα κενό αρχείο. Μερικές φορές όμως κρασάρει το πρόγραμμα.
Επίσης έναν συγκεκριμένο φάκελο αν προσπαθήσω να τον ανοίξω την πρώτη φορά απλώς ανοίγει ένα άδειο αρχείο. Στην δεύτερη φορά που θα προσπαθήσω όμως κρασάρει.
Αυτό συμβαίνει όσες φορές και αν δοκιμάσω με τον συγκεκριμένο φάκελο. Με άλλους κρασάρει με την πρώτη.
Όπως είναι τώρα ο κώδικας δεν είναι φτιαγμένος να δείχνει άδεια οθόνη όταν δεν υπάρχει φορτωμένο αρχείο, τι εννοείς όταν λες σου ανοίγει ένα άδειο αρχείο;
έγραψε:
[code]ilias@ilias-pc:~/hex$ ./hexview
Loading "./hexview"...
Done!
...
Αυτά είναι μάλλον αναξιόπιστα πράγματα, γιατί ο κώδικας δεν προβλέπει άνοιγμα φακέλων. Εννοώ πως δεν κάνω κάποιου είδους διαχωρισμό μεταξύ αρχείων, φακέλων, δίσκων, κλπ. Παίρνω ως δεδομένο πως ότι του δώσεις θα είναι αρχείο, και το ανοίγω ως τέτοιο. Δες και παραπάνω.
έγραψε:
3) Εκεί που δίνουμε εντολές αν τυχόν η εντολή είναι μεγάλη και ξεπερνάει την μία γραμμή η εντολή συνεχίζεται παρακάτω όπως είναι λογικό.
Το πρόβλημα είναι ότι αν πατήσει κάποιος backspace για να σβήσει χαρακτήρες μπορεί να σβήσει μέχρι το τέλος της γραμμής που βρίσκεται και όχι προηγούμενες γραμμές.
Στα Windows που είμαι τώρα, σβήνει και τις προηγούμενες... αυτό είναι θέμα φλοιού. Δεν διαχειρίζομαι εγώ δηλαδή το editing που κάνεις σε εκείνες τις γραμμές, το διαχειρίζεται ο φλοιός του λειτουργικού σου.
έγραψε:4) Καλύτερα να εμφανίζεις ένα μήνυμα "invalid option" όταν χρειάζεται. Αν δώσω "hfsafasffafads" θα μου ανοίξει την βοήθεια.

Αυτό έτσι το έχω βάλει να δουλεύει... δηλαδή το 1ο γράμμα που δίνεις λαμβάνεται πάντα ως εντολή... το h στην προκειμένη περίπτωση

Άμα δώσεις κάτι που δεν αρχίζει με αναγνωρίσιμη εντολή στο 1ο γράμμα το έχω βάλει απλά να επανασχεδιάζει την οθόνη. Αν του βάλω να γράφει κάτι π.χ. "Invalid option" θα πρέπει να του βάλω κι ένα pressENTER() αλλιώς δεν θα προλάβεις να το διαβάσεις.
έγραψε:Τα παραπάνω με το λειτουργικό της υπογραφής μου.
1000 ευχαριστώ! Θα ψαχτώ με αυτό με τους φακέλους.
Προς το παρόν οι προειδοποιήσεις που ποστάρισε ο Σίμος από το compilation του τελευταίου κώδικα (0.261Α) μου έδειξαν ένα ακόμα πρόβλημα που υπάρχει. Δοκιμάστε να δώστε ένα τεράστιο νούμερο ως βήμα στο > ... πχ.: >42304832472384387623473284739472472394
Οποιοδήποτε επόμενο: > δεν θα λειτουργεί πια... αν όχι οποιοδήποτε, πάντως αρκετά από τα επόμενα.
@simosx: Ευχαριστώ και πάλι. Βασικά σώζει στηλοθέτες το [z_code ] αλλά βάζει πρώτα ένα περιθώριο από σκέτα spaces (να ενημερώσουμε τον the_eye)
@Starlight: Δεν έχω καταλάβει που είναι το πρόβλημα. Και τα 2 links που δίνεις σωστά τα γράφουν.