<?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>&#34;Клуб программистов&#34; – материалы по Delphi и С++</title>
	<atom:link href="http://www.programmersclub.ru/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.programmersclub.ru</link>
	<description>Сайт клуба программистов</description>
	<lastBuildDate>Thu, 17 May 2012 12:28:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Получение картинки с веб-камеры</title>
		<link>http://www.programmersclub.ru/%d0%9f%d0%be%d0%bb%d1%83%d1%87%d0%b5%d0%bd%d0%b8%d0%b5-%d0%ba%d0%b0%d1%80%d1%82%d0%b8%d0%bd%d0%ba%d0%b8-%d1%81-%d0%b2%d0%b5%d0%b1-%d0%ba%d0%b0%d0%bc%d0%b5%d1%80%d1%8b/</link>
		<comments>http://www.programmersclub.ru/%d0%9f%d0%be%d0%bb%d1%83%d1%87%d0%b5%d0%bd%d0%b8%d0%b5-%d0%ba%d0%b0%d1%80%d1%82%d0%b8%d0%bd%d0%ba%d0%b8-%d1%81-%d0%b2%d0%b5%d0%b1-%d0%ba%d0%b0%d0%bc%d0%b5%d1%80%d1%8b/#comments</comments>
		<pubDate>Thu, 17 May 2012 12:28:13 +0000</pubDate>
		<dc:creator>Chas</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[SendMessage]]></category>
		<category><![CDATA[winapi]]></category>
		<category><![CDATA[веб камера]]></category>
		<category><![CDATA[картинка]]></category>
		<category><![CDATA[получение картинки]]></category>

		<guid isPermaLink="false">http://www.programmersclub.ru/?p=5083</guid>
		<description><![CDATA[Снимаю картинку с веб-камеры через SendMessage(hWndC, WM_CAP_GRAB_FRAME, 0, 0). Всё получается, если только указать Handle при инициализации на форму или элемент управления формой (кнопка, панель), а надо поместить картинку на Image. raxp В обработчике сообщений главного окна после создания назначаем обработчик FrameCallBack: И сам кадр уже в каллбэке: тема на форуме]]></description>
			<content:encoded><![CDATA[<p>Снимаю картинку с веб-камеры через SendMessage(hWndC, WM_CAP_GRAB_FRAME, 0, 0). Всё получается, если только указать Handle при инициализации на форму или элемент управления формой (кнопка, панель), а надо поместить картинку на Image. <span id="more-5083"></span></p>
<p><strong>raxp</strong><br />
В обработчике сообщений главного окна после создания назначаем обработчик FrameCallBack:<br />
<pre><code>var<br />
  DC    : HDC;<br />
  Bt    : BITMAPINFO;<br />
  h_wnd : HWND;<br />
  h_cam : HWND;<br />
  buf   : array [0..640 * 480 * 3] of Byte; // изображение-эталон<br />
...</p>
<p>// создание главного окна приложения<br />
  with wnd do<br />
  begin<br />
    cbSize        := SizeOf(wnd);<br />
    lpfnWndProc   := @WndProc;<br />
  ...</p>
<p>// создание невидимого окна захвата<br />
  h_cam := capCreateCaptureWindowA(nil, WS_CHILD or WS_VISIBLE, 0, 0, 0, 0, h_wnd, 0);<br />
// получаем идентификаторы графического контекста главного окна<br />
  DC  := GetDC(h_wnd);</p>
<p>// настройка драйвера<br />
  if SendMessage(h_cam, WM_CAP_DRIVER_CONNECT, 0, 0) <> 0 then<br />
  begin<br />
    SendMessage(h_cam, WM_CAP_GET_VIDEOFORMAT, SizeOf(Bt), LongInt(@Bt));<br />
    Bt.bmiHeader.biWidth    := 320;<br />
    Bt.bmiHeader.biHeight   := 240;<br />
    Bt.bmiHeader.biSize     := SizeOf(Bt.bmiHeader);<br />
    Bt.bmiHeader.biPlanes   := 1;<br />
    Bt.bmiHeader.biBitCount := 24;<br />
    SendMessage(h_cam, WM_CAP_SET_VIDEOFORMAT, SizeOf(Bt), LongInt(@Bt));<br />
    SendMessage(h_cam, WM_CAP_SET_CALLBACK_FRAME, 0, Integer(@FrameCallback));<br />
  end<br />
...</p>
<p>function WndProc(hwnd: DWORD; message: UINT; wParam: Longint; lParam: LongInt): LongInt; stdcall;<br />
begin<br />
  case message of<br />
 ...<br />
  // получаем кадр по таймеру<br />
    WM_TIMER       : SendMessage(h_cam, WM_CAP_GRAB_FRAME, 0, 0);<br />
  end;<br />
  Result := DefWindowProc(hwnd, message, wParam, lParam);<br />
end;</code></pre></p>
<p>И сам кадр уже в каллбэке:<br />
<pre><code>function FrameCallback(hWnd: HWND; lpVHdr: PVIDEOHDR): DWORD; stdcall;<br />
type<br />
  TByteArray = array [0..1] of Byte;<br />
  PByteArray = ^TByteArray;<br />
var<br />
  i, j   : Integer;<br />
  sum    : Single;<br />
  status : TCapStatus;<br />
  str    : string;<br />
begin<br />
  Result := 0;<br />
  // информация о изображении<br />
  SendMessage(hwnd, WM_CAP_GET_STATUS, SizeOf(status), Integer(@status));</p>
<p>// получаем эталон<br />
  if first then<br />
  begin<br />
    Move(lpVHdr^.lpData^, buf, lpVhdr^.dwBytesUsed);<br />
    first := False;<br />
  end;</p>
<p>// вычисление объектов<br />
  for i := 0 to status.uiImageWidth * status.uiImageHeight - 1 do<br />
  begin<br />
    sum := 0;<br />
    for j := 0 to 2 do<br />
      sum := sum + abs(buf<em></em> - PbyteArray(lpVHdr^.lpData)<em></em>);<br />
    sum := sum / 3;<br />
    if sum > SENS then<br />
    begin<br />
      PbyteArray(lpVHdr^.lpData)<em></em> := (buf<em></em> + PbyteArray(lpVHdr^.lpData)<em></em>) div 4;<br />
      PbyteArray(lpVHdr^.lpData)<em></em> := (buf<em></em> + PbyteArray(lpVHdr^.lpData)<em></em>) div 4;<br />
      PbyteArray(lpVHdr^.lpData)<em></em> := min(buf<em></em> + PbyteArray(lpVHdr^.lpData)<em></em>, 255);<br />
    end else<br />
      for j := 0 to 2 do<br />
        PbyteArray(lpVHdr^.lpData)<em></em> := buf<em></em>;<br />
  end;</p>
<p>// вывод результата в окно<br />
  bt.bmiHeader.biWidth  := status.uiImageWidth;<br />
  bt.bmiHeader.biHeight := status.uiImageHeight;<br />
  StretchDIBits(DC, 0, 0, 640, 480, 0, 0, status.uiImageWidth, status.uiImageHeight, lpVHdr.lpData, bt, 0, SRCCOPY);</p>
<p>end;</code></pre></p>
<p><a href="http://programmersforum.ru/showthread.php?t=192656">тема на форуме</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmersclub.ru/%d0%9f%d0%be%d0%bb%d1%83%d1%87%d0%b5%d0%bd%d0%b8%d0%b5-%d0%ba%d0%b0%d1%80%d1%82%d0%b8%d0%bd%d0%ba%d0%b8-%d1%81-%d0%b2%d0%b5%d0%b1-%d0%ba%d0%b0%d0%bc%d0%b5%d1%80%d1%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Скопировать определённый кусок image</title>
		<link>http://www.programmersclub.ru/%d0%a1%d0%ba%d0%be%d0%bf%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d1%82%d1%8c-%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d1%91%d0%bd%d0%bd%d1%8b%d0%b9-%d0%ba%d1%83%d1%81%d0%be%d0%ba-image/</link>
		<comments>http://www.programmersclub.ru/%d0%a1%d0%ba%d0%be%d0%bf%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d1%82%d1%8c-%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d1%91%d0%bd%d0%bd%d1%8b%d0%b9-%d0%ba%d1%83%d1%81%d0%be%d0%ba-image/#comments</comments>
		<pubDate>Thu, 17 May 2012 12:23:37 +0000</pubDate>
		<dc:creator>Chas</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[Image]]></category>
		<category><![CDATA[winapi]]></category>

		<guid isPermaLink="false">http://www.programmersclub.ru/?p=5080</guid>
		<description><![CDATA[Допустим, на форме есть растянутый Image1, в него грузится картинка. Сверху Image1 лежит Image2 (размером меньше) и в его канву нужно загрузить тот кусок рисунка из Image1 который как бы закрывает Image2. Другими словами, чтобы Image2 фотографировала в канву то, что находится под ней NBSTUDIO вот нашел решение с помощью этой функции: тема на форуме]]></description>
			<content:encoded><![CDATA[<p>Допустим, на форме есть растянутый Image1, в него грузится картинка. Сверху Image1 лежит Image2 (размером меньше) и в его канву нужно загрузить тот кусок рисунка из Image1 который как бы закрывает Image2. Другими словами, чтобы Image2 фотографировала в канву то, что находится под ней <span id="more-5080"></span></p>
<p><strong>NBSTUDIO</strong><br />
вот нашел решение с помощью этой функции:<br />
<pre><code><br />
BitBlt(dest.Canvas.Handle, 0, 0, dest.Width,<br />
  dest.Height, src.Canvas.Handle,<br />
   dest.Left, dest.Top, SRCCOPY);</code></pre></p>
<p><a href="http://programmersforum.ru/showthread.php?t=192365">тема на форуме</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmersclub.ru/%d0%a1%d0%ba%d0%be%d0%bf%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d1%82%d1%8c-%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d1%91%d0%bd%d0%bd%d1%8b%d0%b9-%d0%ba%d1%83%d1%81%d0%be%d0%ba-image/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Сделать printscreen экрана и сохранить</title>
		<link>http://www.programmersclub.ru/%d0%a1%d0%b4%d0%b5%d0%bb%d0%b0%d1%82%d1%8c-printscreen-%d1%8d%d0%ba%d1%80%d0%b0%d0%bd%d0%b0-%d0%b8-%d1%81%d0%be%d1%85%d1%80%d0%b0%d0%bd%d0%b8%d1%82%d1%8c/</link>
		<comments>http://www.programmersclub.ru/%d0%a1%d0%b4%d0%b5%d0%bb%d0%b0%d1%82%d1%8c-printscreen-%d1%8d%d0%ba%d1%80%d0%b0%d0%bd%d0%b0-%d0%b8-%d1%81%d0%be%d1%85%d1%80%d0%b0%d0%bd%d0%b8%d1%82%d1%8c/#comments</comments>
		<pubDate>Wed, 16 May 2012 12:39:22 +0000</pubDate>
		<dc:creator>Chas</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[PrintScreen]]></category>
		<category><![CDATA[SendMessage]]></category>
		<category><![CDATA[winapi]]></category>
		<category><![CDATA[принтскрин]]></category>

		<guid isPermaLink="false">http://www.programmersclub.ru/?p=5077</guid>
		<description><![CDATA[volod3000 Здесь все просто , буфер обмена имеет не одну запись , и нам надо отловить изменения в записях буфера обмена и вытащить необходимую, в данном случае последнею . Вот решение проблемы, корректное : тема на форуме]]></description>
			<content:encoded><![CDATA[<p><span id="more-5077"></span><strong>volod3000</strong><br />
Здесь все просто , буфер обмена имеет не одну запись , и нам надо отловить изменения в записях буфера обмена и вытащить необходимую, в данном случае последнею . Вот решение проблемы, корректное : </p>
<pre><code>  procedure FormCreate(Sender: TObject);<br />
  private<br />
    hwndNextViewer: THandle;<br />
    procedure WMChangeCbChain(var Message: TWMChangeCBChain); message WM_CHANGECBCHAIN;<br />
    procedure WMDrawClipboard(var Message: TMessage); message WM_DRAWCLIPBOARD;<br />
....................................................<br />
................................<br />
..............................</p>
<p>implementation</p>
<p>{$R *.dfm}</p>
<p>procedure TForm1.Button1Click(Sender: TObject);<br />
begin</p>
<p> keybd_event(VK_SNAPSHOT, 0, 0, 0);<br />
 keybd_event(VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0);</p>
<p>end;</p>
<p>procedure TForm1.FormCreate(Sender: TObject);<br />
begin<br />
  hwndNextViewer := SetClipboardViewer(Handle);<br />
end;</p>
<p>procedure TForm1.WMChangeCbChain(var Message: TWMChangeCBChain);<br />
begin<br />
  with Message do<br />
begin<br />
  if Remove = hwndNextViewer then<br />
     hwndNextViewer := Next<br />
  else<br />
   if hwndNextViewer <> 0 then<br />
     SendMessage(hwndNextViewer, Msg, Remove, Next);<br />
 end;<br />
end;</p>
<p>procedure TForm1.WMDrawClipboard(var Message: TMessage);<br />
begin<br />
if IsClipboardFormatAvailable(CF_BITMAP) then<br />
begin<br />
   Image1.Picture.Assign(Clipboard);<br />
   Image1.Picture.SaveToFile(ExtractFilePath(Application.ExeName) + 'temp.bmp');<br />
end;</p>
<p>end;</code></pre>
<p><a href="http://programmersforum.ru/showthread.php?t=156579">тема на форуме</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmersclub.ru/%d0%a1%d0%b4%d0%b5%d0%bb%d0%b0%d1%82%d1%8c-printscreen-%d1%8d%d0%ba%d1%80%d0%b0%d0%bd%d0%b0-%d0%b8-%d1%81%d0%be%d1%85%d1%80%d0%b0%d0%bd%d0%b8%d1%82%d1%8c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Написать программу, считывает с клавиатуры определенное колличество цифр, а на экран выводит сумму наибольшей цифры</title>
		<link>http://www.programmersclub.ru/%d0%b2%d1%8b%d0%b2%d0%be%d0%b4%d0%b8%d1%82-%d1%81%d1%83%d0%bc%d0%bc%d1%83-%d0%bd%d0%b0%d0%b8%d0%b1%d0%be%d0%bb%d1%8c%d1%88%d0%b5%d0%b9-%d1%86%d0%b8%d1%84%d1%80%d1%8b/</link>
		<comments>http://www.programmersclub.ru/%d0%b2%d1%8b%d0%b2%d0%be%d0%b4%d0%b8%d1%82-%d1%81%d1%83%d0%bc%d0%bc%d1%83-%d0%bd%d0%b0%d0%b8%d0%b1%d0%be%d0%bb%d1%8c%d1%88%d0%b5%d0%b9-%d1%86%d0%b8%d1%84%d1%80%d1%8b/#comments</comments>
		<pubDate>Wed, 16 May 2012 12:32:37 +0000</pubDate>
		<dc:creator>Chas</dc:creator>
				<category><![CDATA[assembler]]></category>

		<guid isPermaLink="false">http://www.programmersclub.ru/?p=5075</guid>
		<description><![CDATA[Нужно написать программу, считывает с клавиатуры определенное колличество цифр, а на экран выводит сумму наибольшей цифры, и цифру, стоящую на пятом месте в введенной строке zhan313 тема на форуме]]></description>
			<content:encoded><![CDATA[<p>Нужно написать программу, считывает с клавиатуры определенное колличество цифр, а на экран выводит сумму наибольшей цифры, и цифру, стоящую на пятом месте в введенной строке<span id="more-5075"></span></p>
<p><strong>zhan313</strong><br />
<pre><code>code segment para public 'code'<br />
assume cs:code,ds:code,ss:code,es:code<br />
org 100h<br />
start:<br />
jmp m1000</p>
<p>np1 db 'BBedite 4isla$'<br />
max1 db 100<br />
rd1 db ?<br />
str1 db 101 dup(?)</p>
<p>m1000:<br />
mov ah, 09h<br />
lea dx, np1<br />
int 21h</p>
<p>mov ah,2<br />
mov dl,0ah<br />
int 21h<br />
mov dl,0dh<br />
int 21h</p>
<p>mov ah,10<br />
lea dx,max1<br />
int 21h</p>
<p>mov ah,2<br />
mov dl,0ah<br />
int 21h<br />
mov dl,0dh<br />
int 21h</p>
<p>lea si,str1 ; ищем наибольшую цифру<br />
mov ch,0<br />
mov cl,rd1<br />
mov dl,0<br />
m1:<br />
cmp dl,[si]<br />
ja m2<br />
mov dl,[si]<br />
m2:<br />
inc si<br />
loop m1</p>
<p>lea si,str1<br />
add dl,[si+4] ; наибольшая+5-я цифра<br />
sub dl,60h ; переводим в число<br />
mov dh,dl<br />
cmp dh,10 ; сумма >= 10<br />
jb m3<br />
sub dh,10 ; выделяем единицы из суммы<br />
mov dl,'1' ; выводим 1 (сумма не превышает 18)<br />
int 21h<br />
m3:<br />
mov dl,dh ; выводим единицы суммы<br />
add dl,'0' ; преобразуем в символ<br />
int 21h</p>
<p>mov ah,4ch<br />
int 21h<br />
code ends<br />
end start</code></pre></p>
<p><a href="http://programmersforum.ru/showthread.php?t=192572">тема на форуме</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmersclub.ru/%d0%b2%d1%8b%d0%b2%d0%be%d0%b4%d0%b8%d1%82-%d1%81%d1%83%d0%bc%d0%bc%d1%83-%d0%bd%d0%b0%d0%b8%d0%b1%d0%be%d0%bb%d1%8c%d1%88%d0%b5%d0%b9-%d1%86%d0%b8%d1%84%d1%80%d1%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Создать системную, невидимую, только для чтения папку</title>
		<link>http://www.programmersclub.ru/%d0%a1%d0%be%d0%b7%d0%b4%d0%b0%d1%82%d1%8c-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%bd%d1%83%d1%8e-%d0%bd%d0%b5%d0%b2%d0%b8%d0%b4%d0%b8%d0%bc%d1%83%d1%8e-%d1%82%d0%be%d0%bb%d1%8c%d0%ba%d0%be-%d0%b4/</link>
		<comments>http://www.programmersclub.ru/%d0%a1%d0%be%d0%b7%d0%b4%d0%b0%d1%82%d1%8c-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%bd%d1%83%d1%8e-%d0%bd%d0%b5%d0%b2%d0%b8%d0%b4%d0%b8%d0%bc%d1%83%d1%8e-%d1%82%d0%be%d0%bb%d1%8c%d0%ba%d0%be-%d0%b4/#comments</comments>
		<pubDate>Tue, 15 May 2012 12:08:12 +0000</pubDate>
		<dc:creator>Chas</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[GetFileAttributes]]></category>
		<category><![CDATA[winapi]]></category>
		<category><![CDATA[аттрибут]]></category>
		<category><![CDATA[невидимая папка]]></category>
		<category><![CDATA[папка]]></category>
		<category><![CDATA[системная папка]]></category>

		<guid isPermaLink="false">http://www.programmersclub.ru/?p=5073</guid>
		<description><![CDATA[MaxNik2009 как то так: тема на форуме]]></description>
			<content:encoded><![CDATA[<p><span id="more-5073"></span><strong>MaxNik2009</strong><br />
как то так:<br />
<pre><code>var<br />
  sDirName: PWideChar;  //имя папки<br />
  dAttr: DWord;            //атрибуты папки<br />
begin<br />
  sDirName:= PWideChar(Edit1.Text); //  Edit1 должен быть на форме <img src='http://www.programmersclub.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
  if CreateDirectory(sDirName, nil) then // создание папки<br />
  begin<br />
    dAttr:= GetFileAttributes(sDirName);  // получение атрибутов папки</p>
<p>    // Установка новых атрибутов<br />
    dAttr:= dAttr + FILE_ATTRIBUTE_SYSTEM + FILE_ATTRIBUTE_READONLY +<br />
      FILE_ATTRIBUTE_HIDDEN;<br />
    SetFileAttributes(sDirName, dAttr);<br />
  end;<br />
end;</code></pre></p>
<p><a href="http://programmersforum.ru/showthread.php?t=192450">тема на форуме</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmersclub.ru/%d0%a1%d0%be%d0%b7%d0%b4%d0%b0%d1%82%d1%8c-%d1%81%d0%b8%d1%81%d1%82%d0%b5%d0%bc%d0%bd%d1%83%d1%8e-%d0%bd%d0%b5%d0%b2%d0%b8%d0%b4%d0%b8%d0%bc%d1%83%d1%8e-%d1%82%d0%be%d0%bb%d1%8c%d0%ba%d0%be-%d0%b4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Какой яп и ide выбрать для кроссплатформенного программирования?</title>
		<link>http://www.programmersclub.ru/%d0%9a%d0%b0%d0%ba%d0%be%d0%b9-%d1%8f%d0%bf-%d0%b8-ide-%d0%b2%d1%8b%d0%b1%d1%80%d0%b0%d1%82%d1%8c/</link>
		<comments>http://www.programmersclub.ru/%d0%9a%d0%b0%d0%ba%d0%be%d0%b9-%d1%8f%d0%bf-%d0%b8-ide-%d0%b2%d1%8b%d0%b1%d1%80%d0%b0%d1%82%d1%8c/#comments</comments>
		<pubDate>Tue, 15 May 2012 12:01:01 +0000</pubDate>
		<dc:creator>Chas</dc:creator>
				<category><![CDATA[Общалка]]></category>
		<category><![CDATA[кроссплатформенное программирование]]></category>
		<category><![CDATA[кроссплатформенность]]></category>

		<guid isPermaLink="false">http://www.programmersclub.ru/?p=5071</guid>
		<description><![CDATA[Думаю расширить круг пользователей своего ПО. первый и последний ЯП: Delphi Задумался о программировани под linux. Знаю, что есть Lazarus. Прошу убедить меня в том, что лазарус стоит того, чтобы помучаться с ним и пописать на нем. Можно пару примеров успешный проектов Win/Linux Задумываюсь ,что это все же большие грабли, которые я себе строю и [...]]]></description>
			<content:encoded><![CDATA[<p>Думаю расширить круг пользователей своего ПО.<br />
первый и последний ЯП: Delphi</p>
<p>Задумался о программировани под linux. </p>
<p>Знаю, что есть Lazarus. Прошу убедить меня в том, что лазарус стоит того, чтобы помучаться с ним и пописать на нем. Можно пару примеров успешный проектов Win/Linux </p>
<p>Задумываюсь ,что это все же большие грабли, которые я себе строю и на которые рано или поздно, но наступлю. </p>
<p>Хочеться писать ПО в обе стороны. С чего начать? Точнее, на какой ЯП можно легко и плавно перейти с Delphi(Object Pascal)?</p>
<p>Интересует управление системой(Shell), запуск/остановка процессов, сервисов/демонов, многопоточность, ввод/вывод не GUI приложений, тамошние окна(GUI).<span id="more-5071"></span></p>
<p><strong>Человек_Борща</strong><br />
на Lazaruse написаны следующие продукты:<br />
1. GLScene<br />
2. Cheat Engine<br />
3. Total Commander 8 x64</p>
<p>Так что не говорите если не распробовали его полностью. </p>
<p>Из минусов, которые я там нашел:<br />
1. Нет толковой справки<br />
2. Нет расширений IDE, да они пока и не надо.<br />
3. толстые бинарники(ага, если нифига не настроить компилятор).</p>
<p>Из плюсов:<br />
1. Тонкая настройка компилятора(Delphi XE2 и не снилось!)<br />
- &#8211; Сборка под разные платформы, коих больше 12!<br />
- &#8211; Сборка под разные архитектуры и модели процессора.<br />
- &#8211; Тонкая настройка оптимизации.<br />
- &#8211; Разные отладочные плющечки.<br />
2. Проекты также кроссплатформенные, я спокойно пишу под windows, а для компиляции на Linux, я запускаю вирт. машину и одним нажатием кнопки собираю бинарный вариант.<br />
3. Бинарники получаются компактными, их и UPX дожать можно.<br />
4. исходники FPC, Lazarus, отладчика в открытом виде.<br />
5. LCL, RTL, VCL документированы в исходниках. </p>
<p>FPC куда мощьнее delphi XE2.</p>
<p>А вот c# приглянулся. Можно подробнее о сборке под разные системы? Из вашего спора с Utkin&#8217;ым, не понятно, кто прав а кто виноват(О да, я подлил масла в огонь).</p>
<p><strong>BOBAH13</strong><br />
Кроссплатформенность на уровне байт кода:<br />
1. Огромный список JVM языков (Java, Scala, Clojure, другие J* от ruby, python и др.)<br />
2. .NET ну тут или VB или C#</p>
<p>Кроссплатформенность на уровне бинарного кода:<br />
Тут советую, разумеется, С или С++.</p>
<p><a href="http://programmersforum.ru/showthread.php?t=200089&#038;page=7">тема на форуме</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmersclub.ru/%d0%9a%d0%b0%d0%ba%d0%be%d0%b9-%d1%8f%d0%bf-%d0%b8-ide-%d0%b2%d1%8b%d0%b1%d1%80%d0%b0%d1%82%d1%8c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Скачать html страницу в memo с помощью indy</title>
		<link>http://www.programmersclub.ru/%d0%a1%d0%ba%d0%b0%d1%87%d0%b0%d1%82%d1%8c-html-%d1%81%d1%82%d1%80%d0%b0%d0%bd%d0%b8%d1%86%d1%83-%d0%b2-memo-%d1%81-%d0%bf%d0%be%d0%bc%d0%be%d1%89%d1%8c%d1%8e-indy/</link>
		<comments>http://www.programmersclub.ru/%d0%a1%d0%ba%d0%b0%d1%87%d0%b0%d1%82%d1%8c-html-%d1%81%d1%82%d1%80%d0%b0%d0%bd%d0%b8%d1%86%d1%83-%d0%b2-memo-%d1%81-%d0%bf%d0%be%d0%bc%d0%be%d1%89%d1%8c%d1%8e-indy/#comments</comments>
		<pubDate>Mon, 14 May 2012 12:02:30 +0000</pubDate>
		<dc:creator>Chas</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[indy]]></category>
		<category><![CDATA[интернет]]></category>
		<category><![CDATA[скачать]]></category>

		<guid isPermaLink="false">http://www.programmersclub.ru/?p=5069</guid>
		<description><![CDATA[Вопрос не сложный. Как скачать файл сразу в перемнную, при этом нельзя что бы он где то еще был кроме этой самой переменной. Пепел Феникса тема на форуме]]></description>
			<content:encoded><![CDATA[<p>Вопрос не сложный. Как скачать файл сразу в перемнную, при этом нельзя что бы он где то еще был кроме этой самой переменной. <span id="more-5069"></span></p>
<p><strong>Пепел Феникса</strong><br />
<pre><code>var<br />
 s:TMemoryStream;<br />
 begin<br />
 s:=TMemoryStream.Create;<br />
 IdHTTP1.Get('programmersclub.ru/',s);<br />
 s.Position:=0;<br />
 Memo1.Lines.LoadFromStream(S);<br />
 s.Free;</code></pre></p>
<p><a href="http://programmersforum.ru/showthread.php?t=193344">тема на форуме</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmersclub.ru/%d0%a1%d0%ba%d0%b0%d1%87%d0%b0%d1%82%d1%8c-html-%d1%81%d1%82%d1%80%d0%b0%d0%bd%d0%b8%d1%86%d1%83-%d0%b2-memo-%d1%81-%d0%bf%d0%be%d0%bc%d0%be%d1%89%d1%8c%d1%8e-indy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как разорвать adsl соединение с интернетом?</title>
		<link>http://www.programmersclub.ru/%d1%80%d0%b0%d0%b7%d0%be%d1%80%d0%b2%d0%b0%d1%82%d1%8c-adsl-%d1%81%d0%be%d0%b5%d0%b4%d0%b8%d0%bd%d0%b5%d0%bd%d0%b8%d0%b5-%d1%81-%d0%b8%d0%bd%d1%82%d0%b5%d1%80%d0%bd%d0%b5%d1%82%d0%be%d0%bc/</link>
		<comments>http://www.programmersclub.ru/%d1%80%d0%b0%d0%b7%d0%be%d1%80%d0%b2%d0%b0%d1%82%d1%8c-adsl-%d1%81%d0%be%d0%b5%d0%b4%d0%b8%d0%bd%d0%b5%d0%bd%d0%b8%d0%b5-%d1%81-%d0%b8%d0%bd%d1%82%d0%b5%d1%80%d0%bd%d0%b5%d1%82%d0%be%d0%bc/#comments</comments>
		<pubDate>Mon, 14 May 2012 11:58:02 +0000</pubDate>
		<dc:creator>Chas</dc:creator>
				<category><![CDATA[Basic]]></category>
		<category><![CDATA[adsl]]></category>
		<category><![CDATA[adsl соединение]]></category>
		<category><![CDATA[интернет]]></category>

		<guid isPermaLink="false">http://www.programmersclub.ru/?p=5064</guid>
		<description><![CDATA[*PB* Держи код разрывающий ADSL. Возможно нужно будет изменить в коде пароль доступа к модему, если он отличается от стандартного. Компилировать в этом. Во вложении, скомпилированная программа. ADSL.rar (2.5 Кб) И еще такой вопрос интересует как обратный коннект) Это возможно? тема на форуме]]></description>
			<content:encoded><![CDATA[<p> <span id="more-5064"></span><strong>*PB*</strong><br />
Держи код разрывающий ADSL.<br />
<pre><code>InitNetwork()</p>
<p>Procedure.s SendModemData(Connect, Command.s)<br />
  Protected Result.s="", Count=0, x<br />
  Command=Command+Chr(13)+Chr(10)<br />
  SendNetworkData(Connect, @Command, Len(Command))<br />
  Repeat<br />
    Delay(20)<br />
    If NetworkClientEvent(Connect)=#PB_NetworkEvent_Data<br />
      Count=0<br />
      *mem=AllocateMemory(10000)<br />
      If *mem<br />
        ReceiveNetworkData(Connect,*mem,10000)<br />
        In.s=PeekS(*mem)<br />
        FreeMemory(*mem)<br />
        Result=Result+In<br />
      EndIf<br />
    EndIf<br />
    Count+1<br />
  Until Count>=40<br />
  ProcedureReturn Result<br />
EndProcedure</p>
<p>Connect=OpenNetworkConnection("192.168.1.1", 23) ; IP адрес модема и порт.<br />
If Connect<br />
  Delay(50)<br />
  SendModemData(Connect, "admin") ; Логин.<br />
  SendModemData(Connect, "admin") ; Пароль.<br />
  Delay(400)<br />
  SendModemData(Connect, "adsl connection --down") ; разорвать DSL-соединение.<br />
  Delay(2000)<br />
  CloseNetworkConnection(Connect)<br />
EndIf</code></pre></p>
<p>Возможно нужно будет изменить в коде пароль доступа к модему, если он отличается от стандартного.<br />
<a href="http://purebasic.com/download.php" target="_blank">Компилировать в этом.</a></p>
<p>Во вложении, скомпилированная программа.</p>
<table cellpadding="0" cellspacing="3" border="0">
<tr>
<td><img class="inlineimg" src="http://programmersforum.ru/images/1070/attach/rar.gif" alt="Тип файла: rar" width="16" height="16" border="0" style="vertical-align:baseline" /></td>
<td><a href="http://programmersforum.ru/attachment.php?s=8f8f235f5d03eb9bdec098647f119ff9&amp;attachmentid=48876&amp;d=1332579653">ADSL.rar</a> (2.5 Кб)</td>
</tr>
</table>
<p>И еще такой вопрос интересует как обратный коннект) Это возможно?<br />
<pre><code>Connect=OpenNetworkConnection("192.168.1.1", 23) ; IP адрес модема и порт.<br />
If Connect<br />
  Delay(50)<br />
  SendModemData(Connect, "admin") ; Логин.<br />
  SendModemData(Connect, "admin") ; Пароль.<br />
  Delay(400)<br />
  SendModemData(Connect, "adsl connection --down") ; разорвать соединение.<br />
  Delay(2000)<br />
  SendModemData(Connect, "adsl start --up")<br />
  SendModemData(Connect, "adsl connection --up")<br />
  Delay(2000)<br />
  CloseNetworkConnection(Connect)<br />
EndIf</code></pre></p>
<p><a href="http://programmersforum.ru/showthread.php?t=192955">тема на форуме</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmersclub.ru/%d1%80%d0%b0%d0%b7%d0%be%d1%80%d0%b2%d0%b0%d1%82%d1%8c-adsl-%d1%81%d0%be%d0%b5%d0%b4%d0%b8%d0%bd%d0%b5%d0%bd%d0%b8%d0%b5-%d1%81-%d0%b8%d0%bd%d1%82%d0%b5%d1%80%d0%bd%d0%b5%d1%82%d0%be%d0%bc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как отключить/включить сетевое соединение?</title>
		<link>http://www.programmersclub.ru/%d0%9a%d0%b0%d0%ba-%d0%be%d1%82%d0%ba%d0%bb%d1%8e%d1%87%d0%b8%d1%82%d1%8c%d0%b2%d0%ba%d0%bb%d1%8e%d1%87%d0%b8%d1%82%d1%8c-%d1%81%d0%b5%d1%82%d0%b5%d0%b2%d0%be%d0%b5-%d1%81%d0%be%d0%b5%d0%b4%d0%b8/</link>
		<comments>http://www.programmersclub.ru/%d0%9a%d0%b0%d0%ba-%d0%be%d1%82%d0%ba%d0%bb%d1%8e%d1%87%d0%b8%d1%82%d1%8c%d0%b2%d0%ba%d0%bb%d1%8e%d1%87%d0%b8%d1%82%d1%8c-%d1%81%d0%b5%d1%82%d0%b5%d0%b2%d0%be%d0%b5-%d1%81%d0%be%d0%b5%d0%b4%d0%b8/#comments</comments>
		<pubDate>Sun, 13 May 2012 18:17:14 +0000</pubDate>
		<dc:creator>Chas</dc:creator>
				<category><![CDATA[Заметки]]></category>
		<category><![CDATA[интернет]]></category>
		<category><![CDATA[сетевое соединение]]></category>
		<category><![CDATA[сетевое устройство]]></category>
		<category><![CDATA[сеть]]></category>

		<guid isPermaLink="false">http://www.programmersclub.ru/?p=5062</guid>
		<description><![CDATA[отключить сетевое соединение, через которое подключен инетрнет! Noor Скачав программу devcon.exe &#8211; это консольный диспетчер устройств. С его помощью можно влкючать/отключать различные устройства типо net адаптеров. devcon enable/disable &#60;hardware id&#62; Пример: &#60;hardware id&#62; вашего сетевого адаптера можго посмотреть Диспетчер устройств &#8211; сетевые адаптеры &#171;правой кнопкой мыши по вашему сетевому адаптеру Свойства &#8211; сведения &#8211; ID [...]]]></description>
			<content:encoded><![CDATA[<p>отключить сетевое соединение, через которое подключен инетрнет! <span id="more-5062"></span></p>
<p><strong>Noor</strong><br />
Скачав программу devcon.exe &#8211; это консольный диспетчер устройств. С его помощью можно влкючать/отключать различные устройства типо net адаптеров.</p>
<p>devcon enable/disable &lt;hardware id&gt;</p>
<p>Пример:<br />
<pre><code>devcon disable PCI\VEN_1104<br />
devcon enable PCI\VEN_1104</code></pre></p>
<p>&lt;hardware id&gt; вашего сетевого адаптера можго посмотреть Диспетчер устройств &#8211; сетевые адаптеры &laquo;правой кнопкой мыши по вашему сетевому адаптеру Свойства &#8211; сведения &#8211; ID оборудования&raquo;</p>
<p>или попробуй </p>
<pre><code>netsh.exe interface ip Set address "Local Area Connection" static 172.248.0.40 255.255.0.0 172.248.0.1 1<br />
netsh.exe interface ip Set dns "Local Area Connection" static 69.7.175.146<br />
netsh.exe interface ip Add dns "Local Area Connection" 69.7.175.148 index=2</code></pre>
<p>Вот еще вариант<br />
В cmd набери &laquo;sc query type= driver&raquo;, найди службу отвечающую за сетевуху, а потом используй &laquo;sc stop имяслужбы&raquo;, &laquo;sc start имяслужбы&raquo;.<br />
Справка &laquo;sc /?&raquo;</p>
<p><a href="http://programmersforum.ru/showthread.php?t=80686">тема на форуме</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmersclub.ru/%d0%9a%d0%b0%d0%ba-%d0%be%d1%82%d0%ba%d0%bb%d1%8e%d1%87%d0%b8%d1%82%d1%8c%d0%b2%d0%ba%d0%bb%d1%8e%d1%87%d0%b8%d1%82%d1%8c-%d1%81%d0%b5%d1%82%d0%b5%d0%b2%d0%be%d0%b5-%d1%81%d0%be%d0%b5%d0%b4%d0%b8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Передать состояние CheckBox</title>
		<link>http://www.programmersclub.ru/%d0%9f%d0%b5%d1%80%d0%b5%d0%b4%d0%b0%d1%82%d1%8c-%d1%81%d0%be%d1%81%d1%82%d0%be%d1%8f%d0%bd%d0%b8%d0%b5-checkbox/</link>
		<comments>http://www.programmersclub.ru/%d0%9f%d0%b5%d1%80%d0%b5%d0%b4%d0%b0%d1%82%d1%8c-%d1%81%d0%be%d1%81%d1%82%d0%be%d1%8f%d0%bd%d0%b8%d0%b5-checkbox/#comments</comments>
		<pubDate>Sun, 13 May 2012 18:13:07 +0000</pubDate>
		<dc:creator>Chas</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[CheckBox]]></category>
		<category><![CDATA[состояние checkbox]]></category>

		<guid isPermaLink="false">http://www.programmersclub.ru/?p=5059</guid>
		<description><![CDATA[Аватар тема на форуме]]></description>
			<content:encoded><![CDATA[<p><span id="more-5059"></span><strong>Аватар</strong><br />
<pre><code>procedure TForm1.Button1Click(Sender: TObject);<br />
begin<br />
  Form1.Caption := IntToStr(Integer(CheckBox1.Checked) );<br />
end;</code></pre></p>
<p><a href="http://programmersforum.ru/showthread.php?t=192381">тема на форуме</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.programmersclub.ru/%d0%9f%d0%b5%d1%80%d0%b5%d0%b4%d0%b0%d1%82%d1%8c-%d1%81%d0%be%d1%81%d1%82%d0%be%d1%8f%d0%bd%d0%b8%d0%b5-checkbox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

