![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Gwire |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 7.8.2007 Где: Николаев Репутация: 1 Всего: 4 |
Это, тебе небольшой крэшь-тест. Не выдержала. Используй StrToDateTime(const S: string; const FormatSettings: TFormatSettings). А переменную типа TFormatSettings сохрани в том же TDataModule (пологою DM is TDataModule) И еще: Согласен с k0rvin. Используй лучше обычное суммирование строк. Или юзай лучше проверенный Format(). И он кстати принимает параметр TFormatSettings. Это сообщение отредактировал(а) Gwire - 9.2.2012, 16:42 |
|||
|
||||
k0rvin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 24.1.2010 Репутация: 1 Всего: 5 |
Нет, это не лучше. -------------------- “Object-oriented design is the roman numerals of computing.” — Rob Pike All software sucks |
|||
|
||||
Gwire |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 7.8.2007 Где: Николаев Репутация: 1 Всего: 4 |
По вашему ReallocMem(); Copy(); будет работать хуже чем for-to-do if-then begin ReallocMem(); Copy(); end; ? Сканирование с подстановкой никогда не будет работать стабильнее дополнения. Эти два типа эквивалентны. Они оба Double (TTime тоже) и имеют одинаковую структуру. Дни - целые, часы:минуты:секунды.милсек - дробные Их ввели для удобства написания кода. Это сообщение отредактировал(а) Gwire - 10.2.2012, 12:14 |
|||
|
||||
superVad |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: 4 Всего: 15 |
Можно в начале работы программы устанавливать ShortDateFormat.
|
|||
|
||||
northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 8 Всего: 20 |
Можно. Но нужно при этом помнить и о TApplication.UpdateFormatSettings! Это сообщение отредактировал(а) northener - 11.2.2012, 04:09 -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
k0rvin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 24.1.2010 Репутация: 1 Всего: 5 |
от того что не безопасно и не надежно (форматы представления, например, дат могут отличаться в разных СУБД/ОС). И да, параметризованные запросы можно кешировать и исполнять пакетно с разными параметрами. Это сообщение отредактировал(а) k0rvin - 13.2.2012, 08:49 -------------------- “Object-oriented design is the roman numerals of computing.” — Rob Pike All software sucks |
|||
|
||||
Gwire |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 7.8.2007 Где: Николаев Репутация: 1 Всего: 4 |
Для этого и придуманы TFormatSettings и, например в MS SQL, Set DATEFORMAT (в других тоже СУБД тоже наверняка есть). Приводишь их к общему виду и никаких проблем не возникает. А по поводу статьи в википедии - интересная статейка, но: 1) Если "злоумышленник" хакнул ехе-программу получил возможность менять значения параметров, то что ему запретит менять переменную содержащую запрос? 2) Если же вы сами предоставляете возможность пользователю вводить параметры запроса в ручную. Рекомендую изучить термин "Защита от дурака" (Википедия или Лукоморье) HTML-я и Javascript это тоже касается. Ну если, конечно, вы пишете для веб, и передаете параметры открытым каналом или их просто подставить, то такие вещи нужно учитывать. В PHP переменные не имеют определенного типа. Потому и возникают такие проблемы. В Delphi все проще - если я жду Integer (например 5 или 2435159) то туда никак не впихнуть String ('-1 OR 1=1') А задачу я решил бы как:
Это сообщение отредактировал(а) Gwire - 13.2.2012, 13:36 |
||||
|
|||||
k0rvin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 24.1.2010 Репутация: 1 Всего: 5 |
изобретением собственного велосипеда вместо готового и проверенного решения. Хоть бы формат даты спрашивал у СУБД, а не в ручную задавал. И что там с кешированием для пакетной обработки запросов? -------------------- “Object-oriented design is the roman numerals of computing.” — Rob Pike All software sucks |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |