Мне нужно проверить ввод пользователя и проверить, является ли введенная строка допустимым идентификатором GUID. Как я могу это сделать? Есть какая-то функция проверки IsValidGuid
?Как проверить, является ли строка допустимым идентификатором GUID?
1
A
ответ
2
Вы можете вызвать функцию Windows API CLSIDFromString
и проверить (при ее сбое), если возвращаемое значение не было CO_E_CLASSSTRING
(что означает недопустимую строку ввода). Вызов встроенной функции StringToGUID
не является надежным, так как он вызывает исключение, из которого вы не можете получить причину сбоя.
Следующая функция возвращает значение True, если входная строка является допустимым идентификатором GUID, в противном случае - False. В случае другого (неожиданного) сбоя возникает исключение:
[Code]
const
S_OK = $00000000;
CO_E_CLASSSTRING = $800401F3;
type
LPCLSID = TGUID;
LPCOLESTR = WideString;
function CLSIDFromString(lpsz: LPCOLESTR; pclsid: LPCLSID): HRESULT;
external '[email protected] stdcall';
function IsValidGuid(const Value: string): Boolean;
var
GUID: LPCLSID;
RetVal: HRESULT;
begin
RetVal := CLSIDFromString(LPCOLESTR(Value), GUID);
Result := RetVal = S_OK;
if not Result and (RetVal <> CO_E_CLASSSTRING) then
OleCheck(RetVal);
end;
Смежные вопросы
- 1. Как проверить, является ли строка допустимым поплавком?
- 2. Как проверить строка является ли допустимым URL
- 3. Как проверить, является ли строка уникальным идентификатором?
- 4. Как проверить, является ли строка ввода допустимым регулярным выражением?
- 5. Как проверить, является ли строка допустимым выражением C++ (ish)?
- 6. Как проверить, является ли строка допустимым хэшем sha256 в PHP?
- 7. Как проверить, является ли строка допустимым регулярным выражением - python?
- 8. Как проверить, является ли строка в Java допустимым URL-адресом
- 9. Как проверить, является ли строка base64 допустимым образом в PHP?
- 10. Как проверить, является ли строка допустимым целым числом?
- 11. Как знать, если атом или строка является допустимым идентификатором
- 12. Есть ли способ на C#, чтобы проверить, является ли строка допустимым идентификатором
- 13. Существует ли способ проверить, является ли строка допустимым xpath?
- 14. '.ctor' не является допустимым идентификатором
- 15. Почему «$» является допустимым идентификатором функции?
- 16. Проверить, является ли строка допустимым ключом до memcache.get()
- 17. Как проверить, является ли ввод допустимым поплавком?
- 18. Проверьте, является ли строка GUID в LINQ
- 19. Проверьте, является ли строка идентификатором base36?
- 20. Как определить, является ли строка идентификатором пользователя?
- 21. Как проверить, если строка является допустимым Joda DateTime
- 22. проверяет, является ли строка допустимым паролем
- 23. Определите, является ли строка допустимым географическим положением
- 24. Как определить, является ли строка допустимым выражением Java в Java?
- 25. Как проверить, что данная строка является допустимым месяцем или нет?
- 26. Как проверить, является ли строка идентификатором Google Click (GCLID) в PHP?
- 27. Подавить «Имя ресурса не является допустимым идентификатором»
- 28. Как определить, является ли строка допустимым UUID v4?
- 29. Баш ошибка: не является допустимым идентификатором
- 30. -bash: экспорт: `= ': не является допустимым идентификатором
спасибо TLama, это качество, которое я знаю от вас. Это был именно тот фрагмент, который я искал. –
Добро пожаловать! – TLama