Эффекты полупрозрачности и unit тестирование

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Эффекты полупрозрачности и unit тестирование

Сообщение Climber » 01.07.2009 09:27:28

Есть 2 никак не связанных вопроса, не знаю, что лучше, два топика сделать или один...
1) Есть какие-нибудь возможности сделать форму полупрозрачной или сделать так, чтобы она плавно появлялась или пропадала? И какие-нибудь подобные эффекты... В Delphi, если мне память не изменяет, у формы было свойство alphachannel или что-то типа того, задавало прозрачность формы...
2) Жена тут на досуге учится на java программировать, говорит, есть плагин для eclipse, он позволяет для каждого модуля написать unit-тест и при каждой компиляции сразу запускать все тесты для всех модулей. И если где-то что-то не так, то уже к окончанию компиляции с точностью до функции знаешь, где накосячил... Вот и хотелось узнать, можно ли для лазаря плагины делать и что-то подобное сотворить? Я бы занялся, если у меня мозгов хватит, ибо самому пригодится очень и очень..
Climber
постоялец
 
Сообщения: 415
Зарегистрирован: 03.06.2007 20:09:57
Откуда: Москва

Re: Эффекты полупрозрачности и unit тестирование

Сообщение Mr.Smart » 01.07.2009 10:03:42

1) Данная вещь не является кроссплатформенной!
Для виджетов Win32 можно сделать так:
Код: Выделить всё
....
uses ..., windows, ...;
...
var
  Style: Integer;
...
   Style := GetWindowLong(Form1.Handle, GWL_EXSTYLE);
   if (Style and WS_EX_LAYERED) = 0 then
     SetWindowLong(Form1.Handle, GWL_EXSTYLE, Style or WS_EX_LAYERED);

  SetLayeredWindowAttributes(Form1.Handle, 0, 50, LWA_ALPHA); 
....

В данном примере устанавливается полупрозрачность 50%.

2) Неочень понимаю, что значит unit-тест?
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Эффекты полупрозрачности и unit тестирование

Сообщение Climber » 01.07.2009 11:25:35

1) А, тогда понятно. А что, разве в *nix системах все сильно по-другому? Я вроде видел полупрозрачные окошки в KDE?
Хотя если нет, так нет, не очень-то и хотелось...
2) Unit-тест - это один из видов тестирования. У меня жена тестировщиком работает, вот и осваивает потихоньку...
Суть заключается вот в чем: у программиста есть некая функция, которая, например, вычисляет квадратный корень. Пользователь пишет в окошко число, жмет кнопку, получает результат.
В ТЗ будет, соответственно, написано примерно следущее:
программа должна вычислять квадратный корень. При вооде недопустимого значения (меньше нуля) она должна вызывать исключение, при вводе допустимого - вычислять квадратный корень.
Что делает тестировщик. Он вводит: 'тра-ля-ля' (в смысле, текстовую строку, а не число), -1, 0, 2, 9, и смотрит на результат. Если в ответ программа выдает: исключение, исключение, 0, 1, 1.4142... , 3, то все ок, если нет, то пишет баг-репорт.
Теперь допустим, что таких функций 300 и тестировать надо каждую при выпуске каждого патча. Тут и появляется такая штука как unit-тестирование. Тестировшик пишет функцию, которая 5 раз вызывает тестируемую функцию, по очереди передает ей перечисленные выше значения и сравнивает с перечисленными выше правильными ответами. Тестирующая функция потом на выходе дает ответ, как тестируемая функция справилась с каждым из заданий...
Так вот, та штука в eclipse позволяет все это делать сразу после компиляции...
Climber
постоялец
 
Сообщения: 415
Зарегистрирован: 03.06.2007 20:09:57
Откуда: Москва

Re: Эффекты полупрозрачности и unit тестирование

Сообщение Sergei I. Gorelkin » 01.07.2009 17:59:53

Насчет unit-тестирования: есть пакет fcl-fpcunit, и есть Лазаревский компонент fpcunit, который позволяет создавать специализированные приложения и модули для юнит-тестирования. Как оно все взаимодействует - ни малейшего понятия :roll:
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1405
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: Эффекты полупрозрачности и unit тестирование

Сообщение Climber » 01.07.2009 20:48:07

Да, этот пакет я видел, и пример тамошний смотрел...
Я имел ввиду немного другое - как это автоматизировать. Либо плагин (но как я понял, в лазарусе нет плагинов) либо еще как-нибудь.
Сегодня увидел такой пункт меню - Сервис->Настроить внешние средства. Я вот думаю, может эту штуку можно как-то использовать? Как она работает и для чего создавалась, где можно почитать?
Climber
постоялец
 
Сообщения: 415
Зарегистрирован: 03.06.2007 20:09:57
Откуда: Москва


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23

Рейтинг@Mail.ru