Есть ли другой способ сравнения 2 TGUID-элементов, кроме преобразования их в строки (функция guidtostring) и после оценки выражения в Delphi 7?Delphi 7 tguid compare
7
A
ответ
21
Вы можете использовать API IsEqualGUID, указанный в SysUtils.
4
IsEqualGUID() (или IsEqualIID()), как предположил Тондрей. Вы также можете использовать SysUtuils. CompareMem() вместо этого, поскольку TGuid является двоичным массивом байтов.
Смежные вопросы
- 1. delphi: как преобразовать TGUID в указатель PTypeInfo?
- 2. Преобразование C++ GUID в delphi TGUID?
- 3. Перемещение DataSnap из Delphi 7 в XE6
- 4. Как получить GIT в Delphi 7?
- 5. Quicktime 7 on Delphi 7
- 6. Исключено исключение Delphi 7
- 7. Компоненты Delphi 7 отсутствуют
- 8. utf8decode в delphi 7
- 9. Вирус в Delphi 7
- 10. Delphi 7 WriteProcessMemory
- 11. Delphi 7 Наследование
- 12. Delphi 7 И __ArrayList
- 13. delphi 7 TRichtEdit
- 14. delphi 7 Items property
- 15. Поддержка макропроцессора Delphi 7
- 16. Delphi 7 object undefinedat
- 17. Редактирование компонента Delphi 7
- 18. GetStackTrace в Delphi 7?
- 19. PngComponents для Delphi 7
- 20. delphi 7 сброс таймера
- 21. Delphi 7 vista/windows 7 manifest
- 22. Delphi 7 ODBC MySQL Win 7
- 23. Как вы инициализируете массив const TGUID из данных типа интерфейса в Delphi?
- 24. c string compare vs hash compare
- 25. перевод const delphi 7 gnugettext
- 26. Файлы Delphi 7 и EMF +
- 27. Проблема с памятью Delphi 7
- 28. Delphi 7, проблемы с строками
- 29. Delphi 7 как это сделать?
- 30. Delphi, инсталляторы и Windows 7
В качестве примечания стороны: GUID не является массивом байтов, это упакованная структура с DWORDS, СЛОВАМИ и BYTES с общей длиной 16 байт. Вы можете найти структуру, проверив тип TGUID. –
Моя точка зрения заключалась в том, что это двоичный тип данных фиксированной длины без каких-либо отступов, поэтому CompareMem() будет работать как альтернатива IsEqualGUID(), то есть: 'CompareMem (@ Guid1, @ Guid2, SizeOf (TGuid))'. –
... и 'CompareMem()' выглядит немного быстрее. – JensG