Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2010, 14:40   #1
lifeton
 
Регистрация: 27.05.2010
Сообщений: 9
Вопрос Какой объект использовать: массив или запись?

Есть 52 элемента с 2мя параметрами: имя и md5
Храниться они буду в файле, изменяться в принципе не будут, только один раз при заполнение.

Использоваться в основном будут так: по md5 найти имя

Я надумал 2 варианта:
1. MyArray : array[0..52,0..0] of string[32];
MyArray[i] //здесь будет md5
MyArray[i].[0] //здесь будет имя

2.
Type MyType= record
md5: string[32];
Name: string[2];
end;

Важный критерий - быстродействие, чтобы процесс поиска элемента по md5 не занимал много времени.

З.Ы.
Для чего всё это.
Есть 52 карты. Надо для каждой карты сопоставить ей md5 хэш.

Потом будет вычисляться отдельно md5 хэш и по нему надо определить что за карта

Ещё вопрос где хранить это сопоставление? Я так понял что в типизированном файле.

Надеюсь понятно объяснил что хочу сделать
Вопрос как это по культурному организовать и что использовать: массив или запись или что другое, где хранить: в файле (типизированном) или в другом

Жду Ваших подсказок! Спасибо за уделенное время
lifeton вне форума Ответить с цитированием
Старый 27.05.2010, 14:52   #2
bitSoft
Programming...
Форумчанин
 
Аватар для bitSoft
 
Регистрация: 13.03.2010
Сообщений: 198
По умолчанию

Da mojna hraniti v tipizirovanie faili, no moja i v Ini failah, eto prosto,
Код:
type
 TMaps = record
  FileName : String[255];
  md5       : String[255];
 end;

.......

var
 Maps : array[0..52] of TMaps;

......
 

procedure MapsToFile(FileName : string);
var
 TempStream : TFileStream;
begin
 TmpStream   := TFileStream.Create(FileName, fmOpenWrite or fmCreate);
 try
  TempStream.WriteBuffer(Maps);
 finally 
  TempStream.Free;
 end;
end;

procedure MapsFromFile(FileName : string);
var
 TempStream : TFileStream;
begin
 TmpStream   := TFileStream.Create(FileName, fmOpenRead);
 try
  TempStream.ReadBuffer(Maps);
 finally 
  TempStream.Free;
 end;
end;
// Mojet biti i oshibka na chitenie ili zapisi, tochina ne pomniu esli nado zapisati/chitati buffer po odelnami elementami tipa :



Код:
for i := 0 to High(Maps) do
 TempStream.WriteBuffer(Maps[i]);
// a s ini failami ishi na forume, esti mnogoe, esli shto to v PM,
Код:
With TProgrammersForum.Create do  AddNewTopic('Title','Content...');
bitSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
использовать DLL как COM-объект computerman Помощь студентам 4 08.07.2009 13:23
Какой компонент использовать? XPAiN БД в Delphi 3 05.05.2008 08:45
Какой объект и событие использовать? yourself Microsoft Office Excel 1 23.04.2008 00:28