Краткое руководство по преодолению последствий нарушений трудовой дисциплины.
(Для несознательных компьютерщиков)
Ситуация 1:
Вы опаздываете на работу. На проходной стоит шеф. Ваши действия:
а)Зимний вариант.Снять и спрятать где-нибудь верхнюю одежду. Показать шефу пачку сигарет, объяснив мимоходом, что Вы уже на месте, просто выскочили на секунду в табачный ларек;
б)Летний вариант. Найти пустую коробку (желательно побольше), положить туда что-нибудь потяжелее и поживописнее изобразить погрузочно-разгрузочные работы (с потением и кряхтением);
Ситуация 2:
Вы вышли с товарищем на чашку кофе. Шеф в течении часа ожидает Вас на Вашем рабочем месте. Ваши действия:
а)Сказать,что из винчестера высыпалось несколько кластеров. Пришлось идти занимать у соседей;
б)Сделать удивленное лицо и сказать, что сами целый час торчали под дверью кабинета шефа, для консультации как раз по тому же самому вопросу;
Ситуация 3:
Шеф делает замечание, что после посещения коллеги-компьютерщика от Вас попахивает спиртным и требует объяснений. Ваши действия:
а) Предложите шефу купить новый суперсовременный компьютер, чтобы сэкономить на промывке спиртом контактов и разъёмов.
б) Объясните, что промывали базу данных техническим спиртом;
Ситуация 4:
Вы серьезно превысили лимит работы в Internet'e, просидев несколько часов в bk.ru Ваши действия:
а)Напишите в объяснительной, что новоприобретенная программа пыталась самостоятельно связаться через Internet с разработчиками для согласования каких-то технических деталей;
б)Поясните это возросшим объемом переписки с зарубежными фирмами, которые засыпали Вас выгодными предложениями о работе.
Ситуация 5:
Вы задержались на несколько часов после работы, чтобы добить свою левую халтуру. Шеф интересуется причиной переработки. Ваши действия:
а)Поблагодарите шефа за заботу, в нескольких словах расскажите о своей любви к фирме и намекните на прибавку к зарплате;
б)Объясните,что Вы хотя бы так пытаетесь компенсировать свои частые опоздания на работу и несанкционированные отлучки. Намекните про снятие выговора за опоздания.
Исходный код компонента DBImage содержит ошибку, поскольку пробует загрузить
данные буфера обмена, ища CF_PICTURE. А это несовместимо с хранящимися в поле
данными.
Я исправил эту ошибку, изменив исходный код таким образом, чтобы данные
буфера обмена сначала читались во временный TBitmap. TBitmap регистрируется как
CF_PICTURE. Временное изображение затем назначалось полю и, поскольку оно также
работает с изображениями, то и данным поля.
Все это потребует от вас изменений в исходном коде VCL, конкретно - в модуле
DBCTRLS.PAS. Затем, естественно, это необходимо перекомпилить и пересобрать:
procedure TDBImage.PasteFromClipboard;
var
ClipBrdBmp: TBitmap;
begin
ClipBrdBmp := TBitmap.Create;
if Clipboard.HasFormat(CF_BITMAP) and FDataLink.Edit thenbegin
ClipBrdBmp.Assign(Clipboard);
Picture.Assign(ClipBrdBmp);
end;
ClipBrdBmp.Free;
end;
Это все. Проблема решена.
Похоже, вы столкнулись с проблемой хранения TDBImage в базе данных.
Исходный код пытался загрузить данные из буфера обмена, ищущий формат CF_PICTURE, который несовместим с хранящимися данными. Вы исправили это, прочитав данные из буфера обмена в временный TBitmap, зарегистрировав его как CF_PICTURE, и затем присвоив Picture свойство, которое также работает с изображениями.
Чтобы реализовать эти изменения, вам нужно будет модифицировать исходный код VCL в модуле DBCTRLS.PAS, конкретно процедуру TDBImage. PasteFromClipboard. Вот исправленный код:
После модификации кода вам нужно будет перекомпилировать и перестроить ваш проект.
Кроме того, стоит отметить, что исходный код включал в себя юмористические примеры обработки различных ситуаций на работе!
Проблема хранения TDBImage - устранение ошибки в коде компонента DBImage, которая вызвана неправильной попыткой загрузить данные буфера обмена в поле изображения.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.