Διαχείριση αρχείων Ascii (κειμένου) από κώδικα Delphi

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

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

Τα αρχεία κειμένου θεωρούνται ότι αντιπροσωπεύουν μια ακολουθία χαρακτήρων μορφοποιημένων σε γραμμές, όπου κάθε γραμμή τερματίζεται από ένα δείκτη άκρου γραμμής (a Συνδυασμός CR / LF).

Το TextFile και η μέθοδος εκχώρησης

Για να αρχίσετε να εργάζεστε με αρχεία κειμένου, πρέπει να συνδέσετε ένα αρχείο σε ένα δίσκο σε μια μεταβλητή αρχείου στον κωδικό σας - δηλώστε μια μεταβλητή τύπου TextFile και χρησιμοποιήστε τη διαδικασία AssignFile για να συσχετίσετε ένα αρχείο σε ένα δίσκο με ένα αρχείο μεταβλητός.

instagram viewer

Ανάγνωση πληροφοριών από ένα αρχείο κειμένου

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

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

Αφού προσθέσετε μια γραμμή κειμένου από ένα αρχείο σε ένα στοιχείο memo, το SomeTxtFile πρέπει να κλείσει. Αυτό γίνεται από το Κλείσε λέξη-κλειδί.

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

EOF - Τέλος αρχείου

Χρησιμοποιήστε τη λειτουργία EOF για να βεβαιωθείτε ότι δεν προσπαθείτε να διαβάσετε πέρα ​​από το τέλος του αρχείου. Ας υποθέσουμε ότι θέλουμε να εμφανίσουμε το περιεχόμενο του αρχείου σε πλαίσια μηνυμάτων - μία γραμμή τη φορά μέχρι να φτάσουμε στο τέλος ενός αρχείου:

Σημείωση: Είναι καλύτερο να χρησιμοποιείτε Ενώ βρόχο από το βρόχο Until για να λάβετε υπόψη την (απίθανη) πιθανότητα ότι το αρχείο υπάρχει, αλλά δεν περιέχει δεδομένα.

Γράφοντας κείμενο σε ένα αρχείο

ο WriteLn είναι ίσως ο πιο συνηθισμένος τρόπος για την αποστολή μεμονωμένων πληροφοριών σε ένα αρχείο. Ο παρακάτω κώδικας θα διαβάσει ένα κείμενο από ένα στοιχείο Memo1 (γραμμή με γραμμή) και θα το στείλει σε κάποιο πρόσφατα δημιουργημένο αρχείο κειμένου.

Ανάλογα με την κατάσταση του αρχείου που παρέχεται στη διαδικασία επανεγγραφής δημιουργεί ένα νέο αρχείο (ανοίγει το αρχείο για την έξοδο) με το όνομα που έχει οριστεί στο SomeTextFile. Εάν υπάρχει ήδη ένα αρχείο με το ίδιο όνομα, τότε διαγράφεται και δημιουργείται νέο κενό αρχείο στη θέση του. Εάν το SomeTextFile είναι ήδη ανοιχτό, κλείνεται και στη συνέχεια δημιουργείται ξανά. Η τρέχουσα θέση του αρχείου έχει οριστεί στην αρχή του κενού αρχείου.

Σημείωση: Memo1.Lines. Το SaveToFile ('c: \ MyTextFile.txt') θα κάνει το ίδιο.

Μερικές φορές θα χρειαστεί μόνο να προσθέσουμε κάποια δεδομένα κειμένου στο τέλος ενός υπάρχοντος αρχείου. Αν συμβαίνει αυτό, θα καλέσουμε Προσαρτώ για να βεβαιωθείτε ότι ένα αρχείο ανοίγει με πρόσβαση μόνο για εγγραφή με τον δείκτη αρχείου που βρίσκεται στο τέλος του αρχείου. Κάτι όπως:

Να είστε ενήμεροι για τις εξαιρέσεις

Γενικά, θα πρέπει πάντα να χρησιμοποιείτε χειρισμού εξαιρέσεων όταν εργάζεστε με αρχεία. Το I / O είναι γεμάτο εκπλήξεις. Πάντα να χρησιμοποιείτε το CloseFile σε ένα τελικό τετράγωνο για να αποφύγετε την πιθανότητα αλλοίωσης του FAT του χρήστη. Όλα τα προηγούμενα παραδείγματα πρέπει να ξαναγραφούν ως εξής:

Χειρισμός με δομημένα αρχεία

Ο Delphi έχει τη δυνατότητα να χειρίζεται και τα δύο αρχεία ASCII και τα αρχεία που διατηρούν δυαδικά δεδομένα. Εδώ είναι οι τεχνικές για την εργασία με πληκτρολογούμενα και μη ανοιχτά (δυαδικά) αρχεία.