![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проверить GUID
Gu © (2011-06-27 07:57:00)GUID получаю так:
Function TForm1.GuNewGuid:string;
var ID:TGUID;
begin
Result:='';if CoCreateGuid(ID) = S_OK then Result:=GUIDToString(ID);
end;
Вопрос: Допустим GUID вводится вручную, через edit, есть какая нибудь функция в дельфях, которая может проверить, евляется ли введенный текст корректным GUID (не дубликат в системе, а именно корретнтность ввода, скобки там, 16и ричные симолы и их верное количество и дефисы)?
Игорь Шевченко (2011-06-27 21:30:00) [1]Gu (27.06.11 21:26) [17]
Ты пиши, пиши, пиши,
Сочиняй весь век,
Потому что пародист -
Тоже человек.
Он не хочет затянуть
Туже поясок.
Для него твои стихи -
Хлебушка кусок.
Ты пиши и мой призыв
Не сочти за лесть,
Потому что пародист
Тоже хочет есть!
Александр Иванов
Gu (2011-06-27 21:26:00) [2]2 Дмитрий Белькевич, Юрий Зотов - угу, так норм.работает:
Function isStrGUIDOk(GuidStr:string):bool;
begin
Result:=false;
Try
StringtoGuid(GuidStr);Result:=true;
Except
Showmessage('GUID не корректный');
End;
End;
...
if not isStrGUIDOk(edit1.text) then exit;
Anatoly Podgoretsky (2011-06-27 19:35:00) [3]
> Cobalt © (27.06.11 18:43) [14]
А в файле что?
Игорь Шевченко (2011-06-27 19:07:00) [4]Cobalt © (27.06.11 18:43) [14]
а в файле откуда ?
Cobalt (2011-06-27 18:43:00) [5]А он, к примеру, читает из файла. и, соответственно, хочется понять - он прочитал корректную строку, или там мусор.
b z (2011-06-27 11:48:00) [6]
> QAZ
Опередил, +1.
QAZ (2011-06-27 11:14:00) [7]кому и для чего есть необходимость вводить(и вообще знать) какой либо гуид ?
Юрий Зотов (2011-06-27 10:51:00) [8]> евляется ли введенный текст корректным GUID
См. StringToGUID.
sniknik (2011-06-27 10:49:00) [9]> чтобы автор понял
в начинающих авторы не понимают даже очевидного... а уверенную глупость принимают за истину. т.е. чтобы понял? ага.
Дмитрий Белькевич (2011-06-27 10:41:00) [10]StringToGUID ?
Медвежонок Пятачок (2011-06-27 10:36:00) [11]сам ты наташа.
я дал дурацкий ответ чтобы автор понял, что ответ дан на дурацкий вопрос.
sniknik (2011-06-27 10:34:00) [12]If StringToGUID succeeds it returns the requested GUID. If StringToGUID fails an EConvertError exception is raised.
sniknik (2011-06-27 10:33:00) [13]> способ для тех кто не хочет знать про регулярки или маски
имхо, для тех кто не читает доку, а изобретает велосипеды... к знающим регулярки тоже относится.
sniknik (2011-06-27 10:31:00) [14]> вопрос не об этом
именно об этом. конвертация введенного к естественному типу одновременно является и проверкой на правильность... т.е. если правильно использовать, то ничего больше не нужно. но, блин, ваше постоянное не целевое использование... (не от тебя ли тут было про даты в екселе? и типа "я все знаю что дата число, но почему ...?" сказка про белого бычка. не кончается, не умрет.)
p.s. не спорю, иногда нужно, но блин, тот кто способен решить что "вот это, то самое, иногда", тот понимает и значит не задает подобных вопросов.
Медвежонок Пятачок (2011-06-27 10:25:00) [15]взять введенное.
сгенерировать нормальный гуид, превратить в строку.
из обеих строк удалить цифрыи буквы.
если после этого строки совпали, значит введен верный гуид.
способ для тех кто не хочет знать про регулярки или маски
Anatoly Podgoretsky (2011-06-27 10:07:00) [16]Вам бы все готовую функцию, функция прибавить единицу, функция прибавить две единицы.
Gu (2011-06-27 09:58:00) [17]вопрос не об этом
sniknik (2011-06-27 08:02:00) [18]> GUID получаю так:
не гуид, а строковое представление...
если бы гуид, то после ввода "через edit" тебе пришлось бы конвертировать, и вопрос о проверке бы не возник...