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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2009, 22:33   #1
DarkEvil
Форумчанин
 
Аватар для DarkEvil
 
Регистрация: 08.05.2009
Сообщений: 247
По умолчанию Сравнение динамических масивов

Что-то у меня пропало логическое мышления ...
уже и в отладчику раз 100 прогнал но даже при визуальном подтверждении что оба массива равны SKey = Key
все равно говорит что не равно...

Код:
procedure bSearch_v2(SearchKey : Pointer; Len, Pos : Longint; CallBack : bCallback);
var
  Buffer, Key, SKey : array of Char;
  search_ok : Boolean;
begin
  if @Callback = nil then Exit;
  search_ok := false;
  SetFilePointer(bHandle, 0, nil, FILE_BEGIN);
  SetLength(Buffer, bBlockSize);
  SetLength(Key, Len); // Выделяем память под ключ
  SetLength(SKey, Len); // Выделяем память под искомый элемент
  CopyMemory(SKey, IncPtr(SearchKey), Len); // Заполняем массив искомого ключа с указателя
  repeat
    bReadFileEx(Buffer[0]); // Читаем в буфер
    Key := copy(Buffer, Pos, Len); // Берем ключ
    if SKey = Key then // Сравниваем
    begin
      MessageBox(0, 'Равно', 'Проверка', 0);
      search_ok := true;
    end;
  until search_ok;
end;
Мой сайт
Цитата:
Сообщение от Scream In Darkness
Кровь не даёт покоя! Кровь не знает сна!
Кровь бежит на волю – Вены рвёт сама!
DarkEvil вне форума Ответить с цитированием
Старый 16.11.2009, 09:02   #2
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Сравнение указателей на разные массивы (SKey и Key - указатели) всегда возвращает False. Нужно сравнивать элементы массивов.
Скандербег вне форума Ответить с цитированием
Старый 16.11.2009, 09:31   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Автор, CompareMem тебе в помошь. Посмотри примеры в хелпе.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование формул масивов komar73 Microsoft Office Excel 3 30.03.2009 07:07
Создание масивов tae1980 Microsoft Office Excel 2 19.03.2009 12:47
Pascal. Сортировка. Пересечение масивов. TOSAgrk Помощь студентам 4 08.02.2009 02:18
Сравнение 2 масивов excel Slavik Помощь студентам 17 07.02.2009 23:18
Создание МасивоВ Slavik Microsoft Office Excel 6 21.01.2009 01:26