<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Два студента пишут лабы &#187; Лабораторные работы</title>
	<atom:link href="http://www.studcode.ru/archiv/category/labrab/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.studcode.ru</link>
	<description>Конспекты лекций, самостоятельные работы по  delphi, с++, php. Курсовые проекты. Все что мы сделали вы можете скачать без проблем!</description>
	<lastBuildDate>Wed, 27 Oct 2010 15:15:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Быстрая сортировка Хоара</title>
		<link>http://www.studcode.ru/archiv/bystraya-sortirovka-xoara-2/</link>
		<comments>http://www.studcode.ru/archiv/bystraya-sortirovka-xoara-2/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 18:40:48 +0000</pubDate>
		<dc:creator>sleepes</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Лабораторные работы]]></category>
		<category><![CDATA[лабы]]></category>
		<category><![CDATA[сортировки]]></category>

		<guid isPermaLink="false">http://www.studcode.ru/?p=972</guid>
		<description><![CDATA[Задание: реализовать алгоритм быстрой сортировки Хоара на Delphi.


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure [...]]]></description>
			<content:encoded><![CDATA[<p><em>Задание</em>: реализовать алгоритм <a href="http://www.studcode.ru/archiv/bystraya-sortirovka-xoara/">быстрой сортировки Хоара</a> на Delphi.</p>
<p><span id="more-972"></span></p>
<pre><code>
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
  const N=40;
var
  Form1: TForm1;
  mas: array[1..N] of integer;
implementation

{$R *.dfm}
procedure sort(l, r: integer);
var
  i,j,temp: integer;
  left: boolean;
begin
left:=true;
if (r-l)>=1 then
begin
 i:=l;
 j:=r;

 while i<>j do
   begin
    if left=true then begin
      if mas[i]<=mas[j] then
        begin
         j:=j-1;
        end
      else
        begin
         temp:=mas[i];
         mas[i]:=mas[j];
         mas[j]:=temp;
         inc(i);
         left:=false;
        end;
      end
      else
      begin
      if mas[i]<=mas[j] then
        begin
         inc(i);
        end
      else
        begin
         temp:=mas[i];
         mas[i]:=mas[j];
         mas[j]:=temp;
         j:=j-1;
         left:=true;
        end;
        end;
   end;
sort(l, i-1);
sort(j+1, r);
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  i: integer;
begin
randomize;
Label1.Caption:='';
for i:=1 to N do
  begin
   mas[i]:=random(100);
   Label1.Caption:=Label1.Caption+'  '+IntToStr(mas[i]);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
begin
Label2.Caption:='';

sort(1,N);
for i:=1 to N do
  Label2.Caption:=Label2.Caption+'  '+IntToStr(mas[i]);
end;

end.

</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.studcode.ru/archiv/bystraya-sortirovka-xoara-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Сортировка. Метод погружения.</title>
		<link>http://www.studcode.ru/archiv/sortirovka-metod-pogruzheniya/</link>
		<comments>http://www.studcode.ru/archiv/sortirovka-metod-pogruzheniya/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 17:21:14 +0000</pubDate>
		<dc:creator>sleepes</dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[Дополнительные разделы программировани]]></category>
		<category><![CDATA[Лабораторные работы]]></category>
		<category><![CDATA[лабы]]></category>
		<category><![CDATA[лекции]]></category>
		<category><![CDATA[сортировки]]></category>

		<guid isPermaLink="false">http://www.studcode.ru/?p=965</guid>
		<description><![CDATA[Метод основан на сравнении последнего элемента со всеми.
Алгоритм:

понадобится два массива:  исходный(неупорядоченный) и выходной(пустой)
берем первый элемент исходного массива и помещаем в конец выходного
в цикле сравниваем добавленый элемент со всеми, пока он не станет на свое место
повторяем пункт 3 пока в исходном массиве не закончатся элементы



  #include 
  #include


  void add(int *mas[20], int n)
 [...]]]></description>
			<content:encoded><![CDATA[<p>Метод основан на сравнении последнего элемента со всеми.</p>
<p><em>Алгоритм:</em></p>
<ol>
<li>понадобится два массива:  исходный(неупорядоченный) и выходной(пустой)</li>
<li>берем первый элемент исходного массива и помещаем в конец выходного</li>
<li>в цикле сравниваем добавленый элемент со всеми, пока он не станет на свое место</li>
<li>повторяем пункт 3 пока в исходном массиве не закончатся элементы</li>
</ol>
<p><span id="more-965"></span></p>
<pre><code>
  #include <iostream.h>
  #include
<math.h>

  void add(int *mas[20], int n)
    {
     int i,j,*temp;

     for (i=0;i<n;i++)
       cout<<mas[i]<<"   "<<endl;

       j=n-1;
       while ((mas[j]<mas[j-1])|j>0)
         {
          temp=mas[j-1];
          mas[j-1]=mas[j];
          mas[j]=temp;
          --j;
         }
       for (i=0;i<n;i++)
         cout<<mas[i]<<"   "<<endl;

    }

  void main ()
    {

     int   menu, exit;
     int mas[20];
     int n;

     n=0;

     while (exit==0)
       {
	cout << "1   add element"  << endl << "2   exit" << endl;
	cin>>menu;
	switch (menu)
	  {
	   case 1: { cin>>mas[n];  ++n; add(&#038;mas, n);  } ; break;

	   default: exit=1;
	  }
       };

    }

</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.studcode.ru/archiv/sortirovka-metod-pogruzheniya/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Закрашивание замкнутых областей.</title>
		<link>http://www.studcode.ru/archiv/zakrashivanie-zamknutyx-oblastej/</link>
		<comments>http://www.studcode.ru/archiv/zakrashivanie-zamknutyx-oblastej/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 17:12:06 +0000</pubDate>
		<dc:creator>sleepes</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Лабораторные работы]]></category>
		<category><![CDATA[исходники]]></category>
		<category><![CDATA[лабы]]></category>

		<guid isPermaLink="false">http://www.studcode.ru/?p=963</guid>
		<description><![CDATA[Замкнутая область задается границей определенного цвета или цветным пятном.
Простейший алгоритм заполнения называется алгоритм кораеда.
Алгоритм:

Добавить начальную полоску в список
Цикл, пока список не пустой


берем первую точку из списка(удаляем ее)
закрашиваем взятую точку
проверяем 4 точки вокруг и если их цвет не совпадает с цветом границыи она не закрашена, то добавляем ее в список.



unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Classes, [...]]]></description>
			<content:encoded><![CDATA[<p>Замкнутая область задается границей определенного цвета или цветным пятном.</p>
<p>Простейший алгоритм заполнения называется алгоритм <span style="text-decoration: underline;"><strong>кораеда</strong></span>.</p>
<p><em>Алгоритм:</em></p>
<ul>
<li>Добавить начальную полоску в список</li>
<li>Цикл, пока список не пустой</li>
</ul>
<ol>
<li>берем первую точку из списка(удаляем ее)</li>
<li>закрашиваем взятую точку</li>
<li>проверяем 4 точки вокруг и если их цвет не совпадает с цветом границыи она не закрашена, то добавляем ее в список.</li>
</ol>
<p><span id="more-963"></span></p>
<pre><code>
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, jpeg, ExtCtrls, ColorGrd;

type
Stek = ^St;
    St=record
    x,y:integer;
    Next:Stek;
    end;
  TForm1 = class(TForm)
    Image1: TImage;
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormCreate(Sender: TObject);
    procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
  public
    first:stek;{ Public declarations }
    C1,C2:TColor;
    procedure Add (X1,Y1:integer);
    procedure Del (var X1,y1:integer);
  end;
var
  Form1: TForm1;
  MD: boolean;
implementation

{$R *.DFM}

procedure TForm1.Add(X1, Y1: integer);
var
 elem:Stek;
begin
   New (elem);
elem.x:=X1;
elem.y:=Y1;
elem.Next:=first;
first:=elem;
end;

procedure TForm1.Del(var X1, y1: integer);
var
x,y:integer;
elem:Stek;
begin
   if first <> nil then
   begin
   x1:=first.x;
   y1:=first.y;
   elem:=first;
   first:=first.Next;
   dispose (elem);
    end;
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
  var
  X1,y1:integer;
  begin
  if Button=mbleft then
  begin
  MD:=true;
  Image1.Canvas.MoveTo(x,y);
  end
  else
  begin
  c2:=Image1.Canvas.Pixels[x,y];
  c1:=RGB(random(255),random(255),random(255));
  first:=nil;
  Add(x,y);
  while (first <> nil) do
  begin
  Del (x1,y1);
  Image1.Canvas.Pixels[x1,y1]:=C1;
  if (Image1.Canvas.Pixels[x1,y1-1]=C2) then
  Add (x1,Y1-1);
   if (Image1.Canvas.Pixels[x1,y1+1]=C2) then
  Add (X1,Y1+1);
  if (Image1.Canvas.Pixels[x1-1,y1]=C2)then
   Add (x1-1,y1);
  if (Image1.Canvas.Pixels[x1+1,y1]=C2)  then
  Add (x1+1,y1);
  end;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Image1.Canvas.Rectangle(0,0,Image1.Width,Image1.Height);
first:=nil;
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
if MD then
  Image1.Canvas.LineTo(x,y);
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
MD:=false;
end;
end.

</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.studcode.ru/archiv/zakrashivanie-zamknutyx-oblastej/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Фрактальное дерево.</title>
		<link>http://www.studcode.ru/archiv/fraktalnoe-derevo/</link>
		<comments>http://www.studcode.ru/archiv/fraktalnoe-derevo/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 16:54:59 +0000</pubDate>
		<dc:creator>sleepes</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Лабораторные работы]]></category>
		<category><![CDATA[исходники]]></category>
		<category><![CDATA[лабы]]></category>

		<guid isPermaLink="false">http://www.studcode.ru/?p=961</guid>
		<description><![CDATA[Фрактал &#8211; это графический объект состоящий из множества небольших объектов, каждый из которых выглядит как и сам большой объект.
Задание: нарисовать фрактальное дерево.


unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
  [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Фрактал</strong> &#8211; это графический объект состоящий из множества небольших объектов, каждый из которых выглядит как и сам большой объект.</p>
<p><em>Задание:</em> нарисовать фрактальное дерево.</p>
<p><span id="more-961"></span></p>
<pre><code>
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    //procedure fak(x, y, a, al, be, ga: integer);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  max:integer;  //густота ветвей, самая густая=1, чем больше тем убывает
implementation

{$R *.dfm}

Procedure Draw(x, y : Integer; l, u : real);//рекурсивная процедура рисавания всего изображения
Procedure lineto1(x, y : Integer; l, u : real); //процедура рисования линии по заданным координатам
Begin
   Form1.Canvas.MoveTo(x,y);
   Form1.Canvas.LineTo(Round(x + l * cos(u)), Round(y - l * sin(u)));
End;
Begin
   If l > max then
    Begin
      l := l * 0.7;
      lineto1(x, y, l, u);
      x := Round(x + l * cos(u));
      y := Round(y - l * sin(u));
      Draw(x, y, l, u + pi / strtoint(form1.edit2.text));{Угол поворота 1}
      Draw(x, y, l, u - pi / strtoint(form1.edit3.text));{Угол поворота 2}
   End;
end;
procedure TForm1.Button1Click(Sender: TObject);
var x1,y1,x2,y2:integer;
    a:real;
begin
form1.Canvas.Brush.Color:=clwhite;
form1.Canvas.Rectangle(0, 0, Form1.Width, Form1.Height);
max:=StrToInt(Edit1.Text); //водим число 1,2,3....
x1:=Form1.ClientWidth div 2; //середина формы
y1:=Form1.ClientHeight - 100; //100 пикселей от нижнего края
Draw(x1, y1, Form1.ClientHeight div 3, pi/2)//размер рисунка 2/3 высоты формы, самый оптимальный
end;                                         //угол между ветвями 90 град.

end.

</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.studcode.ru/archiv/fraktalnoe-derevo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ИНТЕРПОЛЯЦИОННЫЙ МНОГОЧЛЕН ЛАГРАНЖА. СХЕМА ЭЙТКЕНА.</title>
		<link>http://www.studcode.ru/archiv/interpolyacionnyj-mnogochlen/</link>
		<comments>http://www.studcode.ru/archiv/interpolyacionnyj-mnogochlen/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 16:50:12 +0000</pubDate>
		<dc:creator>sleepes</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Лабораторные работы]]></category>
		<category><![CDATA[лабы]]></category>
		<category><![CDATA[лекции]]></category>

		<guid isPermaLink="false">http://www.studcode.ru/?p=956</guid>
		<description><![CDATA[Задание: Вычислить  значения многочлена Лагранжа, аппроксимирующего функцию F(x), заданную своими  значениями yi=F(xi), i:=0..n. Вычисления проводить при x=xi,   i=0,&#8230;,n и при x= (xi   + xi+1)/2,  i=0,&#8230;,n-1.


unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus;

type
  TForm1 = class(TForm)
    procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
  [...]]]></description>
			<content:encoded><![CDATA[<p><em>Задание</em>: Вычислить  значения многочлена Лагранжа, аппроксимирующего функцию F(x), заданную своими  значениями yi=F(xi), i:=0..n. Вычисления проводить при x=xi,   i=0,&#8230;,n и при x= (xi   + xi+1)/2,  i=0,&#8230;,n-1.</p>
<p><span id="more-956"></span></p>
<pre><code>
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus;

type
  TForm1 = class(TForm)
    procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormCreate(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  X_i: array [0..100] of real;
  Y_i: array [0..100] of real;
  col: integer;
implementation

{$R *.dfm}

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
procedure draw();
var x1:    integer;
    y1:    real;
    q:     real;
    i,j:   integer;
begin
form1.Canvas.MoveTo(0,0);
for x1:=0 to form1.Width do
 begin y1:=0;
  for i:=0 to col-1 do
   begin q:=1;
    for j:=0 to col-1 do
     begin
      if i&lt;&gt;j then
       q:=q*(x1-X_i[j])/(X_i[i]-X_i[j]);
      end;
      y1:=y1+y_i[i]*q;
   end;
form1.Canvas.LineTo(x1,round(y1));
 end;
end;
begin
Canvas.Rectangle(0,0,Form1.Width,Form1.Height);
form1.Canvas.Ellipse(X-2,Y-2,X+2,Y+2);
X_i[col]:=X;
Y_i[col]:=Y;
inc(col);
draw;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
col:=0;
end;
end.
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.studcode.ru/archiv/interpolyacionnyj-mnogochlen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Создание почтового клиента на Delphi</title>
		<link>http://www.studcode.ru/archiv/sozdanie-pochtovogo-klienta-na-delphi/</link>
		<comments>http://www.studcode.ru/archiv/sozdanie-pochtovogo-klienta-na-delphi/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 21:55:56 +0000</pubDate>
		<dc:creator>archey</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Курсовые проекты]]></category>
		<category><![CDATA[исходники]]></category>
		<category><![CDATA[курсовые]]></category>

		<guid isPermaLink="false">http://www.studcode.ru/?p=577</guid>
		<description><![CDATA[Работа с почтой в Delphi 7
Основное предназначение электронной почты – дать пользователям возможность общаться друг с другом. Сам процесс общения происходит путем пересылки текстовых и прочих файлов, подобно тому, как при обычной почтовой переписке люди обмениваются письмами, открытками и прочей корреспонденцией. Уникальность электронной почты как сетевого сервиса, состоит в том, что за счет имеющихся шлюзовых [...]]]></description>
			<content:encoded><![CDATA[<h1>Работа с почтой в Delphi 7</h1>
<p>Основное предназначение электронной почты – дать пользователям возможность общаться друг с другом. Сам процесс общения происходит путем пересылки текстовых и прочих файлов, подобно тому, как при обычной почтовой переписке люди обмениваются письмами, открытками и прочей корреспонденцией. Уникальность электронной почты как сетевого сервиса, состоит в том, что за счет имеющихся шлюзовых соединений между различными сетями почта может доставляться практически в любые и из любых мировых сетей, объединяя их в единое сетевое пространство. Причем скорость доставки корреспонденции зависит не столько от физической удаленности почтовых серверов друг от друга, сколько от пропускной способностью тех узлов, через которые послание доставляется адресату. Другая особенность электронной почты – ее универсальность. Услугами почты можно воспользоваться как при постоянном, так и при сеансовом доступе к Сети.<br />
Темой курсового проекта является разработка почтового программы для операционной системы Windows.<br />
Цель: создать полноценный почтовый клиент для приема и отправки писем посредством протокола POP3. Организовать возможность отправки писем с вложениями, отправку и прием писем в формате HTML с актуальной кодировкой. Обеспечить автоматическую проверку почты через определенные моменты времени.<br />
<span id="more-577"></span><br />
Объектом курсового проекта является изучение почтовых протоколов SMTP, POP3, IMAP3 и создание приложения для получения и отправки сообщений с почтовых серверов.<br />
Предмет: Программное обеспечение системы<br />
Задачи. Для достижения цели нам пришлось решить следующие задачи:<br />
•	Изучить научную литературу<br />
•	Проанализировать программное обеспечение выпущенное ранее<br />
•	Подготовить схему выполнения<br />
•	Написать код программы<br />
•	Отладить и протестировать программу на наличие ошибок<br />
Описание основных алгоритмов<br />
Получение и отправка писем реализовано с помощью библиотеки Internet Direct 9 (INDY) и классов POP3 и SMTP встроенных в Delphi<br />
Получение писем</p>
<pre><code>begin
 WebBrowser1.Navigate('about:blank');
 POP3.Host:=popHost; // адресс почтового сервера
 POP3.Port:=popPort;           // порт по которому будет осуществляться подключение
 POP3.Username:=Username; // Логин пользователя
 POP3.Password:=Pass;   // пароль пользователя
 POP3.Connect; // подключение по протоколу POP3, по настрокам в компоненте IdPOP3, с именем POP3
 numPosts:=POP3.CheckMessages;
 Memo1.Clear;   // очистка компонента memo для отображения текста письма.
 Memo1.Lines.Add(inttostr(numPosts));
 StringGrid1.RowCount:=numPosts+1;
 for i:=1 to numPosts do
 begin
IdMessage.Clear; // очистка буфера для сообщения
POP3.Retrieve(i,IdMessage);  // получение одного сообщения
Memo1.Lines.AddStrings(IdMessage.Body); // передача сообщения из компонента IdMessage в memo
Stringgrid1.Cells[0,i]:=IdMessage.From.Name;
 	Stringgrid1.Cells[1,i]:=IdMessage.Subject;;
Stringgrid1.Cells[2,i]:=FormatDateTime('dd mmm', IdMessage.Date);//yyyy hh:mm:ss полная дата
 end;
 // вывод в компоненты Label информации о сообщении.
 Label1.Caption := IdMessage.From.Name;
 Label2.Caption := IdMessage.Recipients.EmailAddresses;

 Label4.Caption := IdMessage.Subject;
 Label5.Caption := FormatDateTime('dd mmm yyyy hh:mm:ss', IdMessage.Date);
 Label6.Caption := IdMessage.ReceiptRecipient.Text;
 Label7.Caption := IdMessage.Organization;

 POP3.Delete(1); // удаление с сервера, полученного сообщения
 POP3.Disconnect;   // разрыв связи</code></pre>
<p>Методы. Было выбрано использование два почтового протокола: POP3 для приема почты с сервера и SMTP для отправки на сервер.<br />
Гипотеза.  Программа предназначена для удобного чтения электронной почты, написанию и отправки писем адресатам.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.studcode.ru/archiv/sozdanie-pochtovogo-klienta-na-delphi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Графика. Зеркальное отражение.</title>
		<link>http://www.studcode.ru/archiv/grafika-zervalnoe-otrazhenie/</link>
		<comments>http://www.studcode.ru/archiv/grafika-zervalnoe-otrazhenie/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 21:51:54 +0000</pubDate>
		<dc:creator>sleepes</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[исходники]]></category>
		<category><![CDATA[лабы]]></category>

		<guid isPermaLink="false">http://www.studcode.ru/?p=565</guid>
		<description><![CDATA[Тут как бы и писать особо нечего)
Входных параметров всего два: изображение и булева переменная. Если True, то отображение горизонтальное, иначе вертикальное.

Юзайте на здоровье

procedure FlipBitmap(Bitmap: TBitmap; FlipHor: Boolean);
{Зеркальное отражение изображения.
 Если FlipHor = True, то отражение по горизонтали,
 иначе по вертикали.}
var
  x, y, W, H: Integer;
  Pixel_1, Pixel_2: PRGBTriple;
  MemPixel: TRGBTriple;
begin
  Bitmap.PixelFormat [...]]]></description>
			<content:encoded><![CDATA[<p>Тут как бы и писать особо нечего)<br />
Входных параметров всего два: изображение и булева переменная. Если True, то отображение горизонтальное, иначе вертикальное.<br />
<span id="more-565"></span><br />
Юзайте на здоровье</p>
<pre><code>
procedure FlipBitmap(Bitmap: TBitmap; FlipHor: Boolean);
{Зеркальное отражение изображения.
 Если FlipHor = True, то отражение по горизонтали,
 иначе по вертикали.}
var
  x, y, W, H: Integer;
  Pixel_1, Pixel_2: PRGBTriple;
  MemPixel: TRGBTriple;
begin
  Bitmap.PixelFormat := pf24Bit;
  W := Bitmap.Width - 1;
  H := Bitmap.Height - 1;
  if FlipHor then {отражение по горизонтали}
    for y := 0 to H do
    begin
      {помещаем оба указателя на строку H:}
      Pixel_1 := Bitmap.ScanLine[y];
      Pixel_2 := Bitmap.ScanLine[y];
      {помещаем второй указатель в конец строки:}
      Inc(Pixel_2, W);
      {цикл идёт только до середины строки:}
      for x := 0 to W div 2 do
      begin
        {симметричные точки обмениваются цветами:}
        MemPixel := Pixel_1^;
        Pixel_1^ := Pixel_2^;
        Pixel_2^ := MemPixel;
        Inc(Pixel_1); {смещаем указатель вправо}
        Dec(Pixel_2); {смещаем указатель влево}
      end;
    end
  else {отражение по вертикали}
    {цикл идёт только до средней строки:}
    for y := 0 to H div 2 do
    begin
      {помещаем первый указатель на строку H,
       а второй на строку симметричную H:}
      Pixel_1 := Bitmap.ScanLine[y];
      Pixel_2 := Bitmap.ScanLine[H - y];
      for x := 0 to W do
      begin
        {симметричные точки обмениваются цветами:}
        MemPixel := Pixel_1^;
        Pixel_1^ := Pixel_2^;
        Pixel_2^ := MemPixel;
        Inc(Pixel_1); {смещаем указатель вправо}
        Inc(Pixel_2); {смещаем указатель вправо}
      end;
    end;
end;
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.studcode.ru/archiv/grafika-zervalnoe-otrazhenie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Из двух массивов выбрать одинаковые четные числа</title>
		<link>http://www.studcode.ru/archiv/575/</link>
		<comments>http://www.studcode.ru/archiv/575/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 21:50:22 +0000</pubDate>
		<dc:creator>archey</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[лабы]]></category>

		<guid isPermaLink="false">http://www.studcode.ru/?p=575</guid>
		<description><![CDATA[Постановка задачи
Дано. Одномерные массивы. А и В,  каждый  из которых содержит не более 20 элементов целого типа.
Требуется. Разработать программу, которая должна выполнять следующие функции:
1.	Вводить с клавиатуры исходные данные(или формировать исходные массивы А  и  В  случайными числами).  Размерность массивов А  и  В  10 &#8211; 20 элементов
2.	Формировать одномерный [...]]]></description>
			<content:encoded><![CDATA[<p>Постановка задачи<br />
Дано. Одномерные массивы. А и В,  каждый  из которых содержит не более 20 элементов целого типа.<br />
Требуется. Разработать программу, которая должна выполнять следующие функции:<br />
1.	Вводить с клавиатуры исходные данные(или формировать исходные массивы А  и  В  случайными числами).  Размерность массивов А  и  В  10 &#8211; 20 элементов<br />
2.	Формировать одномерный массив С, содержащий те элементы исходных массивов А  и В, которые указаны   в задании. Элементы в массиве   С  не должны повторяться.<br />
3.	Выводить следующую информацию:<br />
число элементов в массиве A;<br />
значения элементов массива A;<br />
число элементов в массиве B;<br />
значения элементов массива B;<br />
результаты работы программы.<br />
Каждая функция программы должны быть оформлена как процедура с параметрами.<br />
Примечание. Дополнительный массив не использовать.</p>
<p><span id="more-575"></span></p>
<p>Алгоритм и текстовые примеры<br />
Основной функцией задачи является create_array_C которой в качестве параметра передаются 2 массива. Функция проверяет элементы массива А на четность (при помощи ф-ии fmod, которая возвращает остаток от деления на число). Следующее условие – проверка на совпадение элементов массива А и В. Если оба условия выполняются начинается цикл и условие проверки повторений элементов массива С. Если элементы совпадают происходит прерывание цикла (точнее двух циклов, $k и $i т.к. оператор break имеет параметр 2, который указывает на количество вложенных циклов которые нужно прервать.</p>
<pre><code>function create_array_C ($array_A, $array_B)
{
$n=0;
for ($i=0; $i&lt;=19; $i++)
 {
     for ($j=0; $j&lt;=19; $j++)
     {
          if  (fmod ($array_A[$i],2) == 0 &amp;&amp; $array_A[$i]==$array_B[$j]) // проверяем на четность и находим смежные елементы
          {
              for($k=0;$k&lt;=$n;$k++)
              {
                  if($array_A[$i]==$array_C[$k]) // проверяем совпадение елементов массива
                  break(2); // в Delphi и С++ такого нет (в C# есть). Параметр 2 означает количество вложенных циклов
              }
              $array_C[$n]=$array_A[$i]; // Заносим элементы в массив С
              echo "$array_C[$n]";
              $n++;
              break;
          }

     }
 }

}
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.studcode.ru/archiv/575/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Графика. Эффект инея.</title>
		<link>http://www.studcode.ru/archiv/grafika-effekt-ineya/</link>
		<comments>http://www.studcode.ru/archiv/grafika-effekt-ineya/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 21:46:06 +0000</pubDate>
		<dc:creator>sleepes</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[исходники]]></category>
		<category><![CDATA[лабы]]></category>

		<guid isPermaLink="false">http://www.studcode.ru/?p=559</guid>
		<description><![CDATA[Эффект инея так же может быть исспользована в качестве фильтра для графического редактора. Процедура как бы рассевает пиксили изображения в радиусе Hor, Ver: Integer;, тем самым создается эффект стекла или же инея, кому как удобней 

Пользуйтесь на здоровье&#8230;

procedure Disorder(Bitmap: TBitmap; Hor, Ver: Integer; BackColor: TColor);

  function RandomInRadius(Num, Radius: Integer): Integer;
  begin
   [...]]]></description>
			<content:encoded><![CDATA[<p>Эффект инея так же может быть исспользована в качестве фильтра для графического редактора. Процедура как бы рассевает пиксили изображения в радиусе Hor, Ver: Integer;, тем самым создается эффект стекла или же инея, кому как удобней <img src='http://www.studcode.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
<span id="more-559"></span><br />
Пользуйтесь на здоровье&#8230;</p>
<pre><code>
procedure Disorder(Bitmap: TBitmap; Hor, Ver: Integer; BackColor: TColor);

  function RandomInRadius(Num, Radius: Integer): Integer;
  begin
    if Random(2) = 0 then
      Result := Num + Random(Radius)
    else
      Result := Num - Random(Radius);
  end;

type
  TRGB = record
    B, G, R: Byte;
  end;
  pRGB = ^TRGB;
var
  x, y, WW, HH, xr, yr: Integer;
  Dest1, Dest2, Src1, Src2: PRGB;
  Bmp: TBitmap;
begin
  Randomize;
  Bitmap.PixelFormat := pf24Bit;
  Bmp := TBitmap.Create;
  try
    Bmp.Assign(Bitmap);
    WW := Bitmap.Width - 1;
    HH := Bitmap.Height - 1;
    Bitmap.Canvas.Brush.Color := BackColor;
    Bitmap.Canvas.FillRect(Rect(0, 0, WW + 1, HH + 1));
    for y := 0 to HH do
    begin
      for x := 0 to WW do
      begin
        xr := RandomInRadius(x, Hor);
        yr := RandomInRadius(y, Ver);
        if (xr >= 0) and (xr < WW) and (yr >= 0) and (yr < HH) then
        begin
          Src1 := Bmp.ScanLine[y];
          Src2 := Bmp.ScanLine[yr];
          Dest1 := Bitmap.ScanLine[y];
          Dest2 := Bitmap.ScanLine[yr];
          Inc(Src1, x);
          Inc(Src2, xr);
          Inc(Dest1, x);
          Inc(Dest2, xr);
          Dest1^ := Src2^;
          Dest2^ := Src1^;
        end;
      end;
    end;
  finally
    Bmp.Free;
  end;
end;
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.studcode.ru/archiv/grafika-effekt-ineya/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Графика. Эффект блоков.</title>
		<link>http://www.studcode.ru/archiv/grafika-effekt-blokov/</link>
		<comments>http://www.studcode.ru/archiv/grafika-effekt-blokov/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 21:35:13 +0000</pubDate>
		<dc:creator>sleepes</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[исходники]]></category>
		<category><![CDATA[лабы]]></category>

		<guid isPermaLink="false">http://www.studcode.ru/?p=554</guid>
		<description><![CDATA[В ходе выполнения курсового проекта (Графический редактор) мной был разработан фильтр для преобразования BMP изображений. Данный фильтр позволяет получить эффект блоков. Выполнен он в виде небольшой процедуры, которая работает с блоками пикселей.
Процедуре передается 5 параметров: Bitmap: TBitmap;(наше изображение); Hor, Ver:  Integer;(размеры наших блоков); MaxOffset:  Integer;(на сколько пикселей будем смещать); BackColor:TColor);(цвет, которым будем закрашивать [...]]]></description>
			<content:encoded><![CDATA[<p>В ходе выполнения курсового проекта (Графический редактор) мной был разработан фильтр для преобразования BMP изображений. Данный фильтр позволяет получить эффект блоков. Выполнен он в виде небольшой процедуры, которая работает с блоками пикселей.<br />
Процедуре передается 5 параметров: Bitmap: TBitmap;(наше изображение); Hor, Ver:  Integer;(размеры наших блоков); MaxOffset:  Integer;(на сколько пикселей будем смещать); BackColor:TColor);(цвет, которым будем закрашивать промежутки).<br />
<span id="more-554"></span></p>
<pre><code>
procedure Blocks(Bitmap: TBitmap; Hor, Ver, MaxOffset:
  Integer; BackColor: TColor);
{вырезаем прямоугольники со сторонами Hor Ver
и копируем их в радиусе MaxOffset}

  function RandomInRadius(Num, Radius: Integer): Integer;
  begin
    if Random(2) = 0 then
      Result := Num + Random(Radius)
    else
      Result := Num - Random(Radius);
  end;

var
  x, y, xd, yd: Integer;
  Bmp: TBitmap;
begin
  Bmp := TBitmap.Create;
  try
    Bmp.Assign(Bitmap);
    Bitmap.Canvas.Brush.Color := BackColor;
    Bitmap.Canvas.FillRect(Rect(0, 0, Bitmap.Width, Bitmap.Height));
    xd := (Bitmap.Width - 1) div Hor;
    yd := (Bitmap.Height - 1) div Ver;
    Randomize;
    for x := 0 to xd do
      for y := 0 to yd do
        BitBlt(Bitmap.Canvas.Handle,
          RandomInRadius(Hor * x, MaxOffset),
          RandomInRadius(Ver * y, MaxOffset),
          Hor, Ver, Bmp.Canvas.Handle, Hor * x, Ver * y, SRCCOPY);
  finally
    Bmp.Free;
  end;
end;
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.studcode.ru/archiv/grafika-effekt-blokov/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

