Ĺadny brzuch
Witam!
Mam zamiar napisać pewien programik (narazie to tajemnica) i mam problem. Chciałbym aby to był to spakowany i zaszyfrowany folder. Osoby które tworzyły motywy i bawiły się w ich rozpakowywanie powinny wiedzieć o co chodzi.
W jaki sposób wykonać odczyt i zapis plików z tak przygotowanej "bazy danych"?
PS. Jak dobrze pójdzie to odpłacę się lepszym kontem w mojej grze internetowej. A już na 100% napiszę w programie podziękowania.
Spróbuj na FileStream'ach (robiłem coś podobnego i wychodziło), jak sobie nie poradzisz to pogoogluj, na pewno znajdziesz. :)
Wielkie dzięki, ale szczerze mówiąc nic nie kapuję ;p . Wszystko jest pięknie opisane dla innych języków, ale dla Delphi strasznie ubogo.
Wielkie dzięki, ale szczerze mówiąc nic nie kapuję ;p . Wszystko jest pięknie opisane dla innych języków, ale dla Delphi strasznie ubogo.
Nie testowałem, więc na pewno są tu jakieś błędy, ale to już będzie Twoja robota. :P
Zapisywanie:procedure Zapisz(Lokalizacja:String; pliki:array of string); var Plik,Temp:TFileStream; I:Integer; Roz:Int64; Sciezka:ShortString; begin Plik:=TFileStream.Create(Lokalizacja,fmCreate); I:=High(Pliki); Plik.Write(I,SizeOf(I)); for I:=0 to high(pliki) do begin Temp:=TFileStream.Create(pliki[i],fmOpenRead); Roz:=Temp.Size; Plik.Write(Roz,SizeOf(Roz)); Sciezka:=ExtractFileName(Pliki[i]); Plik.Write(Sciezka,SizeOf(Sciezka)); Plik.CopyFrom(Temp,SizeOf(Temp)); Temp.Free; end; Plik.Free; end;Jako argumenty podajesz lokalizację docelową oraz tablice z ścieżkami do plików, które mają zostać połączone.
Odczyt: procedure Wczytaj(SciezkaPliku,FolderDocelowy:String); var Plik,Temp:TFileStream; I,J:Integer; Roz:Int64; Sciezka:ShortString; begin Plik:=TFileStream.Create(SciezkaPliku,fmOpenRead); Plik.ReadBuffer(J,SizeOf(J)); for I:=0 to J do begin Plik.ReadBuffer(Roz,SizeOf(Roz)); Plik.ReadBuffer(Sciezka,SizeOf(Sciezka)); Temp:=TFileStream.Create(FolderDocelowy+Sciezka,fmCreate); Temp.CopyFrom(Plik,Roz); Temp.Free; end; Plik.Free; end;Tutaj jako argumenty podajesz spakowany wcześniej plik oraz katalog, w którym mają zostać wypakowany pojedyncze pliki (katalog musi być z '\' na końcu).
Szyfrowania w tym nie ma, ale było to ekspercie. :P
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Mam zamiar napisać pewien programik (narazie to tajemnica) i mam problem. Chciałbym aby to był to spakowany i zaszyfrowany folder. Osoby które tworzyły motywy i bawiły się w ich rozpakowywanie powinny wiedzieć o co chodzi.
W jaki sposób wykonać odczyt i zapis plików z tak przygotowanej "bazy danych"?
PS. Jak dobrze pójdzie to odpłacę się lepszym kontem w mojej grze internetowej. A już na 100% napiszę w programie podziękowania.
Spróbuj na FileStream'ach (robiłem coś podobnego i wychodziło), jak sobie nie poradzisz to pogoogluj, na pewno znajdziesz. :)
Wielkie dzięki, ale szczerze mówiąc nic nie kapuję ;p . Wszystko jest pięknie opisane dla innych języków, ale dla Delphi strasznie ubogo.
Wielkie dzięki, ale szczerze mówiąc nic nie kapuję ;p . Wszystko jest pięknie opisane dla innych języków, ale dla Delphi strasznie ubogo.
Nie testowałem, więc na pewno są tu jakieś błędy, ale to już będzie Twoja robota. :P
Zapisywanie:procedure Zapisz(Lokalizacja:String; pliki:array of string); var Plik,Temp:TFileStream; I:Integer; Roz:Int64; Sciezka:ShortString; begin Plik:=TFileStream.Create(Lokalizacja,fmCreate); I:=High(Pliki); Plik.Write(I,SizeOf(I)); for I:=0 to high(pliki) do begin Temp:=TFileStream.Create(pliki[i],fmOpenRead); Roz:=Temp.Size; Plik.Write(Roz,SizeOf(Roz)); Sciezka:=ExtractFileName(Pliki[i]); Plik.Write(Sciezka,SizeOf(Sciezka)); Plik.CopyFrom(Temp,SizeOf(Temp)); Temp.Free; end; Plik.Free; end;Jako argumenty podajesz lokalizację docelową oraz tablice z ścieżkami do plików, które mają zostać połączone.
Odczyt: procedure Wczytaj(SciezkaPliku,FolderDocelowy:String); var Plik,Temp:TFileStream; I,J:Integer; Roz:Int64; Sciezka:ShortString; begin Plik:=TFileStream.Create(SciezkaPliku,fmOpenRead); Plik.ReadBuffer(J,SizeOf(J)); for I:=0 to J do begin Plik.ReadBuffer(Roz,SizeOf(Roz)); Plik.ReadBuffer(Sciezka,SizeOf(Sciezka)); Temp:=TFileStream.Create(FolderDocelowy+Sciezka,fmCreate); Temp.CopyFrom(Plik,Roz); Temp.Free; end; Plik.Free; end;Tutaj jako argumenty podajesz spakowany wcześniej plik oraz katalog, w którym mają zostać wypakowany pojedyncze pliki (katalog musi być z '\' na końcu).
Szyfrowania w tym nie ma, ale było to ekspercie. :P