Приветствую Вас Гость | RSS

Delphi заготовки

Вторник, 26.11.2024, 23:26
Главная » 2012 » Май » 02
Список выходных дней в 2012 году
на странице http://www.superjob.ru/proizvodstvennyj_kalendar/2012/ 
приведен производственный календарь.

задача получить точно такой же календарь  в массиве элементов

определим структуру данных

  TdateM=record
     ddate1:Tdate; // Дата
     FreeDay:boolean; // True - cвободный день False - рабочий день
 end;


var

  DateM:array of TdateM;
  DateMCount:integer;

для работы функции скачивания данных из интернета нам понадобится модуль WinInet
функция получения контента с сайта приведена в статье
http://netsoftware.ucoz.ru/news/skachat_fajl_iz_interneta_v_peremennuju/2012-04-12-31
Function GetCursFile (const fileURL:string): string; я взял ее за основу для получения контента  с сайта superjob.ru


напишем несколько вспомогательных функций

// добавляем дату в массив
Procedure AddDateM ... Читать дальше »
Просмотров: 1986 | Добавил: NetSoftWare | Дата: 02.05.2012 | Комментарии (1)

Delphi. пример программы для определения входит ли точка в треугольник.

опишем переменные
Var
  a,b,c : Tpoint; // вершины треугольника
  d: Tpoint; // произвольная точка


// процедура возвращает длину отрезка A; B;
Function Dlina(a,b:Tpoint):Extended;
var x1,y1,x2,y2:real;
begin
x1:=a.x;
y1:=a.y;
x2:=b.x;
y2:=b.y;
   result:=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)) // по теореме Пифагора
   // http://ru.wikipedia.org/wiki/%D2%E5%EE%F0%E5%EC%E0_%CF%E8%F4%E0%E3%EE%F0%E0
end;

// находим площадь треугольника по теореме
// формула Герона   
// http://ru.wikipedia.org/wiki/%D4%EE%F0%EC%F3%EB%E0_%C3%E5%F0%EE%ED%E0

Function GetS(a,b,c:Tpoint):real;
var p,r1,r2,r3:real;
begin
 r1:=Dlina(a,b);
 r2:=Dlina(b,c);
 r3:=Dlina(c,a);
 p:=(r1+r2+r3)/2;
 if p*(p-r1)*(p-r2)*(p-r3)>0 then
 result:=sqrt(p*(p-r1)*(p-r2)*(p-r3))
& ... Читать дальше »
Просмотров: 4239 | Добавил: NetSoftWare | Дата: 02.05.2012 | Комментарии (1)

// пример функции на Delphi/Pascal которая выводит стандартное окно InpupBox 
но заместо Edit - динамически создаваемый TComBobox


function GetAveCharSize(Canvas: TCanvas): TPoint;
var
I: Integer;
Buffer: array[0..51] of Char;
begin
for I := 0 to 25 do Buffer[I] := Chr(I + Ord('A'));
for I := 0 to 25 do Buffer[I + 26] := Chr(I + Ord('a'));
GetTextExtentPoint(Canvas.Handle, Buffer, 52, TSize(Result));
Result.X := Result.X div 52;
end;


function InputQuery ... Читать дальше »
Просмотров: 2127 | Добавил: NetSoftWare | Дата: 02.05.2012 | Комментарии (0)