|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
В чем лучше хранить
Есть 4 массива, каждый состоит из элементов типа запись, для каждого своя; каждая запись в свою очередь состоит из элементов типа: boolean, integer, TColor, String[10].
Так вот вопрос: в какого типа файле все это удобнее всего хранить? Чтобы при загрузке программы данные загружались, и когда нужно сохранялись. Пробовал создавать запись, содержащую эти 4 массива, но при большом количестве элементов массива возникает ошибка при записи в типизированный файл |
#2
|
||||
|
||||
Для удобства и скорости доступа, конечно лучше типизированный файл.
Скорее всего вы что-то неправильно делали при сохранении, а ошибок быть не должно при создании типизированного файла, независимо от количества данных. Код в студию. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
Спасибо, сам думал насчет типизированных файлов.
Разобрался почему не работало, вопрос отпадает просто делал так: Код:
...... var f: File of TMGraph; g: TMGraph; begin assignfile(f,FilePath.Text); rewrite(f); write(f,g); closefile(f); end; ....... хотя данные все писались в глобальную переменную, которую теперь здесь и указал: Код:
...... var f: File of TMGraph; begin assignfile(f,FilePath.Text); rewrite(f); write(f,graph); closefile(f); end; ....... Писал куски кода в разные дни, и забыл тут попутно возник еще вопросик: как бы эти данные по пути зашифровывать и расшифровывать. Сам алгоритм шифрования знаю, просто не совсем понятно в какой момент производить шифрование и в какой структуре хранить информацию. В общем то можно создавать файл, потом его открывать чтобы зашифровать, и это содержимое сохранять в файл, а первый - удалять. А еще какой-нибудь способ есть? Последний раз редактировалось Mixali4, 06.02.2010 в 15:28. |
#4
|
||||
|
||||
Обычно шифрование идет при записи в файл соответственно дешифровка при чтении из файла. Т.е. само приложение работает с нормальными данными.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
|||
|
|||
ну это понятно.
а вот как бы реализовать запись той же структуры данных в типизированный файл с шифрованием? |
#6
|
||||
|
||||
К примеру есть 2 Функции вида:
1. function encoder(Text : string):String;//шифратор 2. function decoder(Code : string):String;//дешифратор Одна из реализаций... Чтение из файла...читаем дешифруем Код:
type Trec : record; rec1 : string; rec2 : string; end; ... var Rec : Trec; begin assignfile... reset... read(file, rec); closefile... with rec do begin rec1 := decode(rec1); rec2 := decode(rec2); end; end; Код:
type Trec : record; rec1 : string; rec2 : string; end; ... var Rec : Trec; begin with rec do begin rec1 := encode(rec1); rec2 := encode(rec2); end; assignfile... rewrite... wrile(file, rec); closefile... end; В начале был Бит, потом Байт и только потом появилось Слово... |
#7
|
||||
|
||||
Цитата:
Цитата:
|
#8
|
||||
|
||||
Паскалевский подход к файлам, описанный выше, в данном случае не очень удобен. Юзай TStream.
Нет повести печальнее на свете, чем повесть о заклиневшем Resete. |
#9
|
||||
|
||||
Цитата:
При том, что он не указал с какими данными работает применяемый им алгоритм шифрования, я выбрал тип наугад... Все типы данных можно привести к другому...просто перед шифрованием нужно его даные конвертировать в нужный тип данных... Насчет паскалевского подхода, он работает и все тут...с файлами можно работать по разному...этот метод нагляднее... В начале был Бит, потом Байт и только потом появилось Слово... Последний раз редактировалось NIch, 07.02.2010 в 13:34. |
#10
|
||||
|
||||
Цитата:
|
#11
|
||||
|
||||
ОК Konrad
Но мог бы и показать как это реализовать, а не цитировать и критиковать меня... Если есть мнение отличное от моего выскажи его, а показывать мне на мои ошибки нелепо, т.к. я предложил версию как вариант, а не готовое решение обязательное к исполнению... В начале был Бит, потом Байт и только потом появилось Слово... |
#12
|
|||
|
|||
Ну можно вообще после записи заXORить файл.
|
#13
|
||||
|
||||
Можно, но это защита от дураков...
Хотя XOR практически неломаем при длине пароля равном или большем длине сообщения...ИМХО... В начале был Бит, потом Байт и только потом появилось Слово... |