[ 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. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Простите, в моей ссылке обязательно должен быть в конце /, тогда уже сможешь увидеть текст статьи.

    Ну да лан. Сама функция:
    Code:
    function explode(cDelimiter, sValue : string; iCount : integer) : TArray;
    var
    s : string; i,p : integer;
    begin
    s := sValue; i := 0;
    while length(s) > 0 do
    begin
    inc(i);
    SetLength(result, i);
    p := pos(cDelimiter,s);
    if ( p > 0 ) and ( ( i < iCount ) OR ( iCount = 0) ) then
    begin
    result[i - 1] := copy(s,0,p-1);
    {updated, thanks Irfan}
    s := copy(s,p + length(cDelimiter),length(s));
    end else
    begin
    result[i - 1] := s;
    s := '';
    end;
    end;
    end;
    Использование:
    Code:
    explode(',','test,test,tets', 0) ;
    or
    explode('|','test|test|tets', 2) ;
    or
    a := explode(',','test,test,tets', 0) ;
    for i := 0 to High(a) do
    begin
    showMessage(a[i]);
    end;
     
  2. zifanchuck

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

    Joined:
    27 Oct 2008
    Messages:
    396
    Likes Received:
    154
    Reputations:
    3
    Помогите доделать программку))
    Вот условие

    Code:
     Задан некоторый набор товаров. Определить для каждого из 
    товаров, какие из них имеются в каждом из N магазинов, какие 
    товары есть хотя бы в одном магазине и каких товаров нет ни в 
    одном магазине. 
    
    Тема "Множества"

    Вот тот код что написал

    Code:
    program m3_test;
    uses crt;
    label start;
    
    var
    cont:byte;
    magazin:array[1..100] of set of char;
    tovar:array[1..100] of char;
    v1,v2,v3:set of char;
    temp:char;
    test,n,i,j,t,tov:integer;
    
    
    begin
    start:
    clrscr;
    
    write('Vvedite kol-vo tovarov -->');
    readln(tov);
    writeln('V nazvaniah ispolzovat toljko odnu lat. bukvu');
    writeln;
    
    for i:=1 to tov do
    begin
    write('Vvedite nazvanie ',i,' tovara -->');
    readln(tovar[i]);
    end;
    writeln;
    
    write('Vvedite kol-vo magazinov -->');
    readln(n);
    
    writeln;
    
    for i:=1 to n do
    begin
    write('Vvedite kol-vo tovoarov v ',i,' magazine -->');
    readln(t);
    writeln;
         for j:=1 to t do
         begin
         write('Imja ',j,' tovara -->');
         readln(temp);
         magazin[j]:=magazin[j]+[temp];
         end;
    writeln;
    end;
    
    writeln;
    
    for i:=1 to tov do
    begin
    test:=0;
    
    for j:=1 to n do
    begin
    writeln(j,':',tovar[i]);
    if tovar[i] in magazin[j] then inc(test);
    end;
    
    if test=0 then v1:=v1+[tovar[i]];
    if test>0 then v2:=v2+[tovar[i]];
    if test=n then v3:=v3+[tovar[i]];
    end;
    
    
    writeln('Resultat');
    writeln('V kashdom magazine:');
    for i:=1 to tov do
    if tovar[i] in v3 then writeln(tovar[i]);
    
    writeln;
    
    writeln('Xotjabi v 1 magazine:');
    for i:=1 to tov do
    if tovar[i] in v2 then writeln(tovar[i]);
    
    
    writeln;
    
    writeln('Ni v odnim magazine:');
    for i:=1 to tov do
    if tovar[i] in v1 then writeln(tovar[i]);
    
    
    
    writeln('');
    writeln('Xotite prodoljit? 1-da, 0-net');
    readln(cont);
    if cont=1 then goto start;
    end.
    
    "Ни в одном" и "хотя бы в одном" считает норм, а вот "во всех" нет.
    Переменная test, если нигде нет товара = 0, если где-то есть то 1, хотя по идеи должна считать кол-во нахождений.

    Надеюсь что поможете. Зарание спасибо
     
  3. _DemiX_

    _DemiX_ New Member

    Joined:
    25 May 2010
    Messages:
    51
    Likes Received:
    1
    Reputations:
    0
    zifanchuck, ох как не люблю писать линейные приложения...
     
  4. Stis-mag

    Stis-mag New Member

    Joined:
    22 Nov 2010
    Messages:
    55
    Likes Received:
    0
    Reputations:
    0
    Помогите. Мне нужен пример получения cookie и его отправления (Idhttp). Спасибо
     
  5. InfectedM

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

    Joined:
    4 Nov 2007
    Messages:
    155
    Likes Received:
    12
    Reputations:
    0
    Есть у когонить примерчик работы с сервисом антигейт через винсок?
     
  6. 1n0y

    1n0y Active Member

    Joined:
    9 May 2009
    Messages:
    276
    Likes Received:
    280
    Reputations:
    2
    cookiemanager не справляется?

    upd: если нет, то:
    1 делаешь запрос на сайт.
    2 ищешь в http.Response.ResponseText строки с "set-cookie"
    3 парсишь куки
    4 ставишь их: HTTP.Request.CustomHeaders.Add('Cookie: '+спарсенные куки)
    5 радуешься.
     
    #7306 1n0y, 28 Nov 2010
    Last edited: 28 Nov 2010
  7. Stis-mag

    Stis-mag New Member

    Joined:
    22 Nov 2010
    Messages:
    55
    Likes Received:
    0
    Reputations:
    0
    отправляю запрос вывожу в Memo и вижу=> HTTP/1.1 200 OK
    что означает?
     
  8. CheatXX

    CheatXX New Member

    Joined:
    8 Jun 2009
    Messages:
    154
    Likes Received:
    2
    Reputations:
    0
    включи ридект у idhttp
     
  9. Isaev

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

    Joined:
    25 Jul 2007
    Messages:
    120
    Likes Received:
    19
    Reputations:
    6
    IdCookieManager смотри, но работает иногда криво, если это тот случай, то как 1n0y написал
    Что запрос выполнился :)
    При чём тут редирект? редирект 302, а не 200
     
    #7309 Isaev, 29 Nov 2010
    Last edited: 29 Nov 2010
  10. MaTpOc

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

    Joined:
    5 May 2008
    Messages:
    633
    Likes Received:
    475
    Reputations:
    25
    помогите плиз посчитать чему будет равно p

    p=1/3*(1/5+1/7)*(1/9+1/11+1/13)*(1/32 ..+1/43).

    на паскале!

    можно просто только блок вычисления самого p
     
  11. 0ldbi4

    0ldbi4 Elder - Старейшина

    Joined:
    14 Apr 2008
    Messages:
    264
    Likes Received:
    51
    Reputations:
    10
    Матрос не понял, тебе нужно вычислить Пи или Р))

    p=1/3*(1/5+1/7)*(1/9+1/11+1/13)*(1/32 ..+1/43)

    Если по началу я понял прогрессию, то потом я чего то не врубился..
     
  12. logger

    logger New Member

    Joined:
    15 Jan 2010
    Messages:
    32
    Likes Received:
    3
    Reputations:
    0
    Не могу взять адрес каптчи на http://www.mts.ru/messaging/sendsms/ нужно получить вот такю ссылку http://www.mts.ru/messaging/sendsms/LanapCaptcha.aspx?get=image&c=live_smssending_ctl00_ctl03_ctl00_ctl06_ctl00_ctl00_ctl00_ctl00_ctl01_ctl00_ctl01_ctl00_smssendingcontrol_captchanew&t=4fb41c6527d6454c82f1132e33365b76
    но я не могу вытащить последние цифры картинки
    и вылазит ошибка при компилировании

    function ParserBlock(const Str:string; const Param1,Param2:string):string;
    var
    BeginPos,
    EndPos:integer;
    TempStr:string;
    begin
    TempStr:=Str;
    BeginPos:=AnsiPos(Param1,TempStr)+length(Param1);
    delete(TempStr,1,beginPos-1);
    BeginPos:=AnsiPos(Param1,TempStr)+length(Param1);
    EndPos:=AnsiPos(Param2,TempStr);
    Result:=copy(TempStr,1,EndPos-1);
    end;

    procedure TForm1.Button1Click(Sender: TObject);
    var
    fs:tfilestream; s,str:string;
    begin
    str:=idhttp1.get('http://www.mts.ru/messaging/sendsms/');
    s:=(ParserBlock(Str, 'не знаю что парсить','не знаю что прасить'));
    fs:=tfilestream.create('captcha.jpeg', fmcreate);
    idhttp1.Get('http://www.mts.ru/messaging/sendsms/LanapCaptcha.aspx?get=image&c=live_smssending_ctl00_ctl03_ctl00_ctl06_ctl00_ctl00_ctl00_ctl00_ctl01_ctl00_ctl01_ctl00_smssendingcontrol_captchanew&t='+s);
    fs.Free;
    image1.Picture.LoadFromFile('captcha.jpeg');
    end;

    end.

    что только не пробовал парсить вылазила ошибка всегда

    Объясните пожалуйста как программно вытащить ссылку на картинку и сохранить её в папке с .exe программы.
     
    #7312 logger, 1 Dec 2010
    Last edited: 1 Dec 2010
  13. Isaev

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

    Joined:
    25 Jul 2007
    Messages:
    120
    Likes Received:
    19
    Reputations:
    6
    Для таких целей используется RegExpr, разберись 1 раз, потом проблемм возникать не будет! А с Pos только запутаешься, что и произошло...

    А если всё таки хочется гемороя, то ищи ' alt='CAPTCHA вконце, а не "последние цифры"
     
    #7313 Isaev, 1 Dec 2010
    Last edited: 1 Dec 2010
  14. logger

    logger New Member

    Joined:
    15 Jan 2010
    Messages:
    32
    Likes Received:
    3
    Reputations:
    0
    Как из этого куска исход кода с помощью IDHTTP получить ссылку на капчу вида:

    get=image&c=live_smssending_ctl00_ctl03_ctl00_ctl06_ctl00_ctl00_ctl00_ctl00_ctl01_ctl00_ctl01_ctl00_smssendingcontrol_captchanew&t=6ba475d350cc48d58dc5cf6456217648&s=rDvjiff1hvIKteGG7zpYxmhnMtaw%2b665AhDfh5oAEJM%3d

    Код:
    height: 27px;'>
    <div class='LBD_CaptchaImage' style='width:83px; height: 23px; '>
    <img id='live_smssending_ctl00_ctl03_ctl00_ctl06_ctl00_ctl00_ctl00_ctl00_ctl01_ctl00_ctl01_ctl00_smssendingcontrol_captchanew_CaptchaImage' src='LanapCaptcha.aspx?get=image&amp;c=live_smssending_ctl00_ctl03_ctl00_ctl06_ctl00_ctl00_ctl00_ctl00_ctl01_ctl00_ctl01_ctl00_smssendingcontrol_captchanew&amp;t=6ba475d350cc48d58dc5cf6456217648&amp;s=rDvjiff1hvIKteGG7zpYxmhnMtaw%2b665AhDfh5oAEJM%3d' alt='CAPTCHA code image' />
    </div><div class='LBD_CaptchaIcons'><a href='#' onclick='LBD_ReloadImage("live_smssending_ctl00_ctl03_ctl00_ctl06_ctl00_ctl00_ctl00_ctl00_ctl01_ctl00_ctl01_ctl00_smssendingcontrol_captchanew_CaptchaImage");this.blur();return false;' title='Обновить картинку'><img src='/WebResource.axd?d=Aehb2eMRd2BbttuUwy9r8tjegpKHdfP_wNW0vqiSYyzhT-_oyXeoZecndTnY4RjyhpoEHp1LnQ4zx4SIwmWGGaIJORAsHSSR4qTipvDxmsUWe_tEdUiEqRBKb3R0Xo-8KrPVrA2&amp;t=634221558574061726' alt='Обновить картинку' /></a></


    Парсингом с ошибкой.
     
  15. MaTpOc

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

    Joined:
    5 May 2008
    Messages:
    633
    Likes Received:
    475
    Reputations:
    25
    переменную P, нужно как бы задать формулу для вычисления не писать же всю строку...
     
  16. [stranger]

    [stranger] Member

    Joined:
    2 Feb 2010
    Messages:
    167
    Likes Received:
    29
    Reputations:
    4
    там точно 32?

    разве не это должно быть?
    Code:
    03
    05 07
    09 11 13
    15 17 19 21
    23 25 27 29 31
    33 35 37 39 41 43
    
     
  17. MaTpOc

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

    Joined:
    5 May 2008
    Messages:
    633
    Likes Received:
    475
    Reputations:
    25

    да да шаг 2, значит 31!
     
  18. adelnatoli

    adelnatoli New Member

    Joined:
    2 Dec 2010
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    привет всем . хочу поинтересоваться какие проги использовать лучше всего для безопасност в WMWARE в комплекте ? очень большой список но ни как не могу определиться .
    а нужно это для того что бы не банили на dating site .
    заранее спасибо
     
  19. Isaev

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

    Joined:
    25 Jul 2007
    Messages:
    120
    Likes Received:
    19
    Reputations:
    6
    adelnatoli
    при чём тут эта тема?
     
  20. Isaev

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

    Joined:
    25 Jul 2007
    Messages:
    120
    Likes Received:
    19
    Reputations:
    6
    с помощью IDHTTP никак
     
    1 person likes this.
Thread Status:
Not open for further replies.