Odczyt z pliku

dział ogólny

Odczyt z pliku

Nowy postprzez rafalskraba » sobota, 30 listopada 2013, 16:18

Witam,

zapisałem do pliku dane z postaci binarnej z dowolnym kodowaniem. Odczytuję te dane poprawne po dekodowaniu. Chce zabezpieczyc plik przed przypadkowa modyfikacją w taki sposób aby nie można było go wczytac do programu. Jak zmnienie reczne plik to wczytują się głupoty.

Jak zapisać i otczytywać tablice zapisane w bibliotekach dll tablice jednowymiarowe.

Pozdrawiam Rafał
"Jednym z rodzajów szczęśliwości jest zdolność podejmowania dobrych decyzji."

- Platon-
Avatar użytkownika
rafalskraba
Intelektryk
Intelektryk
 
Posty: 122
Dołączył(a): czwartek, 5 marca 2009, 10:20
Podziękował : 2
Otrzymał podziękowań: 0
System operacyjny: Windows 7 x64
Kompilator: RAD Studio XE2 Update 4 HotFix 1
SKYPE: rafal.skraba
Gadu Gadu: 0
    Windows 7Firefox

Re: Odczyt z pliku

Nowy postprzez Cyfrowy Baron » sobota, 30 listopada 2013, 16:44

Co rozumiesz przed zabezpieczyć plik przed przypadkową modyfikacją? Czy chodzi o to, żeby nie można go było otworzyć? Otworzyć w czym?

Jakie tablice jednowymiarowe? Jakiego rodzaju? Struktury?
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows 7Firefox

Re: Odczyt z pliku

Nowy postprzez rafalskraba » sobota, 30 listopada 2013, 17:21

Witaj zabezpieczyc w ten sposob aby jak ktoś zmieni zawartość pliku i zapisze nie bedze mozna go wczytac do programu uzytkownik zostanie poinformowany odpowiednim komunikatem.

najzwyklejsza tablica dane typu int
"Jednym z rodzajów szczęśliwości jest zdolność podejmowania dobrych decyzji."

- Platon-
Avatar użytkownika
rafalskraba
Intelektryk
Intelektryk
 
Posty: 122
Dołączył(a): czwartek, 5 marca 2009, 10:20
Podziękował : 2
Otrzymał podziękowań: 0
System operacyjny: Windows 7 x64
Kompilator: RAD Studio XE2 Update 4 HotFix 1
SKYPE: rafal.skraba
Gadu Gadu: 0
    Windows 7Firefox

Re: Odczyt z pliku

Nowy postprzez polymorphism » sobota, 30 listopada 2013, 18:37

W sumie nie wiadomo, o co Tobie chodzi. Z opisu można zrozumieć to na dwa sposoby:
  • chcesz zabezpieczyć aplikację przed uszkodzonymi plikami danego formatu, tak żeby się nie zawieszała lub wczytywała wadliwych danych.
  • chcesz po prostu zabezpieczyć plik przed jakąkolwiek modyfikacją.

W obu przypadkach możesz użyć sum kontrolnych, choć w pierwszym przypadku raczej się tego nie robi - jeśli ktoś modyfikuje plik binarny w jakiś nietypowy sposób, robi to na własną odpowiedzialność.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Odczyt z pliku

Nowy postprzez rafalskraba » sobota, 30 listopada 2013, 23:10

Witaj.

nie dokońca

1. chce zabezpieczyć plik z danymi, który jest wczytywany do aplikacji w taki sposób, aby po modyfikacji tego pliku wyswietlal sie komunikat np ze jest uszkodzony.
2. jak w bibliotece dll umieścić tablicę i się do niej odwoływać

pozdrawiam

Rafał
"Jednym z rodzajów szczęśliwości jest zdolność podejmowania dobrych decyzji."

- Platon-
Avatar użytkownika
rafalskraba
Intelektryk
Intelektryk
 
Posty: 122
Dołączył(a): czwartek, 5 marca 2009, 10:20
Podziękował : 2
Otrzymał podziękowań: 0
System operacyjny: Windows 7 x64
Kompilator: RAD Studio XE2 Update 4 HotFix 1
SKYPE: rafal.skraba
Gadu Gadu: 0
    Windows 7Firefox

Re: Odczyt z pliku

Nowy postprzez polymorphism » niedziela, 1 grudnia 2013, 10:43

nie dokońca

Jak nie do końca, jeśli z tego co napisałeś wynika, że mowa o opcji drugiej?

2. jak w bibliotece dll umieścić tablicę i się do niej odwoływać

Umieszczasz ją tak samo jak w aplikacji. Oczywiście w nagłówku musisz dodać do deklaracji odpowiednio __declspec (dllexport) / __declspec (dllimport). W tym przypadku dostęp do zmiennej będziesz miał tylko wtedy, gdy bibliotekę łączysz poprzez bibliotekę importów (po angielsku zwie to się load-time linking). Jeśli łączysz bibliotekę dynamicznie (run-time linking), funkcją LoadLibrary, wtedy musisz zrobić/wyeksportować funkcję, która zwróci wskaźnik na tablicę.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Odczyt z pliku

Nowy postprzez rafalskraba » poniedziałek, 2 grudnia 2013, 14:24

Powiem tak

mam plik tekstowy z zapisanymi watrościami liczbowymi. Wczytuję te wartości do ComboBox lub ListBox. Podczas przypadkowej modyfikacji pliku dane też się wczytają ale mogą być wczytane błędnie np. ktoś zmieni jedną wartość. Jak w programie umieścić informację, że plik z którego pobieramy pewne dane został zmodyfikowany

Pozdrawiam

Rafał
"Jednym z rodzajów szczęśliwości jest zdolność podejmowania dobrych decyzji."

- Platon-
Avatar użytkownika
rafalskraba
Intelektryk
Intelektryk
 
Posty: 122
Dołączył(a): czwartek, 5 marca 2009, 10:20
Podziękował : 2
Otrzymał podziękowań: 0
System operacyjny: Windows 7 x64
Kompilator: RAD Studio XE2 Update 4 HotFix 1
SKYPE: rafal.skraba
Gadu Gadu: 0
    Windows 7Firefox

Re: Odczyt z pliku

Nowy postprzez polymorphism » poniedziałek, 2 grudnia 2013, 14:56

Jeszcze raz powtórzę: suma kontrolna. Choć jeśli nie chcesz przypadkowych edycji, to liczby zapisz w postaci binarnej.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 4 gości

cron