Скажите, пожалуйста, как использовать во встроенном ассемблере Делфи прерывание Int14 (для работы с COM-портом). У меня все время выдает ошибку «Access violation at address…»
Member
Статус: Не в сети Регистрация: 02.03.2005 Откуда: Владивосток
Подскажите возможно такое сделать или нет - Есть база(таблица), в ней данные храняться в зашифрованном виде, есть функции шифровки и расшифровки; так можно-ли при отображении данных в DBGrid чтобы они(данные) показывались в уже расшифрованном виде, а при изменении заносились в базу зашифрованными. Т.е. как-то перехватить процесс чтения данных из базы при показе и процесс записи в базу при изменении.
Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
Aleksoid1978 писал(а):
Подскажите возможно такое сделать или нет - Есть база(таблица), в ней данные храняться в зашифрованном виде, есть функции шифровки и расшифровки; так можно-ли при отображении данных в DBGrid чтобы они(данные) показывались в уже расшифрованном виде, а при изменении заносились в базу зашифрованными. Т.е. как-то перехватить процесс чтения данных из базы при показе и процесс записи в базу при изменении
Не понял я вопроса. У тебя база в защифрованном виде, а ты ее хочеш показывать в расшифрованом или это просто база в другой программе и надо оттуда выдрать эти самые данные? Если последнее , то я один раз такое делал Надо было выбрать данные из одной проги. В предыдущих версиях алгоритм щифрования мы с другом взломали, а вот в новой не смогли. Пришлось делать топорным методом. Запускалась эта программа, затем запускалась наша программа, которая искала хендл нужного окна, далее сканировала элементы окна, добиралась до ListBox и своровывала весь список
Member
Статус: Не в сети Регистрация: 02.03.2005 Откуда: Владивосток
Ray Adams писал(а):
Aleksoid1978 писал(а):
Подскажите возможно такое сделать или нет - Есть база(таблица), в ней данные храняться в зашифрованном виде, есть функции шифровки и расшифровки; так можно-ли при отображении данных в DBGrid чтобы они(данные) показывались в уже расшифрованном виде, а при изменении заносились в базу зашифрованными. Т.е. как-то перехватить процесс чтения данных из базы при показе и процесс записи в базу при изменении
Не понял я вопроса. У тебя база в защифрованном виде, а ты ее хочеш показывать в расшифрованом или это просто база в другой программе и надо оттуда выдрать эти самые данные?
А у меня как раз первый случай - своя база в зашифрованном виде, а показывать надо в расшифрованном. Я конечно сделал показ данных через обычный Grid, но хотелось-бы делать через DBGrid - так удобнее.
Member
Статус: Не в сети Регистрация: 14.08.2004 Откуда: Москва
Доброго времени суток...
Только сегодня сел за освоение Делфи и появились вопросы...:
1)Пишу:
Код:
time:= StrToFloat(Edit1.Text); min:= Trunc(t); sec:= Trunc(t*100) mod 100;
Минуты от определяет правильно, когда потом вывожу значение, а вот секунды всегда уменьшает на одну... Т.е. если у меня time= 1, 40 то когда буду выводить значение min и sec, то выведется min=1, sec=39.. Почему так, объясните пожалста...
2) Как сделать, чтобы при использовании русского алфавита в программе он сохранял всё нормально, буквами, а не символами типа #1434, #1533, etc.?
Заранее спасибо
Member
Статус: Не в сети Регистрация: 02.03.2005 Откуда: Владивосток
cj_remix писал(а):
Доброго времени суток... Только сегодня сел за освоение Делфи и появились вопросы...: 1)Пишу:
Код:
time:= StrToFloat(Edit1.Text); min:= Trunc(t); sec:= Trunc(t*100) mod 100;
Минуты от определяет правильно, когда потом вывожу значение, а вот секунды всегда уменьшает на одну... Т.е. если у меня time= 1, 40 то когда буду выводить значение min и sec, то выведется min=1, sec=39.. Почему так, объясните пожалста...
Короче я не знаю почему так, но такой глюк есть, причем он хитро работает - если в выражение
Код:
sec:= Trunc(t*100) mod 100;
вместо переменной t вставить значение :
Код:
sec:= Trunc(1.4*100) mod 100;
тогда все правильно считается - получается 40...
Это функция Trunc почему-то так по хитрому считает:
t:=1.40;
trunc(t*100) будет равно 139, а Trunc(1.40*100)=140;
Минуты от определяет правильно, когда потом вывожу значение, а вот секунды всегда уменьшает на одну...
DecodeTime никто ведь не отменял? Или я что-то пропустил? Для обычного строкового Time -> 16:55:32 нормально работает так:
Код:
function GetValuesOfTime(const Value: String; var h, m, s: Word): Boolean; var TmpTime: TTime; ms: Word; begin Result:= True; try TmpTime:= StrToTime(Value); except on EConvertError do Result:= False; end; if Result then DecodeTime(TmpTime, h, m, s, ms); end;
cj_remix писал(а):
2) Как сделать, чтобы при использовании русского алфавита в программе он сохранял всё нормально, буквами, а не символами типа #1434, #1533, etc.?
Member
Статус: Не в сети Регистрация: 14.08.2004 Откуда: Москва
Ray Adams
Ray Adams писал(а):
1) Что именно ты пытаешся сделать то???
Беру дробное число... Целая часть - это минуты... дробная - секунды. Вот и пытаюсь разделить это по двум разным переменным - целую часть от time - в переменную min, дробную - в sec... и получается такой глюк.. хотя у автора учебника всё хорошо прошло.... Aleksoid1978
Aleksoid1978 писал(а):
Это функция Trunc почему-то так по хитрому считает: t:=1.40; trunc(t*100) будет равно 139, а Trunc(1.40*100)=140;
Вот такие пироги.
Мда уж...
_SGK писал(а):
Или я что-то пропустил?
Только то, что я только сегодня сел за Дэлфу Пытаюсь написать простейший пример.. время тут ни при чём... тут обычные числа.
Advanced member
Статус: Не в сети Регистрация: 09.06.2003 Откуда: USSR
cj_remix писал(а):
Беру дробное число... Целая часть - это минуты... дробная - секунды. Вот и пытаюсь разделить это по двум разным переменным - целую часть от time - в переменную min, дробную - в sec...
DecodeDateTime - в нее суеш свою real переменную и получаеш все что надо без гемороя
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения