Προγραμματισμός Delphi αποθήκευσης δεδομένων χρηστών και εφαρμογών

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

Για παράδειγμα, το φάκελο "Δεδομένα εφαρμογής" στο Windows θα πρέπει να χρησιμοποιείται για την αποθήκευση συγκεκριμένων εγγράφων εφαρμογής, όπως π.χ. Αρχεία INI, κατάσταση εφαρμογής, αρχεία temp ή παρόμοια.

Δεν πρέπει ποτέ να χρησιμοποιείτε σκληρά κωδικοποιημένα μονοπάτια σε συγκεκριμένες τοποθεσίες, όπως "c: \ Program Files", καθώς αυτό μπορεί να μην λειτουργήσει άλλες εκδόσεις των Windows επειδή η θέση των φακέλων και των καταλόγων μπορεί να αλλάξει με διαφορετικές εκδόσεις του Windows.

Η λειτουργία API Windows SHGetFolderPath

Το SHGetFolderPath είναι διαθέσιμο στο SHFolder μονάδα. Το SHGetFolderPath ανακτά την πλήρη διαδρομή ενός αναγνωρισμένου φακέλου.

Εδώ είναι μια προσαρμοσμένη συνάρτηση wrap γύρω από το SHGetFolderPath API για να σας βοηθήσουν να αποκτήσετε οποιονδήποτε από τους τυπικούς φακέλους για όλους ή για τους χρήστες που είναι συνδεδεμένοι με τα Windows.

instagram viewer

Ακολουθεί ένα παράδειγμα χρήσης της λειτουργίας SHGetFolderPath:

  • Καταργήστε μια ομάδα TRadioButtonGroup (όνομα: "RadioGroup1") σε μια φόρμα
  • Καταργήστε ένα TLabel (όνομα: "Label1") σε μια φόρμα
  • Προσθέστε 5 στοιχεία στην ομάδα ραδιοφώνου:
    • "[Τρέχων χρήστη] \ Τα έγγραφά μου"
    • "Όλοι οι χρήστες \ Δεδομένα εφαρμογών"
    • "[Ειδικό χρήστη] \ Δεδομένα εφαρμογών"
    • "Αρχεια προγραμματος"
    • "Όλοι οι χρήστες \ Έγγραφα"
  • Αντιμετωπίστε το συμβάν OnClick της ΡαδιοGroup ως:

Σημείωση: "[Τρέχων Χρήστης]" είναι το όνομα του χρήστη που είναι συνδεδεμένος στον Windows.

Σημείωση: Το SHGetFolderPath είναι ένα υπερσύνολο του SHGetSpecialFolderPath.

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

Προσθέστε πάντα έναν υποφάκελο στη διαδρομή που επιστρέφει το SHGetFolderPath. Χρησιμοποιήστε την ακόλουθη σύμβαση: "\ Application Data \ Όνομα εταιρείας \ Όνομα προϊόντος \ Έκδοση προϊόντος".

instagram story viewer