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

    Redeemer Member

    Joined:
    3 Jul 2010
    Messages:
    203
    Likes Received:
    24
    Reputations:
    1
    Function GetFileVersion(FileName:String):String;
    var
    TS: string;
    h, sz, Len: DWORD;
    Buf: PChar;
    Value: Pointer;
    begin
    Result:='';
    sz := GetFileVersionInfoSize(PChar(FileName), h);
    if sz > 0 then begin
    Buf := AllocMem(sz);
    GetFileVersionInfo(PChar(FileName), h, sz, Buf);
    VerQueryValue(Buf, '\VarFileInfo\Translation', Value, Len);
    TS := IntToHex(MakeLong(HiWord(Longint(Value^)), LoWord(Longint(Value^))), 8);
    VerQueryValue(Buf, PChar('StringFileInfo\' + TS + '\FileVersion'), Pointer(Value), Len);
    if Len > 1 then Result:=StrPas(PChar(Value));
    end;
    end;

    Ты бы хоть иногда гуглил;)
     
    1 person likes this.
  2. ADR-007

    ADR-007 Member

    Joined:
    12 Jul 2010
    Messages:
    218
    Likes Received:
    9
    Reputations:
    0
    да это я видел ... а нету способа по проще узнать версию СОБСТВЕННОЙ проги в рунтайм? (Чтобы сделать авто обновление шапки)
     
    #6682 ADR-007, 16 Aug 2010
    Last edited: 16 Aug 2010
  3. Redeemer

    Redeemer Member

    Joined:
    3 Jul 2010
    Messages:
    203
    Likes Received:
    24
    Reputations:
    1
    GetFileVersion(ParamStr(0)):String;
    Такой способ уже отменили?))
     
  4. ADR-007

    ADR-007 Member

    Joined:
    12 Jul 2010
    Messages:
    218
    Likes Received:
    9
    Reputations:
    0
    обращаться к exe-шки когда эта инфа есть в оперативке ... ну ладно пусть уж будет так ...
     
  5. AGIMgal

    AGIMgal New Member

    Joined:
    9 Jun 2010
    Messages:
    66
    Likes Received:
    0
    Reputations:
    0
    может быть этот вопрос уже был, но пролистать 700 страниц я не в состоянии.
    Какой надо писать обработчик события для нажития enter в поле edit?это надо что бы не хвататся постоянно за мышку при последовательном вводе данных и постоянной их обработке.
     
  6. Redeemer

    Redeemer Member

    Joined:
    3 Jul 2010
    Messages:
    203
    Likes Received:
    24
    Reputations:
    1
    Поверь, вытаскивать ЭТО из оперативки - не самое приятное занятие;)
     
  7. Redeemer

    Redeemer Member

    Joined:
    3 Jul 2010
    Messages:
    203
    Likes Received:
    24
    Reputations:
    1
    Code:
    procedure TPassForm.PassEditKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if Key=VK_RETURN then ButtonOK.Click;
    end;
     
  8. Ivan507

    Ivan507 New Member

    Joined:
    16 Aug 2010
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Народ пдскажите:)
    Я пишу программу на Делфи для лома почты, и у мне дали вот такой код:


    + к этому я сделал:
    1) бросил на форму IdAntiFreeze;
    2) и все компонетты указанные в коде!
    3) IdPOP я настроил провильно!

    Она запускается но при Starte пишет ошибка "List index out of bouds (19)" - что это такое?

    Народ плиз....:(.

    Если не знаете, то дайте пожалуйста другой код:)
     
  9. Ivan507

    Ivan507 New Member

    Joined:
    16 Aug 2010
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Может есть какие ни будь другие варианты?

    Может есть какие ни будь другие варианты решения этой проблемы?
     
    #6689 Ivan507, 16 Aug 2010
    Last edited: 16 Aug 2010
  10. fenixelite

    fenixelite Banned

    Joined:
    7 Feb 2010
    Messages:
    294
    Likes Received:
    56
    Reputations:
    6
    Это выход за пределы списка. Т.е 19 элемента просто не существует.
     
  11. Redeemer

    Redeemer Member

    Joined:
    3 Jul 2010
    Messages:
    203
    Likes Received:
    24
    Reputations:
    1
    Немножко пооффтоплю:
    Скоро народ будет искать компоненты типа TMakePizdato, деградируем...

    Ivan507, возьми в руки отладчик, посмотри на какой строке падает, покури основы Delphi, и тебе воздастся. ПыСы: Визуально код правильный.
     
    2 people like this.
  12. Freedom

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

    Joined:
    2 Jul 2007
    Messages:
    38
    Likes Received:
    92
    Reputations:
    8
    Народ подскажите плиз, как выловить капчу при авторизации вконтакте ?. не могу получит sid ((
     
  13. 0pTik

    0pTik Banned

    Joined:
    18 Jul 2010
    Messages:
    240
    Likes Received:
    85
    Reputations:
    17

    Капча вылезает после первого поста , там ее и лови , вылезает обычно на 3 или 4 раз
     
  14. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,581
    Likes Received:
    1,317
    Reputations:
    1,557
    Freedom, примерно так. На делфи только перепиши.
    PHP:
    if(sPage.Pos("\"captcha_sid\":\""))
    {
        
    sCaptchaSid sPage;
        
    sCaptchaSid.Delete(1sCaptchaSid.Pos("\"captcha_sid\":\"") + 15 1);
        
    sCaptchaSid.SetLength(sCaptchaSid.Pos("\"") - 1);

        
    // и дальше много кода.....
    }
     
  15. Redeemer

    Redeemer Member

    Joined:
    3 Jul 2010
    Messages:
    203
    Likes Received:
    24
    Reputations:
    1
    Я ловлю капчу такой регуляркой:
    Code:
    captcha_sid":"(\d*?)"
    Работает почти на любом сервисе вконтакта
     
  16. Freedom

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

    Joined:
    2 Jul 2007
    Messages:
    38
    Likes Received:
    92
    Reputations:
    8
    ребят спасибо конечно. )))) но не то ))) парсить страницу я умею. )))))

    Вот код

    HTML:
      http := Tidhttp.Create(nil);
      http.AllowCookies := true;
      http.HandleRedirects := false;
      data := tstringlist.Create;
      data.Add('email=' + login); // наш логин для авторизации
      data.Add('pass=' + password); // наш пароль для авторизации
      data.Add('expire=');
      data.Add('vk=');
      error := false;
      try
           PageProfile := http.Post('http://login.vk.com/?act=login', data);
        except
        error := true;
      end;
    
      if not(error) then
      begin
        data.Clear;
        data.Add('s=' + Copy(PageProfile, Pos('value', PageProfile) + 7, 56));
        data.Add('op=slogin');
        data.Add('redirect=1');
        data.Add('expire=0');
        data.Add('to=');
        http.HandleRedirects := true;
            try
          PageProfile := http.Post('http://vkontakte.ru/login.php', data);
        except
        end;
        result := true;
      end
      else
        result := false;
      data.Free;

    В PageProfile в том то и дело нет никакого captcha_sid (((((((((((((((( или я чего то не догоняю. Предполагаю что надо рыть в сторону http.Responcetext
     
    #6696 Freedom, 22 Aug 2010
    Last edited: 22 Aug 2010
  17. TrambleR

    TrambleR Banned

    Joined:
    26 Jun 2010
    Messages:
    403
    Likes Received:
    32
    Reputations:
    1
    помогите плиз я делфи недавно начал изучать и вопрос - как задать инрервал таймеру с помошью кнопки и поля Edit ??? в бейсике например все просто
    Private sub Command1_click()
    Timer.Interval = Text1
    End Sub

    а в делфи непоиму как (((( подскажыте чайнику плиззз
     
  18. fenixelite

    fenixelite Banned

    Joined:
    7 Feb 2010
    Messages:
    294
    Likes Received:
    56
    Reputations:
    6
    timer1.Interval := StrToInt(edit1.text); Стоит просто для начало хоть чуть-чуть выучить дельфи :)
     
    2 people like this.
  19. Degger

    Degger New Member

    Joined:
    20 Aug 2010
    Messages:
    34
    Likes Received:
    0
    Reputations:
    0
    Помогите пожалуйста
    Я хочу сделать словарь типа: слово транскрипция перевод...есть вариант сделать это ввиде стандартного компонента delphi и в его текстовое значение вбить все слова....а есть другие варианты?...и как можно в этом случае организовать поиск определенного слова?
     
  20. legaljo

    legaljo Member

    Joined:
    27 Jul 2010
    Messages:
    195
    Likes Received:
    26
    Reputations:
    7
    В компонент StringGrid выводи..
    Или для удобства можно скачать еще NiceGrid(они примерно одинаковы, только у второго есть еще немного полезных применений)
     
Thread Status:
Not open for further replies.