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

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

    Joined:
    30 Sep 2010
    Messages:
    1,168
    Likes Received:
    442
    Reputations:
    288
    допустим s:string; - вшитый текст
    тогда по нажатию батона так:
    form2.showmodal;
    form2.label1.caption:=s;
    хотя тогда уже проще в label отображать
     
    #8341 DooD, 7 Jul 2011
    Last edited: 7 Jul 2011
    1 person likes this.
  2. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    Для запуска файла добавь в юзес ShellAPI и используй процедуру с такими параметрами:
    ShellExecute(Handle, Open, 'путь к файлу', nil, nil, SW_SHOWNORMAL);
    Для отображения формы2 используй такой код: Form2.Show. Но сначала добавь форму в проект и свяжи с главной формой.
     
    1 person likes this.
  3. 4ipolino

    4ipolino New Member

    Joined:
    24 Dec 2010
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    Всем привет.
    Возможно ли в стандартный браузер на Delphi загрузить часть web документа например содержимое между необходимыми тегами? если да то попрошу пример кода
     
  4. ShyRka_coder

    ShyRka_coder Member

    Joined:
    27 Jul 2010
    Messages:
    127
    Likes Received:
    7
    Reputations:
    5
    Ищи в гугле "регулярные выражения Delphi" и будет тебя щастья
     
  5. Drul

    Drul Banned

    Joined:
    15 May 2011
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Пытаюсь разобраться с потоками...
    Хочу сделать, чтобы потоков было столько, сколько задам я. Но выходят ошибки:

    Ошибки:
    Код:
    Code:
    var
      thread: TNewThread;
    begin
      if(Pos('0.0000', Label2.Caption) <> 0) then
      begin
        ShowError('Неверный ключ антикаптчи');
        exit;
      end;
      //thread := TNewThread.Create(false);
     for thread:=1  to strtoint(Edit2.Text) do
      TNewThread.Create(false);
     thread:=strtoint(Edit2.Text);
     //
      thread.FreeonTerminate := true;
      thread.data := Accounts;
    
    Подскажите, как правильно? В чем ошибка?
     
  6. realcoder

    realcoder Member

    Joined:
    9 Dec 2010
    Messages:
    226
    Likes Received:
    11
    Reputations:
    4
    ты классу пытаешся присвоить числовое значение. правильно будет так:
    Code:
    const MAX_THREAD=2000;// помойму в мастдае можно столько создать максимум для одного приложения
    ...
    var
    thread:array[0..MAX_thread] of TNewThread;// чтоб ты мог их контролировать создай массив
    i:integer;
    begin
      if(Pos('0.0000', Label2.Caption) <> 0) then
      begin
        ShowError('Неверный ключ антикаптчи');
        exit;
      end;
      //thread := TNewThread.Create(false);
     for i:=1  to strtoint(Edit2.Text) do
    begin
      thread[i]:=TNewThread.Create(false);
     //
      thread[i].FreeonTerminate := true;
      thread[i].data := Accounts;
    end;
    
     
    #8346 realcoder, 8 Jul 2011
    Last edited: 8 Jul 2011
  7. Drul

    Drul Banned

    Joined:
    15 May 2011
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Спасибо, но теперь ругается на эту строчку:

    Code:
    var
      Form1: TForm1;
      line: Integer = 1;
      Accounts: TStringList;
      thread: TNewThread;
    
    Code:
    thread:array[0..MAX_thread] TNewThread;
    
    По-моему все нормально, но все равно ругается
     
  8. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    thread:array[0..MAX_thread] of TNewThread;

    // ололо-трололо делфисты-7 все на динамических массивах сидят
     
  9. Drul

    Drul Banned

    Joined:
    15 May 2011
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Спасибо, теперь все пашет
    Теперь буду разбираться с синхронизацией потоков

    И снова вопрос :(

    Code:
    procedure TNewThread.Execute;
    var
      CurAcc: Integer;
      FAcc, FPas: string;
    begin
      Form1.Gauge1.MaxValue := data.Count;
      for CurAcc := 0 to data.Count - 1 do
      begin
    [B]    Synchronize(CheckAccount);[/B]
        FAcc := Copy(data[CurAcc], 1, Pos(':', data[CurAcc]) - 1);
        FPas := Copy(data[CurAcc], Pos(':', data[CurAcc]) + 1, Length(data[CurAcc])
          );
        log('В работе');
        CheckAccount(FAcc, FPas);
        log('Закончили');
        Form1.Gauge1.Progress := CurAcc + 1;
      end;
      log('Работа завершена.');
    end;
    
    Ошибка:
    Что я снова делаю не так?(
     
    #8349 Drul, 8 Jul 2011
    Last edited: 8 Jul 2011
  10. Mayor16

    Mayor16 Member

    Joined:
    23 Oct 2010
    Messages:
    107
    Likes Received:
    24
    Reputations:
    6
    Всем привет!
    Задумался на досуге как реализовывается программно алгоритм брутфорса...
    Никто не разъяснит или хотя бы намекнет как оно работает?
     
  11. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    Посылаешь скряпту параметры, в виде логина пасворда, ну и еще смотришь по хедерсам, че там ему нужно. Далее проверяешь ответ серва. Подводные камни вида бана по айпи и предложения ввода капчи решаются сменой прокси ну там задержкой и тд... Всё зависит от сервака.
     
  12. Mayor16

    Mayor16 Member

    Joined:
    23 Oct 2010
    Messages:
    107
    Likes Received:
    24
    Reputations:
    6
    Эээм...Вы не так поняли а я не уточнил
    Брутфорс(полный перебор) взлома листа хэшей, и не словарный, а полный.
     
  13. blinker2009

    blinker2009 Member

    Joined:
    3 Apr 2009
    Messages:
    62
    Likes Received:
    5
    Reputations:
    0
    Люди помогите разобраться ... Нужно выдернуть данные с PostgreSQL с помощью Delphi
     
  14. InfectedM

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

    Joined:
    4 Nov 2007
    Messages:
    155
    Likes Received:
    12
    Reputations:
    0
    Mayor16
    http://forum.antichat.ru/threadnav266446-1-10.html

    шифруешь сгенерированный пас в md5 и сравниваешь
     
  15. 4ipolino

    4ipolino New Member

    Joined:
    24 Dec 2010
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    Всем привет.
    такой вопрос: как произвести поиск (и скачку письма) по определенному слову в письме например на почтовике mail.ru
    если кто может выложите примерный исходный код поиска письма буду очень благодарен
     
  16. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    Как я понял, тебе нужно пропарсить все письма на почте и если в письме имеется заданное слово - скачать его?
     
  17. 4ipolino

    4ipolino New Member

    Joined:
    24 Dec 2010
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    найти письма с определеным словом и перейти по ссылке внутри письма (но можно и закачать). переход я сделаю сам а как найти письма хз
     
    #8357 4ipolino, 13 Jul 2011
    Last edited: 13 Jul 2011
  18. realcoder

    realcoder Member

    Joined:
    9 Dec 2010
    Messages:
    226
    Likes Received:
    11
    Reputations:
    4
    с помощью idpop3 логинишься на почтовике, и запускаешь цикл, который получает письмо, если есть определенное слово в тексте - парсит ссылку, если нет - получает следующие. вот примерный код:
    Code:
    procedure msgfinded(msg:tidmessage);
    begin
    //тут обрабатываешь письмо
    end;
    var i,count:integer;
    msg:TidMessage;
    pop3:Tidpop3;
    begin
    
    ...
    {
    тут логинимся,, создаем и настраиваем компоненты и т.д.
    }
    ...
    count:=pop3.CheckMessages;
    for i:=1 to count do 
    begin
    pop3.recive(i,msg);
    if pos('ololo',msg.body.text)>0 then // если нашли слово ololo в тексте ...
    begin
     msgfinded(msg); // вызываем функцию
    exit;//если сообщение только одно и дальше нет кода в процедуре - оставьте. если нет - закоментируйте.
    end;
    end;
    end;
    
     
  19. firstfallen

    firstfallen New Member

    Joined:
    1 Mar 2010
    Messages:
    64
    Likes Received:
    0
    Reputations:
    0
    всем привет.
    пишу программку для себя на делфи и столкнулся с такой проблемой:
    при нажатии на кнопку выполняется приличное кол-во строк кода,
    можно ли как то этот код запихнуть в процедуру или сделать так чтобы после нажатия на другую кнопку выполнился её код, а затем автоматически вызвалась процедура 1 кнопки.
     
  20. 4ipolino

    4ipolino New Member

    Joined:
    24 Dec 2010
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    спасибо за совет. разобрался.
    есть новая трабла
    письмо грузит в таком виде:
    Code:
    
    <p>=D0=9F=D1=80=D0=B8=D0=B2=D0=B5=D1=82!</p>
    <p>=D0=A4=D0=BE=
    =D0=B3=D0=B5=D0=B9=D0=BC =D0=B7=D0=B0=D0=BC=D0=B5=D1=82=D0=B8=D0=BB=
     =D0=B7=D0=B0=D0=BF=D1=80=D0=BE=D1=81 =D0=BD=D0=B0 =D1=81=
    =D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5 =D0=BD=D0=BE=D0=B2=D0=BE=
    =D0=B3=D0=BE =D0=BF=D0=B0=D1=80=D0=BE=D0=BB=D1=8F =D0=B4=D0=BB=
    =D1=8F =D0=B0=D0=BA=D0=BA=D0=B0=D1=83=D0=BD=D1=82=D0=B0 anomaliya_sup@mai=
    l.ru [1610263].</p>
    <p>=D0=95=D1=81=D0=BB=D0=B8 =D0=B2=
    =D1=81=D0=B5 =D0=B2 =D0=BF=D0=BE=D1=80=D1=8F=D0=B4=D0=BA=D0=B5, =D0=B8 =
    =D0=B7=D0=B0=D0=BF=D1=80=D0=BE=D1=81 =D1=81=D0=BE=D0=B7=D0=B4=D0=B0=
    =D0=BB=D0=B8 =D0=B2=D1=8B, =D1=82=D0=BE =D0=B2=D0=B2=
    =D0=B5=D0=B4=D0=B8=D1=82=D0=B5 =D0=BD=D0=BE=D0=B2=D1=8B=D0=B9 =
    =D0=BF=D0=B0=D1=80=D0=BE=D0=BB=D1=8C =D0=BD=D0=B0 <a href=3D"https://4game=
    .ru/reset-and-login.html?userId=3D1610263&recoveryType=3D1&code=3DtwWGcaau=
    o-eMs49BKz33ATLkDHNcCUq8tTN5XSkDddI&serviceId=3D0">=D1=81=D0=BF=D0=B5=
    =D1=86=D0=B8=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B9 =D1=81=D1=82=D1=80=
    =D0=B0=D0=BD=D0=B8=D1=86=D0=B5</a>: https://4game.ru/reset-and-login.html=
    ?userId=3D1610263&recoveryType=3D1&code=3DtwWGcaauo-eMs49BKz33ATLkDHNcCUq8=
    tTN5XSkDddI&serviceId=3D0</p>
    <p></p>
    <p>=D0=92 =
    =D0=B8=D0=BD=D0=BE=D0=BC =D1=81=D0=BB=D1=83=D1=87=D0=B0=D0=B5 <a href=3D=
    "https://support.4game.ru">=D0=BE=D0=B1=D1=80=D0=B0=D1=82=
    =D0=B8=D1=82=D0=B5=D1=81=D1=8C =D0=B2 =D1=81=D0=BB=D1=83=D0=B6=
    =D0=B1=D1=83 =D0=BF=D0=BE=D0=B4=D0=B4=D0=B5=D1=80=D0=B6=D0=BA=D0=B8</a>=
    . =D0=9F=D0=B8=D1=81=D1=8C=D0=BC=D0=BE =D1=81=D0=BE=D0=B7=
    =D0=B4=D0=B0=D0=BD=D0=BE =D0=B0=D0=B2=D1=82=D0=BE=D0=BC=D0=B0=D1=82=
    =D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=B8, =D0=BE=D1=82=D0=B2=D0=B5=
    =D1=87=D0=B0=D1=82=D1=8C =D0=BD=D0=B0 =D0=BD=D0=B5=D0=B3=D0=BE=
     =D0=BD=D0=B5 =D0=BD=D1=83=D0=B6=D0=BD=D0=BE.</p>
    <p><a href=3D"https=
    ://4game.ru/">4game.ru</a></p>
    
    помогите исправить мой код. надо вытащить сыль от
    Code:
    </a>:  
    до
    Code:
    3D0</p>

    сижу уже пару часов. а в мемо2 только пробелы :(

    Code:
    
    procedure Tg_main.btn1Click(Sender: TObject);
    var
    NumOfMsgs:Integer;  // Количество писем
    a1,a2:integer;
    login:string;
    begin
    try
     mmo1.Clear;
     POP3.Host:=cbb1.Text;
     POP3.Port:=110;
     POP3.Username:=edt1.Text;
     POP3.Password:=edt2.Text;
     IdMessage.Clear;
     POP3.Connect;
     if POP3.Connected then
    begin
    NumOfMsgs := POP3.CheckMessages;
    // записываем в NumOfMsgs количество писем
    POP3.Retrieve(NumOfMsgs,IdMessage);
    //Mmo1.Lines.AddStrings(Utf8ToAnsi(IdMessage.Body));
    Mmo1.Lines.AddStrings(IdMessage.Body);
    end
    except
    on E:Exception do Mmo1.Lines.Add('Ошибка подключения! '+E.Message);
    end;
    //POP3.Delete(NumOfMsgs);
      POP3.Disconnect;
      a1:=pos(mmo1.text,'</a>: ');
      a2:=pos(mmo1.text,'=3D0');
      login:=copy(mmo1.text,a1+44,a2-(a1+98));
      mmo2.Clear;
      mmo2.Lines.Add(login);
    end;
    
    
    помогите набу :D
     
    #8360 4ipolino, 14 Jul 2011
    Last edited: 14 Jul 2011
Thread Status:
Not open for further replies.