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

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Я думаю ему нужен массив записей
     
  2. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    Вот писал давно уже код... но там я юзал регулярку.
    PHP:
    if Pos('captcha_sid'result) <> 0 then
          begin
            RegExp
    .Expression := '"captcha_sid":"(.+?)","';
            
    RegExp.Exec(result);
            
    captcha_sid := RegExp.Match[1];
            
    //showmessage(captcha_sid);
            
    fr.log.Lines.Add('-Получение капчи');
            (* 
    Грузим капчу *)
            
    fr.http.Get('http://vkontakte.ru/captcha.php?sid=' captcha_sidms);
            
    ms.SaveToFile('captcha_temp.jpeg');
            
    fr.image1.Picture.LoadFromFile('captcha_temp.jpeg');
            
    InputQuery('Капча','Введи капчу.',captcha_key);
          
    end;
     
  3. buket

    buket New Member

    Joined:
    7 Apr 2007
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    подскажите у Synapse есть нечто подобное атифризу в инди?
     
  4. stepashka_

    stepashka_ Мотоциклист

    Joined:
    9 Nov 2009
    Messages:
    1,022
    Likes Received:
    423
    Reputations:
    234
    HakaR в uses что прописать?
     
  5. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    stepashka_
    1. Cкачиваешь, распаковываешь http://slil.ru/29037076
    2 .Добавляешь к проекту Project=>Add to project
    3. В uses RegExpr
    4. Enjoy!
     
  6. stepashka_

    stepashka_ Мотоциклист

    Joined:
    9 Nov 2009
    Messages:
    1,022
    Likes Received:
    423
    Reputations:
    234
    GhostOnline неа, что то ещё надо добавить :(
     
  7. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    А объект то создал?
    RegExp := TRegExpr.Create;
    PHP:
    if Pos('captcha_sid'result) <> 0 then
          begin
            RegExp
    .Expression := '"captcha_sid":"(.+?)","';
            
    RegExp.Exec(result);
            
    captcha_sid := RegExp.Match[1];
            
    //showmessage(captcha_sid);
            
    fr.log.Lines.Add('-Получение капчи');
            (* 
    Грузим капчу *)
            
    fr.http.Get('http://vkontakte.ru/captcha.php?sid=' captcha_sidms);
            
    ms.SaveToFile('captcha_temp.jpeg');
            
    fr.image1.Picture.LoadFromFile('captcha_temp.jpeg'  );
            
    InputQuery('Капча','Введи капчу.',captcha_key);
          
    end;
    А в проект точно добавил??
    Пробуй так, и точно описание ошибки в студию
    И, после использования надо освобождать:
    RegExp.Free;
     
    #6147 GhostOnline, 4 May 2010
    Last edited: 4 May 2010
  8. RumShun

    RumShun Member

    Joined:
    27 Oct 2008
    Messages:
    283
    Likes Received:
    75
    Reputations:
    6
    RegExpr.pas в папку с проектом кинул?
     
  9. stepashka_

    stepashka_ Мотоциклист

    Joined:
    9 Nov 2009
    Messages:
    1,022
    Likes Received:
    423
    Reputations:
    234
    вот :(
     
  10. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Хы, ну приколист то а
    Объект то объявлять еще надо в функции в которой используешь:
    var
    RegExp : TregExpr;
    captcha_sid , captcha_key: string;
    ....................

    A fr поменяй на имя своей формы
     
    #6150 GhostOnline, 4 May 2010
    Last edited: 4 May 2010
  11. stepashka_

    stepashka_ Мотоциклист

    Joined:
    9 Nov 2009
    Messages:
    1,022
    Likes Received:
    423
    Reputations:
    234
    GhostOnline всё скомпилировалось, но капча не сохраняется :(
     
  12. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Отлаживай программу по шагам, и найдешь где косяк
    В этом месте что ты передаешь в метод:
    RegExp.Exec(result); ? что у тебя хранится в переменной result?

    И вот эту хню:
    ms.SaveToFile('captcha_temp.jpeg');
    fr.image1.Picture.LoadFromFile('captcha_temp.jpeg');
    поменяй на
    Image1.Picture.Bitmap.LoadFromStream(ms);
    потому что бессмысленно сохранять в файл, чтобы тут же из файла загрузить :-D
     
  13. stepashka_

    stepashka_ Мотоциклист

    Joined:
    9 Nov 2009
    Messages:
    1,022
    Likes Received:
    423
    Reputations:
    234
    result: string; так?
    сделал.
     
  14. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Повторяю: отлаживай программу по шагам, так проще всего найти где ошибка
    Я лично не собираюсь брать твой код на отладку
     
  15. Flair

    Flair Member

    Joined:
    7 May 2009
    Messages:
    36
    Likes Received:
    13
    Reputations:
    9
    Язык pascal. На счет массива хз.
    Но нужно по премеру этой программы
    Code:
    program sotrudniki;
    type
    sotrudniki=record
    surname:string;
    name:string;
    age:byte;
    data:integer;
    plata:integer;
    pol:char;
    end;
    var mas: array [1..25] of sotrudniki;
    a,s,i:integer;
    begin
    write('a=');
    read(a);
    for i:=1 to a do
    begin
    write('vvedite familiy');
    read(zap[i].surname);
    write('vvedite imia');
    read(zap[i].name);
    write('vvedite vozrast');
    read(zap[i].age);
    write('vvedite god priniatia na raboty');
    read(zap[i].data);
    write('vvedite razmer zarabotnoi plati');
    read(zap[i].plata);
    write('vvedite pol');
    read(zap[i].pol);
    end;
    writeln('surname','name','age','pla ta','pol');
    for i:=1 to a do
    begin
    write(zap[i].surname:9);
    write(zap[i].name:4);
    write(zap[i].age:3);
    write(zap[i].data:4);
    write(zap[i].plata:6);
    write(zap[i].pol:2);
    writeln;
    end;
    for i:=1 to a do
    begin
    if zap[i].pol='z'then
    s:=s+zap[i].plata;
    end;
    writeln('summa=',s);
    end.
     
  16. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    PHP:
    uses RegExpr;

    ...

    var
      
    resultcaptcha_sidstring;
      
    postdatatstringlist;
      
    RegExpTRegExpr;
      
    mstmemorystream;
    begin
      postdata 
    := tstringlist.create;
      
    RegExp := TRegExpr.Create;
      
    ms := tmemorystream.Create;

    ...
      
     
    postdata.Add('op=a_login_attempt');
     
    result := fr.http.Post('http://vkontakte.ru/login.php'postdata);
         if 
    Pos('captcha_sid'result) <> 0 then
          begin
            RegExp
    .Expression := '"captcha_sid":"(.+?)","';
            
    RegExp.Exec(result);
            
    captcha_sid := RegExp.Match[1];
            (* 
    Грузим капчу *)
            
    fr.http.Get('http://vkontakte.ru/captcha.php?sid=' captcha_sidms);
            
    ms.SaveToFile('captcha_temp.jpeg');
            
    fr.image1.Picture.LoadFromFile('captcha_temp.jpeg');
          
    end;
          
    ...
       
     
    ms.free;
     
    RegExp.free;
     
    postdata.free;
    end
    Мне так удобнее :)
     
    #6156 HakaR, 4 May 2010
    Last edited: 4 May 2010
  17. EndLeSSDre@M

    EndLeSSDre@M Banned

    Joined:
    18 Jul 2009
    Messages:
    142
    Likes Received:
    99
    Reputations:
    -5

    ну держи, коли так:

    PHP:
    program mashini1;
    type
    mashini
    =record
    marka
    :string;
    god:integer;
    color:string;
    nomer:string;
    end;
    var 
    zap: array [1..25of mashini;
    a,s,i,j,x1:integer;
    x2,x3,x4:string;
    begin
    write
    ('kolichestvo=');
    readln(a);
    for 
    i:=1 to a do
    begin
    writeln
    ('vvedite marku');
    readln(zap[i].marka);
    writeln('vvedite god');
    readln(zap[i].god);
    writeln('vvedite cvet');
    readln(zap[i].color);
    writeln('vvedite nomer');
    readln(zap[i].nomer);
    end;

    writeln('mashini chernogo cveta');
    writeln('marka ',' god ',' nomer ');
    for 
    i:=1 to a do begin
    if zap[i].color='black' then
    begin
    write
    (zap[i].marka:5,' ');
    write(zap[i].god:4' ');
    write(zap[i].nomer:6,' ');
    writeln;
    end;
    end;
    writeln('nomer na N');
    writeln('marka ',' god ',' cvet ',' nomer ');
    for 
    i:=1 to a do
    begin
    if copy(zap[i].nomer,1,1)='m' then
    begin
    write
    (zap[i].marka:5,' ');
    write(zap[i].god:4' ');
    write(zap[i].color:5,' ');
    write(zap[i].nomer:6,' ');
    writeln;
    end;
    end;

    for 
    i:=1 to a-do
    for 
    j:=i+1 to a do
    if 
    zap[i].god>zap[j].god then
    begin
    x1
    :=zap[i].god;
    x2:=zap[i].marka;
    x3:=zap[i].color;
    x4:=zap[i].nomer;
    zap[i].god:=zap[j].god;
    zap[i].marka:=zap[j].marka;
    zap[i].color:=zap[j].color;
    zap[i].nomer:=zap[j].nomer;
    zap[j].god:=x1;
    zap[j].marka:=x2;
    zap[j].color:=x3;
    zap[j].nomer:=x4;
    end;
    writeln;
    writeln('po vozrastaniju goda vipuska');
    writeln('marka ',' god ',' cvet ',' nomer ');
    for 
    i:=1 to a do
    begin
    write
    (zap[i].marka:5,' ');
    write(zap[i].god:4' ');
    write(zap[i].color:5,' ');
    write(zap[i].nomer:6,' ');
    writeln;
    end;
    readln;
    end.
    я молодец, правда? :rolleyes: :)

    кстати, писал в блокнотике, так что на работоспособность не проверял... будут ошибки сообщишь))
     
    #6157 EndLeSSDre@M, 4 May 2010
    Last edited: 4 May 2010
  18. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    Есть какой нибудь компонент для дельфи, что бы из png конвертировать в jpeg|bmp ?
    Просто какая то капча тупая попалась, не грузится в дельфи и все...
     
  19. xafon

    xafon New Member

    Joined:
    2 Dec 2009
    Messages:
    38
    Likes Received:
    4
    Reputations:
    0
    HakaR, посмотри тут компонент. На счет конвертирования я не знаю но помочь с пнг должен.
     
  20. crazy~driver

    crazy~driver Member

    Joined:
    21 Dec 2008
    Messages:
    97
    Likes Received:
    14
    Reputations:
    4
    PHP:
    ShellExecute(Self.Handle'open''help/help.doc'nilnilSW_SHOWNORMAL);
    ShellExecute(Self.Handle'open''help/help.avi'nilnilSW_SHOWNORMAL);
    выполняется на bitbtnclick.
    Под хр открывает и работает идеально. Но под виндовс 7 вообще не реагирует. Подскажите пожалуйста, как можно решить эту проблему. (проверилось на нескольких семерках и хр - шках).
     
Thread Status:
Not open for further replies.