ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

АС
  #4611  
Старый 13.10.2009, 00:37
bmp152
Новичок
Регистрация: 25.05.2009
Сообщений: 15
Провел на форуме:
269065

Репутация: 6
По умолчанию АС

Здравствуйте! У меня такой вопрос: позавчера поставил последнюю версию инди, после этого перестал работать модуль АС (_http://antigate.com/delphi.zip), компилируется нормально, но когда нижимаешь "recognize", то выдает ошибку "Проект captcha_example.exe вызвал исключение класса EIdNoDataToRead с сообщением 'No data to read.'" и выделяет строку "raise EIdNoDataToRead.Create(RSIdNoDataToRead);" в модуле IdIOHandler.pas. Если ее закомментить то вообще ничего не происходит и каптча не отправляется. Может быть кто сталкивался - подскажите решение пожалуйста.
 
Ответить с цитированием

  #4612  
Старый 13.10.2009, 03:17
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме:
5749763

Репутация: 1680


Отправить сообщение для Nightmarе с помощью ICQ
По умолчанию

Можно ли получить скриншот экрана НЕ используя getDC(0); ???
Не могу понять, почему на серверах Windows, дедиках, и т.д... эта функция не пашет, может есть рабочая альтернатива?
 
Ответить с цитированием

  #4613  
Старый 13.10.2009, 07:57
Пуховой
Banned
Регистрация: 25.11.2007
Сообщений: 62
Провел на форуме:
1702086

Репутация: 89
По умолчанию

Код:
function recognize (filename: string; apikey: string; is_phrase: boolean; is_regsense: boolean; is_numeric: boolean; min_len: integer; max_len: integer): string;
var
  ftype, tmpstr, captcha_id: string;
  i: integer;
  http: tidhttp;
  multi: tidmultipartformdatastream;
begin
  if fileexists(filename)=false then begin result:='error: file not found'; exit; end;
  ftype:='image/pjpeg';
  if strpos(pchar(filename),'jpg')<>nil then ftype:='image/pjpeg';
  if strpos(pchar(filename),'gif')<>nil then ftype:='image/gif';
  if strpos(pchar(filename),'png')<>nil then ftype:='image/png';
  multi:=tidmultipartformdatastream.create;
  multi.addformfield('method','post');
  multi.addformfield('key',apikey);
  multi.addfile('file',filename,ftype);
  if is_phrase=true then multi.addformfield('phrase','1');
  if is_regsense=true then multi.addformfield('regsense','1');
  if is_numeric=true then multi.addformfield('numeric','1');
  if min_len>0 then multi.addformfield('min_len',inttostr(min_len));
  if max_len>0 then multi.addformfield('max_len',inttostr(max_len));
  http:=tidhttp.create(nil);
  tmpstr:=http.post('http://antigate.com/in.php',multi);
  http.free; multi.free;
  deletefile(filename);
  captcha_id:='';
  if strpos(pchar(tmpstr),'error_')<>nil then begin result:=tmpstr; exit; end;
  if strpos(pchar(tmpstr),'ok|')<>nil then captcha_id:=ansireplacestr(tmpstr,'ok|','');
  if captcha_id='' then result:='error: bad captcha id';
  for i:=0 to 20 do
  begin
    sleep (5000);
    http:=tidhttp.create(nil);
    tmpstr:=http.get('http://antigate.com/res.php?key='+apikey+'&action=get&id='+captcha_id);
    http.free;
    if strpos(pchar(tmpstr),'error_')<>nil then begin result:=tmpstr; exit; end;
    if strpos(pchar(tmpstr),'ok|')<>nil then
    begin
      result:=ansireplacestr(tmpstr,'ok|','');
      exit;
    end;
  end;
  result:='error_timeout';
end;
bmp12, Попробуйте функцию напрямую. В новом приложении.
 
Ответить с цитированием

  #4614  
Старый 13.10.2009, 09:23
s0l_ir0n
Участник форума
Регистрация: 14.03.2009
Сообщений: 237
Провел на форуме:
813785

Репутация: 314
Отправить сообщение для s0l_ir0n с помощью ICQ
По умолчанию

Цитата:
Сообщение от Nightmarе  
Можно ли получить скриншот экрана НЕ используя getDC(0); ???
Не могу понять, почему на серверах Windows, дедиках, и т.д... эта функция не пашет, может есть рабочая альтернатива?
Код:
procedure TForm1.GrabScreen;
var
  DeskTopDC: HDc;
  DeskTopCanvas: TCanvas;
  DeskTopRect: TRect;
begin
  DeskTopDC := GetWindowDC(GetDeskTopWindow);
  DeskTopCanvas := TCanvas.Create;
  DeskTopCanvas.Handle := DeskTopDC;
  DeskTopRect := Rect(0, 0, Screen.Width, Screen.Height);
  Form1.Canvas.CopyRect(DeskTopRect, DeskTopCanvas, DeskTopRect);
  ReleaseDC(GetDeskTopWindow, DeskTopDC);
end;
 
Ответить с цитированием

  #4615  
Старый 13.10.2009, 14:21
bmp152
Новичок
Регистрация: 25.05.2009
Сообщений: 15
Провел на форуме:
269065

Репутация: 6
По умолчанию

Цитата:
Сообщение от Пуховой  
bmp12, Попробуйте функцию напрямую. В новом приложении.
Пробовал и так, та же самая ошибка - "No data to read."

Код:
 
unit Unit1;

interface

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

function recognize(filename: string; apikey: string; is_phrase: boolean; is_regsense: boolean; is_numeric: boolean; min_len: integer; max_len: integer): string;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function recognize (filename: string; apikey: string; is_phrase: boolean; is_regsense: boolean; is_numeric: boolean; min_len: integer; max_len: integer): string;
var
  ftype, tmpstr, captcha_id: string;
  i: integer;
  http: tidhttp;
  multi: tidmultipartformdatastream;
begin
  if fileexists(filename)=false then begin result:='error: file not found'; exit; end;
  ftype:='image/pjpeg';
  if strpos(pchar(filename),'jpg')<>nil then ftype:='image/pjpeg';
  if strpos(pchar(filename),'gif')<>nil then ftype:='image/gif';
  if strpos(pchar(filename),'png')<>nil then ftype:='image/png';
  multi:=tidmultipartformdatastream.create;
  multi.addformfield('method','post');
  multi.addformfield('key',apikey);
  multi.addfile('file',filename,ftype);
  if is_phrase=true then multi.addformfield('phrase','1');
  if is_regsense=true then multi.addformfield('regsense','1');
  if is_numeric=true then multi.addformfield('numeric','1');
  if min_len>0 then multi.addformfield('min_len',inttostr(min_len));
  if max_len>0 then multi.addformfield('max_len',inttostr(max_len));
  http:=tidhttp.create(nil);
  tmpstr:=http.post('http://antigate.com/in.php',multi);
  http.free; multi.free;
  deletefile(filename);
  captcha_id:='';
  if strpos(pchar(tmpstr),'error_')<>nil then begin result:=tmpstr; exit; end;
  if strpos(pchar(tmpstr),'ok|')<>nil then captcha_id:=ansireplacestr(tmpstr,'ok|','');
  if captcha_id='' then result:='error: bad captcha id';
  for i:=0 to 20 do
  begin
    sleep (5000);
    http:=tidhttp.create(nil);
    tmpstr:=http.get('http://antigate.com/res.php?key='+apikey+'&action=get&id='+captcha_id);
    http.free;
    if strpos(pchar(tmpstr),'error_')<>nil then begin result:=tmpstr; exit; end;
    if strpos(pchar(tmpstr),'ok|')<>nil then
    begin
      result:=ansireplacestr(tmpstr,'ok|','');
      exit;
    end;
  end;
  result:='error_timeout';
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit2.Text:=recognize('captcha.jpg', Edit1.Text, False, False, False, 0, 0);
end;

end.
 
Ответить с цитированием

Indy 10.5.5 / 10.5.6
  #4616  
Старый 14.10.2009, 07:08
Пуховой
Banned
Регистрация: 25.11.2007
Сообщений: 62
Провел на форуме:
1702086

Репутация: 89
По умолчанию Indy 10.5.5 / 10.5.6

Товарищи, если у кого-нибудь остались сборки этих версий, выложите, пожалуйста!

SVN отдает уже 10.5.7, не безглючную, надо сказать.
 
Ответить с цитированием

  #4617  
Старый 14.10.2009, 08:15
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме:
5812656

Репутация: 1540


Отправить сообщение для scrat с помощью ICQ
По умолчанию

ну если ты используешь svn, то знаешь, что всегда можно сделать update с любой прошлой ревизии
 
Ответить с цитированием

  #4618  
Старый 14.10.2009, 15:33
Пуховой
Banned
Регистрация: 25.11.2007
Сообщений: 62
Провел на форуме:
1702086

Репутация: 89
По умолчанию

Кхм... Спасибо. Пользуюсь давно, а вот о возможностях без вашего пинка точно бы не догадался

Еще раз спасибо, нашел нужную ревизию

Что касается antigate:

Код:
function recognize (filename: string; apikey: string; is_phrase: boolean; is_regsense: boolean; is_numeric: boolean; min_len: integer; max_len: integer): string;
var
  ftype, tmpstr, captcha_id: String;
  i: integer;
  http: TIdHTTP;
  multi: Tidmultipartformdatastream;
begin
  if FileExists(filename)=false then begin result:='ERROR: file not found'; exit; end;
  ftype:='image/pjpeg';
  if strpos(Pchar(filename),'jpg')<>nil then ftype:='image/pjpeg';
  if strpos(Pchar(filename),'gif')<>nil then ftype:='image/gif';
  if strpos(Pchar(filename),'png')<>nil then ftype:='image/png';
  multi:=Tidmultipartformdatastream.Create;
  multi.AddFormField('method','post');
  multi.AddFormField('key',apikey);
  multi.AddFile('file',filename,ftype);
  if is_phrase=true then multi.AddFormField('phrase','1');
  if is_regsense=true then multi.AddFormField('regsense','1');
  if is_numeric=true then multi.AddFormField('numeric','1');
  if min_len>0 then multi.AddFormField('min_len',inttostr(min_len));
  if max_len>0 then multi.AddFormField('max_len',inttostr(max_len));
  http:=TIdHTTP.Create(nil);
  tmpstr:=http.Post('http://antigate.com/in.php',multi);
  http.Free; multi.Free;
  deletefile(filename);
  captcha_id:='';
  if strpos(Pchar(tmpstr),'ERROR_')<>nil then begin result:=tmpstr; exit; end;
  if strpos(Pchar(tmpstr),'OK|')<>nil then captcha_id:=AnsiReplaceStr(tmpstr,'OK|','');
  if captcha_id='' then result:='ERROR: bad captcha id';
  for i:=1 to 12 do
  begin
    sleep (5000);
    http:=TIdHttp.Create(nil);
    tmpstr:=http.Get('http://antigate.com/res.php?key='+apikey+'&action=get&id='+captcha_id);
    http.Free;
    if strpos(Pchar(tmpstr),'ERROR_')<>nil then begin result:=tmpstr; exit; end;
    if strpos(Pchar(tmpstr),'OK|')<>nil then
    begin
      result:=AnsiReplaceStr(tmpstr,'OK|','');
      exit;
    end;
  end;
  result:='ERROR_TIMEOUT';
end;
На 10.5.7, посл. работать не будет. 10.5.6 - работает.
 
Ответить с цитированием

  #4619  
Старый 15.10.2009, 03:43
aka_k4
Участник форума
Регистрация: 05.02.2009
Сообщений: 133
Провел на форуме:
910039

Репутация: 86
По умолчанию

IdSMTP1.Host:='smtp.mail.ru'; //
IdSMTP1.Port:=2525; //
IdSMTP1.Username:=login; //
IdSMTP1.Password:=pass; //
IdSMTP1.AuthenticationType:=atLogin;
with IdMessage1
do
begin

From.Text :=Tema; //
Recipients.EMailAddresses := qwqwq@mail.ru; //
Subject := qwerty@mail.ru;
if FileExists(Edit1.Text)
then

TIdAttachment.Create(idmessage1.MessageParts,C:\Pr ogram Files\1.txt);

Этот кусок отправет нам файло 1.txt на почту. Подскажите, а как прекрутить к коду, чтоб оно отпровляло не файл, а какую ни буть функцию...Т.Е. нопример скопированную в буфер обмена картинку, или текст?

Будет ли синтаксическе правельно применить след выражение?:

var
Msg: TIdMessage;
begin
Msg.Subject:=?тема сообщения?;
Msg.Recipients.EMailAddresses:=?aka_k4@mail.ru?;
Msg.From.Adress:=?delphi@mail.ru?;
Msg.Body.Text:=SetTextBuf();
Msg.Date:=StrToDate(?01.12.2004?);/
end;
 
Ответить с цитированием

  #4620  
Старый 15.10.2009, 11:07
Rebit
Участник форума
Регистрация: 07.08.2007
Сообщений: 136
Провел на форуме:
2010588

Репутация: 653
Отправить сообщение для Rebit с помощью ICQ
По умолчанию

Помогите решить =) С мну +10
Цитата:
Лабораторна робота № 8 Обчислення площі контуру та координати центра його ваги.
Заданий замкнений контур намалювати на міліметровці, обчислити його площу та координати центра ваги за допомогою простих геометричних формул. Створити програму для обчислення за допомогою модифікованої формули Гріна, порівняти результати (вони повинні співпадати).

9. Замкнений контур розташовується між графіком функції Y=(1+|X|)(2-|X|) та віссю Х у диапазоні Х= -2 -- +2, визначити його площу та координати центра ваги за допомогою модифікованої формули Гріна. Порівняти із ручним розрахунком.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/WPAN/WLAN 2567 19.04.2026 23:21
[ *NIX ] Задай вопрос - получи ответ. Xszz *nix 1547 15.06.2010 15:41
[jQuery] - Задай вопрос, получи ответ Isis PHP, PERL, MySQL, JavaScript 62 25.12.2009 03:25
ЕсТь ВоПрос Guma Чаты 4 26.10.2005 21:48



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ