[ Delphi / Pascal ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by banned, 6 May 2007.

Thread Status:
Not open for further replies.
  1. lll6

    lll6 Elder - Старейшина

    Joined:
    29 Feb 2008
    Messages:
    83
    Likes Received:
    15
    Reputations:
    5
    Пытаюсь залогиниться в 4files.net, но почему-то не выходит. Вот код, как пытался войти. В чём ошибочка?
    Code:
    list := TStringList.Create;
    list.Add('log=Логин');
    list.Add('pass=Пароль');
    list.Add('mem=1\0');
    str:=IdHTTP1.Post('http://4files.net/?act=login',list);
     
  2. diznt

    diznt Elder - Старейшина

    Joined:
    31 Jan 2008
    Messages:
    432
    Likes Received:
    164
    Reputations:
    -19
    str:=IdHTTP1.Post('http://4files.net/?act=login',list);

    попробуй

    IdHTTP1.Post('http://4files.net/?act=login',list);

    то есть не присваивай
    но могу ошибаться
     
  3. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Code:
    ?act=login
    тоже должно лежать в TSTringList;
    ,
    Не забывай про куки.
    Глянь ответ сервера, также возможен редирект.
     
  4. lll6

    lll6 Elder - Старейшина

    Joined:
    29 Feb 2008
    Messages:
    83
    Likes Received:
    15
    Reputations:
    5
    Ни с ?act=login ни без не логинится, куки там есть, но как их использовать в idhttp не знаю( CookieManager подключил вообще, вроде автоматом должно проставляться
     
  5. crystalbit

    crystalbit Elder - Старейшина

    Joined:
    6 Jun 2008
    Messages:
    212
    Likes Received:
    88
    Reputations:
    8
    ?act=login идет в сам адрес, как это ни весело

    вероятно ты просто забыл hidden учесть
    как-то так TStringList должен выглядеть:
     
  6. lll6

    lll6 Elder - Старейшина

    Joined:
    29 Feb 2008
    Messages:
    83
    Likes Received:
    15
    Reputations:
    5
    Пробовал и так, нифига :(
     
  7. WAR!9G

    WAR!9G Elder - Старейшина

    Joined:
    24 Jun 2007
    Messages:
    112
    Likes Received:
    89
    Reputations:
    1
    Помню интересовала данная тема и там были какие то траблы. Если у тебя анлимит, можешь как решение, по таймеру сверять количество собщений на сервере с количеством сообщений, 20 секунд назад.
     
  8. cigaretteburn

    cigaretteburn New Member

    Joined:
    21 May 2007
    Messages:
    11
    Likes Received:
    2
    Reputations:
    0
    тогда будет другой трабл - если сообщение удалить с сервера, и при этом придет новое, то оно не отобразиться, т.к. кол-во будет такое же как и раньше. надо как то узнавать прочтенное оно или нет, но как???
     
  9. Fertility

    Fertility New Member

    Joined:
    5 Nov 2008
    Messages:
    5
    Likes Received:
    1
    Reputations:
    0
    Помогите, пожалуйста, с реализацией в программе следующих действий:
    1) Логинизация на форуме(Ucoz).
    2) Переход в определенную тему форума.
    3) Чтение первого сообщения в теме.
    4) Отправка сообщения в эту тему.
    5) Выход и удаление куков, если таковые остаются.

    Все это я сделал с помощью компонента WebBrowser, но мне хотелось бы сделать это без "визуализации". Тоесть чтоб действия выполнялись более быстро и менее ресурсоемко, а демонстрация этих действий пользователю смысла не имеет.

    Нашел пару примеров логинизации, в том числе тут логинизацию к ВКонтакте, увы, работать эти вещи не захотели. А искать ошибку в чужом коде, не особо понимая смысла некоторых строк, делом считаю гиблым...
     
  10. preda1or

    preda1or Member

    Joined:
    27 Oct 2008
    Messages:
    167
    Likes Received:
    96
    Reputations:
    6
    могу помочь,пиши в ПМ
     
  11. NeXArmAor

    NeXArmAor Banned

    Joined:
    21 Apr 2007
    Messages:
    226
    Likes Received:
    161
    Reputations:
    6
    Нужен код отравки E-Mail с аттачом и с авторизацией(т.е пароль и логин),но без использования Indy и сторонних дельфи-компонент. Поиск курил,там с авторизацией код не нашел. Выручайте
     
  12. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    function SendEMail(Handle:THandle; Mail:TStrings):Cardinal;
    type
    TAttachAccessArray=array [0..0] of TMapiFileDesc;
    PAttachAccessArray=^TAttachAccessArray;
    var
    MapiMessage: TMapiMessage;
    Receip: TMapiRecipDesc;
    Attachments: PAttachAccessArray;
    i1,AttachCount: Integer;
    FileName: string;
    MAPI_Session,dwRet:Cardinal;
    begin
    dwRet:=MapiLogon(Handle,PChar(''),PChar(''),MAPI_LOGON_UI or MAPI_NEW_SESSION,0,@MAPI_Session);
    if dwRet<>SUCCESS_SUCCESS then begin
    exit;
    PChar('Error'),MB_ICONERROR or MB_OK); }
    end else begin
    FillChar(MapiMessage,SizeOf(MapiMessage),#0);
    Attachments:=nil;
    FillChar(Receip,SizeOf(Receip),#0);
    if Mail.Values['to']<>'' then begin
    Receip.ulReserved:=0;
    Receip.ulRecipClass:=MAPI_TO;
    Receip.lpszName:=StrNew(PChar(Mail.Values['to']));
    Receip.lpszAddress:=StrNew(PChar('SMTP:'+Mail.Values['to']));
    Receip.ulEIDSize:=0;
    MapiMessage.nRecipCount:=1;
    MapiMessage.lpRecips:=@Receip;
    end;
    AttachCount:=0;
    for i1:=0 to MaxInt do begin
    if Mail.Values['attachment'+IntToStr(i1)]='' then
    break;
    Inc(AttachCount);
    end;
    if AttachCount>0 then begin
    GetMem(Attachments,SizeOf(TMapiFileDesc)*AttachCount);
    for i1:=0 to AttachCount-1 do begin
    FileName:=Mail.Values['attachment'+IntToStr(i1)];
    Attachments[i1].ulReserved:=0;
    Attachments[i1].flFlags:=0;
    Attachments[i1].nPosition:=ULONG($FFFFFFFF);
    Attachments[i1].lpszPathName:=StrNew(PChar(FileName));
    Attachments[i1].lpszFileName:=StrNew(PChar(ExtractFileName(FileName)));
    Attachments[i1].lpFileType:=nil;
    end;
    MapiMessage.nFileCount:=AttachCount;
    MapiMessage.lpFiles:=@Attachments^;
    end;
    if Mail.Values['subject']<>'' then
    MapiMessage.lpszSubject:=StrNew(PChar(Mail.Values['subject']));
    if Mail.Values['body']<>'' then
    MapiMessage.lpszNoteText:=StrNew(PChar(Mail.Values['body']));
    try
    result:=MapiSendMail(MAPI_Session,Handle,MapiMessage,MAPI_DIALOG,0);
    finally
    end;
    for i1:=0 to AttachCount-1 do begin
    StrDispose(Attachments[i1].lpszPathName);
    StrDispose(Attachments[i1].lpszFileName);
    end;
    if Assigned(MapiMessage.lpszSubject) then StrDispose(MapiMessage.lpszSubject);
    if Assigned(MapiMessage.lpszNoteText) then StrDispose(MapiMessage.lpszNoteText);
    if Assigned(Receip.lpszAddress) then StrDispose(Receip.lpszAddress);
    if Assigned(Receip.lpszName) then StrDispose(Receip.lpszName);
    MapiLogOff(MAPI_Session,Handle,0,0);
    end;
    end;

    Email:=TStringList.Create;
    Email.values['to']:='[email protected]';
    Email.values['subject']:='Reporting from NET';
    Email.values['body']:='body';
    Email.values['attachment0'] := 'C:\out.bin';
    sendEMail(0,Email);


    пробуй...
     
  13. NeXArmAor

    NeXArmAor Banned

    Joined:
    21 Apr 2007
    Messages:
    226
    Likes Received:
    161
    Reputations:
    6
    и где же тут авторизация? и тем более юзается Mapi. Я же написал без сторонних компонентов.
    На чистом API через Winsock
     
  14. RaX

    RaX Member

    Joined:
    7 Jun 2008
    Messages:
    34
    Likes Received:
    34
    Reputations:
    0
    http://forum.antichat.ru/showthread.php?p=998288#post998288


    После команды PASS вводишь пароль, вместо [email protected] своё мыло, вместо [email protected] мыло получателя. Сообщение в файле message.txt. Если есть какие-либо вопросы, стучи в аську ;)
     
    #2354 RaX, 16 Dec 2008
    Last edited: 16 Dec 2008
    1 person likes this.
  15. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    мэн я не понял((((
     
    1 person likes this.
  16. bons

    bons Elder - Старейшина

    Joined:
    20 Dec 2007
    Messages:
    286
    Likes Received:
    121
    Reputations:
    21


    Code:
    var keyword,s1,s2:string;
        i:integer;
    begin
     keyword:='$edit2';
     s2:='999';
     s1:='http://site.ru/lol.php?info1=$edit2&info2=32423';
     i:=pos(keyword,s1);
     if i<>0 then begin
      delete(s1,i,length(keyword));
      insert(s2,s1,i);
     end;
     showmessage(s1);
    
    выведет:
    http://site.ru/lol.php?info1=999&info2=32423
     
    1 person likes this.
  17. OnArs

    OnArs Banned

    Joined:
    1 Aug 2008
    Messages:
    211
    Likes Received:
    13
    Reputations:
    1
    Все доброго времени суток!

    Есть парочка вопросов по Delphi :)
    Начну с - Как заполнить текстом поле input в TWebBrowser?
    И как правильно получить имя этого объекта на странице, скажем, при фокусировании на нём?
     
  18. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    смотри Delphi World она же 5005 статей по делфи. И там пример - как добраться до элементов страницы
     
  19. -m0rgan-

    -m0rgan- Elder - Старейшина

    Joined:
    29 Sep 2008
    Messages:
    514
    Likes Received:
    170
    Reputations:
    17
    Доброе время суток!
    Подскажите пожалуйста как в дельфи выставлять промежутки?
    например:
    если в эдит1 введены числа от 1 до 100, то выводица число 1, если от 101 до 200, то 2
    Зарание спасибо!
     
  20. azbuka

    azbuka New Member

    Joined:
    19 Nov 2008
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    есть delphi ^)
    надо Анлог или набор функций для Twebbrowser
    1. для быстрой смены прокси
    2. подстановке строки браузера
    3. заменой refferer

    больше чем уверен что это уже есть а изобретать велосипед совсем нехочеться ибо неблагодарное это дело, заранее благодарен за посылы с правильной строкой в гугл и примеры замены указанного
     
Thread Status:
Not open for further replies.