Может я изобретаю очередной велосипед, но я предлагаю вылаживать сюда функции и процедуры, которые вы используете или просто считаете полезными.
Чтобы не тянуть кота за ус,я сам напишу парочку полезных процедур/функций.
_______________________________________________
Описание: Сокращает integertostring до более гуманного its;
function its(a:integer):string;
begin
its:=integertostring(a);
end;
Пример: Drawtext(its(100500),0,0);
__________________________________________________
Описание: Аналогично предыдущей, только наоборот;
function sti(a:string):integer;
begin
sti:=stringtointeger(a);
end;
пример: stopicot:=sti('100'+'500');
__________________________________________________
Описание: Позволяет читать из ресурсов РУССКИЕ символы
Function Decoder(Deco:string):string;
var
ch:char;
temp_s:string;
i,temp:integer;
begin
temp_s:='';
for i:=1 to length(Deco) do
begin
ch:=getchar(deco,(i-1));
temp:=ord(ch);
if temp>122 then temp_s:=temp_s+chr(temp+1104);
else
temp_s:=temp_s+getchar(deco,i-1);
end;
decoder:=temp_s;
end;
Таким образом можно читать из ресурсов целые тексты на русском языке не используя лишние библиотеки.
Юзайте на здоровье
____________________________________________
Описание: Отбрасывает от числа дробную часть (было 1.93 станет 1) без лишнего
геморроя утруждения
function kill_float(a:real):integer;
var
temp_real:real;
begin
temp_real:=a;
temp_real:=temp_real-frac(temp_real);
kill_float:=trunc(temp_real);
end;
__________________________________________________
Описание: Заливает экран указанным цветом
Procedure zaliv(r,g,b:integer);
begin
setcolor (r,g,b);
fillrect(0,0,GetWidth-1,GetHeight-1);
end;
Пример: zaliv(255,255,128 );
__________________________________________________
Описание: Возвращает проекцию вектора на ось x при определенном угле. (аналог Sin(angle)*length)
Учтен перевод в радианы!
function coeff_x(ang:real,len:real):real;
var
temp_real:real;
begin
temp_real:=sin(ang*3.141/180.0)*len;
coeff_x:=temp_real;
end;
__________________________________________________
Описание: Возвращает проекцию вектора на ось
y при определенном угле. (аналог Cos(angle)*length)
Учтен перевод в радианы!
function coeff_y(ang:real,len:real):real;
var
temp_real:real;
begin
temp_real:=cos(ang*3.141/180.0)*len;
coeff_y:=temp_real;
end;
Может вспомню/придумаю что нибудь ещё.
Успехов всем!