Archiwum w komunikatorze

Odpowiedz Nowy wątek
2011-08-07 17:18
0

Witam.

W czym polecacie stworzyć archiwum w komunikatorze?
Próbowałem się bawić z SQLite, ale może Wy polecicie mi coś innego, lepszego?
Zależy mi by potencjalna baza danych (bo raczej za pomocą baz danych najlepiej to stworzyć) była dość szybka (dla długich archiwów) oraz prosta w obsłudze. Dobrze by było, by nie można było odczytać zawartości pliku przez rózne edytory tekstu np notatnik (w SQLite był ten problem). W razie konieczności zostanę przy SQLite i się poduczę go używać ;)

Dodam, że nigdy nie miałem większej styczności z tym zagadnieniem.
Pozdrawiam.

Pozostało 580 znaków

2011-08-07 17:30
0

No skoro ma notepad to obsługiwać, to napisz to sam. No chyba że sądzisz że plików nie da się używać w Delphi.


Nie pisz do mnie PM o czymś co nie dotyczy bezpośrednio mnie. | Nie rozmawiaj ze mną jeśli brak Ci kultury (wystarczy że mi brakuje) | Nie jestem zły, jestem po prostu zły.
Czytasz mi w myślach :D - Patryk27 2011-08-07 17:31

Pozostało 580 znaków

2011-08-07 17:48
0

właśnie chodzi mi o to, by notepad nie mógł tego odczytać :P

Pozostało 580 znaków

2011-08-07 17:58
0

To zrób tak, jak napisał payl i zakoduj np.szyfrem Cezara.


Pozostało 580 znaków

2011-08-07 19:16
0

ok, spróbuję sam coś wykombinować.

Czy macie jakieś sprawdzone metody na to? Co najlepiej zastosować, w jakim formacie do pliku zapisywać, by było w miarę szybkie? :)

Pozdrawiam

Pozostało 580 znaków

2011-08-07 19:21
1

Najlepiej zaipisywać po ludzku, a tutaj akurat prędkość zapisu nie musi być ogromna w porównaniu do prędkości odczytu.
Mi się wydaje że najzwyklejsze dopisywanie na końcu będzie ok, a jak czytamy to trzeba będzie się przenosić po pliku ale prędkość powinna być optymalna...


Nie pisz do mnie PM o czymś co nie dotyczy bezpośrednio mnie. | Nie rozmawiaj ze mną jeśli brak Ci kultury (wystarczy że mi brakuje) | Nie jestem zły, jestem po prostu zły.

Pozostało 580 znaków

2011-08-07 19:26
1

Pliki Ini+szyfr Cezara.
To jest najłatwiejsze połączenie.
Ew.można wymyślić takie coś:

Type TWiadomosc = Record
 Data: String[10]; //00.00.0000
 Godzina: String[5]; //00:00
 UserName: String; //użytkownik, który napisał wiadomość
 MessageLen: Integer; //długość wiadomości
 Message: Array Of Char; //Array[0..MessageLen] Of Char <- pojedynczy znak wiadomości
End;
Type TRozmowa = Record
 PoczatekData, KoniecData: String[10]; //00.00.0000
 PoczatekGodzina, KoniecGodzina: String[5]; //00:00
 User1, User2: String[255]; //użytkownik 1, użytkownik 2; jak będzie ci się nudziło, to zawsze możesz zrobić takie coś -> User1Len: Integer; User1: Array Of Char; i analogicznie User2
 MessageCount: Integer; //ilość wiadomości
 Messages: Array Of TWiadomosc; //Array[0..MessageCount] Of TWiadomosc <- pojedyncza wiadomość
End;

I zapisywać BlockWrite/odczytywać BlockRead
Każda rozmowa to osobny plik, ew.wszystkie rozmowy mogą być np.w archiwum zip, które także możesz zakodować, jak sobie tam chcesz...
PS: oczywiście jest to podstawowa wersja i wymyślona na żywca; jak pomyślisz to też powinieneś dać radę coś wymyślić.


edytowany 3x, ostatnio: Patryk27, 2011-08-07 19:29

Pozostało 580 znaków

2011-08-07 19:37
1

Jak chcesz możesz użyć LZMA SDK Igora Pavlova, w łatwy sposób zmniejszysz rozmiar archiwum i zaszyfrujesz swoje dane w miarę mocnym AES-256. Prędkość kompresji nie jest zła - 1 MB/s na procesorze 2GHz i dekompresji - 10-20 MB/s.

Pozdrawiam.

PS. Choć szczerze mówiąc, jak używałem w swoim projekcie tego SDK, to na moim zabytku z procesorem 1,2 GHz prędkości były większe niż te, które podaje autor.

edytowany 2x, ostatnio: Golden_Mind, 2011-08-07 19:41

Pozostało 580 znaków

2011-08-07 20:01
0

Patryk27 właśnie też oparłbym to o rekordy, ale zależy mi bardzo, by to wszystko było w jednym pliku. Kiedyś zrobiłem takie archiwum, że każda rozmowa, była w osobnym pliku, lecz szybko zrobił się z tego niezły bałagan. Może zrobię jakąś tablicę dynamiczną rekordów z rozmówcami i ją całą zapiszę do jednego pliku, ale czy to wypali? Nie mówię tu o samym dopisywaniu nowego rozmówcy na koniec pliku, lecz o uaktualnieniach już tych istniejących.

Pozdrawiam.

Pozostało 580 znaków

2011-08-07 20:13
0

Oczywiście, że tak się da.
Tylko po co trudzić sobie życie?
Skorzystaj z archiwum...


Pozostało 580 znaków

2011-08-07 22:34
0

powiedzcie mi po co namawiacie autora aby wymyślał koło od nowa?? W czym wam ten biedny sqlite przeszkadza


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0