[ 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. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Как вариант юзать только хуки.
    Т.е. ставишь хук на сообщения окну и там смотришь WM_KEYDOWN и WM_KEYUP
     
  2. pira

    pira New Member

    Joined:
    8 Dec 2008
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Ребят, помогите сделать бота типа болталки вконтакте.

    Code:
    <form action="http://www.mydomain.ru/login.php" method="post" name="infrm" style="margin:0;">
    		<table cellspacing="0" cellpadding="2" border="0">
    			<tr><td>Логин:</td><td><input class="inp" type="text" name="login" value="" maxlength="16" size="24" /></td></tr>
    			<tr><td>Пароль:</td><td><input class="inp"  type="password" name="password" maxlength="16" size="24" /></td></tr>
    			<tr><td colspan="2" align="center"><input style="margin:10px;width:50px;height:8px;border:0;" type="image" src="http://i.mydomain.ru/chat/main3.gif" alt="Войти"></td></tr>
    
    			<tr><td colspan="2" style="font-size:9px;" align="center">
    				<a href="/lostpwd.php">Забыли пароль?</a> | 
    				<a href="/menu/problems.php">Не пускает в чат?</a>
    			</td></tr>
    		</table>
    	</form>

    Или хотя бы литературу толковую и мануалы дайте )
     
    #2942 pira, 20 Mar 2009
    Last edited: 20 Mar 2009
  3. Vitaliy-55

    Vitaliy-55 New Member

    Joined:
    20 Mar 2009
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    Доброго времени суток! Как во время открытия динамического меню, проверить базу на наличие данных в ячейке? и если ячейка не пуста, тогда отметиь пункт меню(TMenuItem.checked)???
     
  4. pira

    pira New Member

    Joined:
    8 Dec 2008
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Я вот сделал. А можете сказать как сделать чтобы при нажатии кнопки срабатывал запрос
    Code:
    http://www.mydomain.ru/refresh.php?say=Привет&addr=Пирка
    Я пробовал
    Code:
    procedure TForm5.Button2Click(Sender: TObject);
    var params,responseres:tstringlist;
    begin
    params:=TStringList.Create;
    responseres:=TStringList.Create;
    params.Add('f1');
    params.Add('say=Привет);
    params.Add('addr=Пирка);
    responseres.Text:=http1.Post('http://www.mydomain.ru/refresh.php',params);
    end;
    дело в том что в form action ничего нет просто кавычки ""
     
  5. AlexTheC0d3r

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

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    http://www.delphisources.ru/pages/faq/base/record_sound.html

    http://www.delphisources.ru/pages/faq/base/read_write_sound.html

    http://www.delphisources.ru/pages/faq/base/wav_record.html
     
  6. f0rward

    f0rward New Member

    Joined:
    26 Oct 2008
    Messages:
    10
    Likes Received:
    2
    Reputations:
    0
    Помогите пожалуйста написать код авторизации на сайте torents.ru
    Там куки,а как с ними работать я не представляю.
    Вот post-запрос :
    Code:
    redirect=index.php   
    cookie_test=xxxxxxxxxx
    login_username=MyUser
    login_password=MyPass     
    autologin=on          
    login=Вход        
    
    Вот это не работает:
    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    const
      fact:shortString = 'http://torrents.ru/forum/login.php';
    var
      fGet,fPost:TStringList;
    begin
      fGet:=TStringList.Create;
      fPost:=TStringList.Create;
      IdHTTP1.AllowCookies:=true;
      IdHTTP1.CookieManager:=IdCookieManager1;
      IdHTTP1.HandleRedirects:=true;
      With fPost do
      begin //with
        Add('redirect=index.php');
        Add('cookie_test='); //òóò õç ÷òî ïèñàòü
        Add('login_username=MyUser');
        Add('login_password=MyPass');
        Add('autologin=on');
        Add('login=Âõîä');
      end; //with
      fGet.Text:=IdHTTP1.Post(fact,fPost);
      If fGet.IndexOf('Âû çàøëè êàê') <> - 1 then
        MessageBOX(Application.Handle,'Çàëîãèíèëèñü!','Óäà÷íî!',mb_OK)
      else
        MessageBOX(Application,Handle,'Îøèáêà!','Íåóäà÷íî!',mb_OK);
      IdHTTP1.Free;
      IdCookieManager1.Free;
      fGet.Free;
      fPost.Free;
    end;
    
     
  7. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    юзай WinInet - удобнее будет.
    А вообще, сначало заходишь на страницу авторизации, там тебе ставятся куки, и потом с учетом этих куков делаешь запрос. Ну и конечно если куки еще в виде input hidden сделаны, то придется еще чуть отпарсить страницу
     
  8. art2222

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

    Joined:
    28 Apr 2008
    Messages:
    118
    Likes Received:
    57
    Reputations:
    10
    Всем ку.
    Возникла такая проблема: имеется консольное приложение на Delphi. Необходимо очистить консольный вывод. Как это сделать?
     
  9. KIR@PRO

    KIR@PRO from Exception

    Joined:
    26 Dec 2007
    Messages:
    826
    Likes Received:
    291
    Reputations:
    359
    2Nightmarе

    вот посмотри может поможет:
    http://www.excode.ru/art5054p13.html

    p.s. сам проверить немогу делфи на этом компе нету ):
     
    _________________________
    1 person likes this.
  10. KIR@PRO

    KIR@PRO from Exception

    Joined:
    26 Dec 2007
    Messages:
    826
    Likes Received:
    291
    Reputations:
    359
    2art2222

    поищи про библиотеку CRT там есть функция очистки

    ну или вот
    источник: http://delphiworld.narod.ru/base/console_apps_in_delphi.html
     
    _________________________
    1 person likes this.
  11. art2222

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

    Joined:
    28 Apr 2008
    Messages:
    118
    Likes Received:
    57
    Reputations:
    10
    Сам нашел еще один способ:
    Code:
    procedure ClearConsoleWindow;
    var
    ConsoleHandle:THandle;
    ConsoleInfo: TConsoleScreenBufferInfo;
    Coord:TCoord;
    WrittenChars:DWORD;
    begin
    FillChar(ConsoleInfo,SizeOf(TConsoleScreenBufferInfo),0);
    FillChar(Coord,SizeOf(TCoord),0);
    ConsoleHandle:=GetStdHandle(STD_OUTPUT_HANDLE);
    GetConsoleScreenBufferInfo(ConsoleHandle, ConsoleInfo);
    FillConsoleOutputCharacter(ConsoleHandle,' ', ConsoleInfo.dwSize.X * ConsoleInfo.dwSize.Y, Coord, WrittenChars);
    SetConsoleCursorPosition(ConsoleHandle,ConsoleInfo.dwCursorPosition)
    end;
    
     
    1 person likes this.
  12. pira

    pira New Member

    Joined:
    8 Dec 2008
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Подскажите как сделать чекер двух ссылок. Если ссыла main.php, то ничего не делать, а если index.php то сначала нажимается Button2 а Button1
     
  13. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    if Edit1.Text='index.php'
    Then begin Button2.Click;
    Button1.Click;
    end;
     
  14. pira

    pira New Member

    Joined:
    8 Dec 2008
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Мне надо чтобы он переодически проверял :) Раз в пять минут хотя бы :)
     
    #2954 pira, 23 Mar 2009
    Last edited: 23 Mar 2009
  15. ][yZ

    ][yZ Member

    Joined:
    3 Mar 2009
    Messages:
    66
    Likes Received:
    46
    Reputations:
    10
    намути таймер и туда этот код вставь
     
    3 people like this.
  16. KIR@PRO

    KIR@PRO from Exception

    Joined:
    26 Dec 2007
    Messages:
    826
    Likes Received:
    291
    Reputations:
    359
    2pira

    я так понял тебе надо не из edit а из браузера считывать.... или всетаки из edit'а ???
     
    _________________________
  17. Ant1Player

    Ant1Player New Member

    Joined:
    21 Nov 2008
    Messages:
    33
    Likes Received:
    1
    Reputations:
    0
    Как реализовать запись hex в реестр, нужно в SmoothMouseXCurve записать hex:00,00,00,00,00,00,00,00,00 ,a0,00,00,00,00,00,00,00,40,\
    01,00,00,00,00,00,00,80,02,00,00,00,00,00,00,00,05 ,00,00,00,00,00
     
  18. f0rward

    f0rward New Member

    Joined:
    26 Oct 2008
    Messages:
    10
    Likes Received:
    2
    Reputations:
    0
    Поднимаю пост номер #3088,т.к. так и не понял.
    Кто знает,напишите строку с куки pls.
    Вот ещё раз код :
    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    const
      fact:shortString = 'http://torrents.ru/forum/login.php';
    var
      fGet,fPost:TStringList;
    begin
      fGet:=TStringList.Create;
      fPost:=TStringList.Create;
      IdHTTP1.AllowCookies:=true;
      IdHTTP1.CookieManager:=IdCookieManager1;
      IdHTTP1.HandleRedirects:=true;
      With fPost do
      begin //with
        Add('redirect=index.php');
    [COLOR=Green]    Add('cookie_test=');[/COLOR] 
        Add('login_username=MyUser');
        Add('login_password=MyPass');
        Add('autologin=on');
        Add('login=Âõîä');
      end; //with
      fGet.Text:=IdHTTP1.Post(fact,fPost);
      If fGet.IndexOf('Âû çàøëè êàê') <> - 1 then
        MessageBOX(Application.Handle,'Connected!','  OK!',mb_OK)
      else
        MessageBOX(Application,Handle,'unsucsess',':(', mb_OK);
      IdHTTP1.Free;
      IdCookieManager1.Free;
      fGet.Free;
      fPost.Free;
    end;
    
     
    #2958 f0rward, 24 Mar 2009
    Last edited: 24 Mar 2009
  19. Dr.Gonzo

    Dr.Gonzo Member

    Joined:
    26 Feb 2009
    Messages:
    29
    Likes Received:
    9
    Reputations:
    5
    Кто-нибудь знает, как открыть Мой Компьютер?
    Нужно именно программно вызвать его, но не в отдельном окне...
    То есть, лежит exe файл в папке, при клике на него идем по заданному пути в этом же окне
    Мои догадки:
    1. Ищем в процессах проводник и делаем его активным
    2. Эмулируем ввод в строку текста и нажатие Enter
    У кого есть хоть какие-то варианты как это закодить или какие-нибудь другие способы добиться результата?
     
  20. eLWAux

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

    Joined:
    15 Jun 2008
    Messages:
    860
    Likes Received:
    616
    Reputations:
    211
    http://delphiblog.ru/delphi-faq/files/sys-folders/
     
    1 person likes this.
Thread Status:
Not open for further replies.