1. krumoe01.07.2024 в 05:59от
Загрузка...
Загрузка...

Delphi Support

Тема в разделе "С/С++/Pascal/Delphi", создана пользователем MDK, 25.07.2013.

  1. bilibord

    bilibord

    Статус:
    Оффлайн
    Регистрация:
    17.04.13
    Сообщения:
    119
    Репутация:
    12 +/-
    Да, нашел как исправить. Через регулярные выражения подсчитать список слов и вычесть 2)
     
  2. Alex Ey

    Alex Ey

    Статус:
    Оффлайн
    Регистрация:
    07.03.12
    Сообщения:
    1.191
    Репутация:
    693 +/-
    Или так
    Код:
    procedure TForm1.Button1Click(Sender: TObject);
    var t : TStringList;
    begin
     t := TStringList.Create; // Создаём ТСтрингЛист
     t.Delimiter := ' '; // Указываем разделитель, у нас пробел
     t.DelimitedText := '* SEARCH 2 8 29 30 37 38 43 58 59 64'; // Сама строка
     ShowMessage(inttostr(t.Count-2)); // Показываем кол-во чисел, -2 для того, чтобы не считать вот это: * SEARCH  
     t.Free; // free
    end;
     
  3. Nikon

    Nikon

    Статус:
    Оффлайн
    Регистрация:
    01.02.13
    Сообщения:
    351
    Репутация:
    401 +/-
    ShowMessage(inttostr(t.Count-2)); - This is incorrect.
    Объясняю. count-2 ты делаешь минус две строки с конца, а не сначала
     
  4. Alex Ey

    Alex Ey

    Статус:
    Оффлайн
    Регистрация:
    07.03.12
    Сообщения:
    1.191
    Репутация:
    693 +/-
    Здесь в любом случае нужно сделать -2 строки, не имеет значения с начала или конца
     
  5. Nikon

    Nikon

    Статус:
    Оффлайн
    Регистрация:
    01.02.13
    Сообщения:
    351
    Репутация:
    401 +/-
    не вижу смысла
     
  6. bilibord

    bilibord

    Статус:
    Оффлайн
    Регистрация:
    17.04.13
    Сообщения:
    119
    Репутация:
    12 +/-
    Все равно сделал по-своему, сложно)

     
  7. Alex Ey

    Alex Ey

    Статус:
    Оффлайн
    Регистрация:
    07.03.12
    Сообщения:
    1.191
    Репутация:
    693 +/-
    тогда не флуди попусту
     
  8. Hassium

    Hassium

    Статус:
    Оффлайн
    Регистрация:
    11.08.11
    Сообщения:
    814
    Репутация:
    280 +/-
    Webmoney: 254739902547
    Дело в том что есть 302. Как сделать мне редерикт.
    Ну тоесть if че то там и ссылка. Непомню что.
     
  9. Alex Ey

    Alex Ey

    Статус:
    Оффлайн
    Регистрация:
    07.03.12
    Сообщения:
    1.191
    Репутация:
    693 +/-
    synapse или indy используешь?
     
  10. Hassium

    Hassium

    Статус:
    Оффлайн
    Регистрация:
    11.08.11
    Сообщения:
    814
    Репутация:
    280 +/-
    Webmoney: 254739902547
    synapse разумееться
     
  11. Alex Ey

    Alex Ey

    Статус:
    Оффлайн
    Регистрация:
    07.03.12
    Сообщения:
    1.191
    Репутация:
    693 +/-
    Код:
    function GetLocation(const headers:TStringList):string;
    var i:integer;
    begin
      for I := 0 to headers.Count - 1 do
        if pos('Location: ',headers[i])>0 then
            begin
              Result:=copy(headers[i],10,length(headers[i])-9);
              break;
            end;
    end;
    
    Функция достает редирект из предыдущего запроса, так можно использовать​

    Код:
    httpsend.HTTPMethod('get',GetLocation(httpsend.Headers));
     
  12. Acsis

    Acsis

    Статус:
    Оффлайн
    Регистрация:
    26.08.13
    Сообщения:
    7
    Репутация:
    0 +/-
    Помогите написать чекер Lotro на делфи!

    Я новичок!
    Саит игры:http://www.lotro-russia.com/account/
    Не парсит почему то подскажите как сделать чтоб парсил(марки и данные персов)
    unit LotroChekers;
    interface
    uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, IdBaseComponent,
    IdComponent, IdTCPConnection, IdTCPClient, IdHTTP;
    type
    TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Memo1: TMemo;
    Button1: TButton;
    IdHTTP1: TIdHTTP;
    procedure Button1Click(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.dfm}

    function Pars(T_, ForS, _T: string): string;
    var a, b: integer;
    begin
    Result := '';
    if (T_ = '') or (ForS = '') or (_T = '') then Exit;
    a := Pos(T_, ForS);
    if a = 0 then Exit else a := a + Length(T_);
    ForS := Copy(ForS, a, Length(ForS) - a + 1);
    b := Pos(_T, ForS);
    if b > 0 then
    Result := Copy(ForS, 1, b - 1);
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    var
    Data: TStringlist;
    HTML,go:string;

    Pars1,Pars2:string;
    begin
    go:='http://www.lotro-russia.com/auth/login/';
    Data:=TStringlist.Create;
    Data.Add('login='+ Edit1.Text);
    Data.Add('password='+ Edit2.Text);
    Data.Add('authsave=0');
    HTML:=idHTTP1.Post(go,data);
    if pos('href="/support/"',HTML)<>0 then
    begin
    ShowMessage('Мы авторизировались');
    Pars1:=Pars('У вас на счету:</td><td class=c><b> ',HTML,'марок</b>');
    Memo1.Lines.Add('На счету'+ Pars1);
    end
    else
    begin
    ShowMessage('Ошибка авторизации');
    Memo1.Lines.Add('Ошибка авторизации');
    end;
    end;

    end.

    Также подскажите как сделать чтобы!
    Чекать с базы а не по одному аккаунту!
    Использование прокси!
    Создание текстовиков good и bad
    Прощу все разьеснять так как я нуб и многово еще не понимаю.
    Когда даете код говорите куда его вставлять!
    Буду очень благодарен за помошь!Всем +!
     
  13. Hassium

    Hassium

    Статус:
    Оффлайн
    Регистрация:
    11.08.11
    Сообщения:
    814
    Репутация:
    280 +/-
    Webmoney: 254739902547
    Я это все проходил и прохожу. И посылаю тебя туда куда и меня посылали.
    Читай книги по делфи, смотри видео уроки, разбирай исходники.
    За тебя тут делать ни кто ничего не будет.
    Тут могут подсказать.