Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2012, 16:29   #1
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,451
Сообщение function IntToByte for Delphi7

Здраствуйте. Надо function IntToByte для Delphi7, поделитесь, если есть такая
beegl вне форума Ответить с цитированием
Старый 13.12.2012, 16:37   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

позвольте полюбопытствовать, а что, по вашему, должна делать эта функция?!
если переводить число в байт, то обычного присвоения байтовой переменной вполне достаточно (если, конечно, значение целого числа лежит в диапазоне от 0 до 255).
если же что-то другое ожидается, то внимательно слушаю Вас...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.12.2012, 17:18   #3
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,451
По умолчанию

ошибка компиляции модуля sFrameAdapter.pas компонентов AlphaControls v8.11
Код:
               if Frame.Parent <> nil
                  then Message.Result := SendMessage(Frame.Parent.Handle, SM_ALPHACMD, MakeWParam(0, AC_GETCONTROLCOLOR), 0)
                  else Message.Result := LRESULT(ColorToRGB(Frame.Color));
                // Mixing of colors
                C1.C := TColor(Message.Result);
                C2.C := SkinData.SkinManager.gd[SkinData.Skinindex].Color;
                C1.R := IntToByte(((C1.R - C2.R) * SkinData.SkinManager.gd[SkinData.Skinindex].Transparency + C2.R shl 8) shr 8);
                C1.G := IntToByte(((C1.G - C2.G) * SkinData.SkinManager.gd[SkinData.Skinindex].Transparency + C2.G shl 8) shr 8);
                C1.B := IntToByte(((C1.B - C2.B) * SkinData.SkinManager.gd[SkinData.Skinindex].Transparency + C2.B shl 8) shr 8);
                Message.Result := LRESULT(C1.C);
[Error] sFrameAdapter.pas(248): Undeclared identifier: 'IntToByte'
[Fatal Error] sAlphaGraph.pas(85): Could not compile used unit 'sFrameAdapter.pas'
beegl вне форума Ответить с цитированием
Старый 13.12.2012, 18:17   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Не это ли имеется ввиду (о функции такой не слышал, самоделка):
Код:
function IntToByte(Value:Integer): Byte;
begin
  if Value<0 then Result:=0
  else if Value>255 then Result:=255
  else Result:=Value;
end;
Возможен и вариант Value mod 256
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 13.12.2012 в 18:19.
Аватар вне форума Ответить с цитированием
Старый 13.12.2012, 19:50   #5
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,451
По умолчанию

можно и так:
Код:
function IntToByte(Value:Integer): Byte;
begin
result := Byte( v shr 8);
end;
без колебания 0-255
beegl вне форума Ответить с цитированием
Старый 13.12.2012, 20:07   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

это уже не то вообще то.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 13.12.2012, 20:11   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Сообщение от beegl Посмотреть сообщение
без колебания 0-255
А для отрицательных или больших 65535?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 13.12.2012, 21:46   #8
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,451
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А для отрицательных или больших 65535?
Если мое наблюдение было правильным, на код не будет отрицательных чисел вообще.
beegl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
function SmileSTR Паскаль, Turbo Pascal, PascalABC.NET 8 26.04.2012 11:35
подключение к БД в function r0ocket PHP 2 10.04.2012 19:35
unable to rename 'C:\ProgramFiles\Borland\Delphi7\Bi n\Delphi32.$$$' to 'C:\Program Files\Borland\Delphi7\ KazBoy Помощь студентам 1 12.04.2011 18:07
function Now Виктория7777 БД в Delphi 11 11.04.2011 21:59
function c++ strabik Общие вопросы C/C++ 1 19.05.2010 13:44