[ 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. h(f)ucker

    h(f)ucker Member

    Joined:
    11 Jul 2009
    Messages:
    81
    Likes Received:
    84
    Reputations:
    32
    starbes, попробуй альтернативный порт поставить 587.
    Давно ошибка? - Может просто яндекс висит.
     
  2. starbes

    starbes Member

    Joined:
    12 Feb 2010
    Messages:
    0
    Likes Received:
    6
    Reputations:
    10
    яндекс не висит - с портом тоже не помогло

    так тоже не работает:

    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    var
      IdSMTP: TIdSMTP;
      idMessage: TidMessage;
    begin
      idMessage := TIdMessage.Create(nil);
      try
        with idMessage do
        begin
          Recipients.Add.Address :='[email protected]';{ кому отправляем }
          Subject :='Привет с античата!';{Тема}
          From.Address := '[email protected]';{ свое мыло }
          Body.Text := 'Добрый день'+#13+
          'Я знаю Delphi';
        end;
        IdSMTP := TIdSMTP.Create(nil);
        with IdSMTP do
          try 
            Host := 'smtp.ukrwest.net'; { сервер исходящей почты }
            Connect; 
            Send(idMessage); 
            Disconnect;
          finally 
            Free; 
          end;
      finally
        Free;
      end;
    end;
     
    #6542 starbes, 12 Jul 2010
    Last edited: 12 Jul 2010
  3. h(f)ucker

    h(f)ucker Member

    Joined:
    11 Jul 2009
    Messages:
    81
    Likes Received:
    84
    Reputations:
    32
    Фоерволл установлен?
    Попробуй отключить, не поможет запусти без обработчика ошибок, будет работать или нет, в коде ошибок не нашел :(
     
  4. lamer811

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

    Joined:
    8 Nov 2009
    Messages:
    130
    Likes Received:
    39
    Reputations:
    12
    Попробуй:
    smtp.AuthenticationType := atLogin;
     
  5. starbes

    starbes Member

    Joined:
    12 Feb 2010
    Messages:
    0
    Likes Received:
    6
    Reputations:
    10
    файервола нет, без обработчика пробовал


    я пользуюсь 2009 версией, в ней
    поле
    smtp.AuthType
    может быть: satDefault, satNone, satSASL
     
    #6545 starbes, 12 Jul 2010
    Last edited: 12 Jul 2010
  6. .while

    .while Member

    Joined:
    22 Feb 2010
    Messages:
    40
    Likes Received:
    5
    Reputations:
    0
    Здравствуйте.
    Нужна помощь.
    Нужно загрузить страницу в WebBrowser, получить ответ сервера (код), и если код 300..399 то перейти на начальную страницу сайта, просто .ru, либо просто отдельно при коде 302 переадресация.
    спасибо.
     
  7. Yetisports

    Yetisports Banned

    Joined:
    11 Jul 2010
    Messages:
    147
    Likes Received:
    12
    Reputations:
    17
    Всем привет, собственно у меня 2 вопроса.
    1) Как в делфи запустить какой-нибуть сторонний файл, *.exe например
    2)Сори что не в тему, но все-таки, посоветуйте плиз книгу по object-c
     
    1 person likes this.
  8. AlexTheC0d3r

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

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    1) shellexecute
     
    1 person likes this.
  9. heretic1990

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

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    создаю программу с потоками, в потоке цикл, в котором идёт проверка, а проверка осуществляется за счёт функции, компилятор почему то ругается на функцию, типо её нет, а если в потоке не использовать функцию то всё запускается. в чём может быть проблема?
     
  10. fenixelite

    fenixelite Banned

    Joined:
    7 Feb 2010
    Messages:
    294
    Likes Received:
    56
    Reputations:
    6
    Кинь код объявления функции, ее определение, и вызов.
     
  11. heretic1990

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

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    чёто ничего не получается пишет [Error] Unit1.pas(68): Undeclared identifier: 'Check'
    так как же мне запустить функцию в потоке?
     
  12. fenixelite

    fenixelite Banned

    Joined:
    7 Feb 2010
    Messages:
    294
    Likes Received:
    56
    Reputations:
    6
    Кинь то что я написал, тогда и можно будет судить, что ты делаешь не так
     
  13. heretic1990

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

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    Code:
    TNewThread = class(TThread)
      private
        { Private declarations }
      protected
        procedure Execute; override;
      end;
    
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    function CheckURL_Indy(url:string):boolean; 
    var http:TIdHTTP;
    begin
    try
    http:=TIdHTTP.Create(nil);
    http.Get(url);
    if http.ResponseCode=200 then result:=true else
    result:=false;
    http.Free;
    except
    result:=false;
    end;
    end;
    
    { TNewThread }
    
    procedure TNewThread.Execute;
    begin
     if CheckURL_Indy(form1.Edit1.Text + dir) ///ругается на эту строку
        then
        begin
        form1.Memo1.Lines.Add(form1.Edit1.Text +dir+ ' - ok');
        end
      else
        begin
        form1.Memo2.Lines.Add(form1.Edit1.Text +dir+ ' - bad');
        end;
    
    end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
      NewThread: TNewThread;
    begin
      NewThread:=TNewThread.Create(true);
      NewThread.FreeOnTerminate:=true;
      NewThread.Priority:=tpLower;
      NewThread.Resume;
    end;
    примерно так
     
  14. neprovad

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

    Joined:
    19 Oct 2007
    Messages:
    899
    Likes Received:
    274
    Reputations:
    59
    работать с элементами формы из потока надо с использованием TCriticalSection чтоб быть уверенным в том что в этот же момент что-либо не обращается туда же.
    Могу ошибаться - попробуйте у функции дописать ; external хотя по идее должно и так работать, нет возможности проверить.
     
  15. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Синхронизируй работу с формой, или используй критические секции - это раз.
    Насчет проблемы - объяви функцию как член класса TNewThread - это два.
     
  16. AlexTheC0d3r

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

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    с визуальными элементами формы надо работать через Synchronize();
     
    1 person likes this.
  17. deemon36

    deemon36 New Member

    Joined:
    26 Apr 2010
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    Все привет! Хотел попросить помощи в коде и его реализации! Есть программа с базой подключенной через АДО (БД из Акцеса)! там всего одна таблица с определённым количеством столбцов но ближе к делу! есть столбец "Количество" так же на форме имеется кнопа продажа! Дилемма такая что при нажатии кнопки продажа количество выделенного товара уменьшалась на 1 значение или на определённое количество указанное в компоненте Edit! Если есть возможность помогите!
     
  18. dos999

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

    Joined:
    15 Feb 2008
    Messages:
    137
    Likes Received:
    24
    Reputations:
    0
    deemon36 то что ты написал можно реализовать по разному. лучше залей куда нибудь исходники, или распиши подробно какие компоненты ты используешь.
     
  19. fenixelite

    fenixelite Banned

    Joined:
    7 Feb 2010
    Messages:
    294
    Likes Received:
    56
    Reputations:
    6
    deemon36, Да присоединяюсь к тому что написал dos999. Куда выводишь БД хоть напиши, а лучше исходники скинь
     
  20. deemon36

    deemon36 New Member

    Joined:
    26 Apr 2010
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    программа тока тока начала писаться! Использую компоненты следующие: ADOConnection, ADOTable, DataSource, DBGrid ну и стандартные типо кнопок не буду уж говорить! Самы прсотой и не сложный способ нужен! могу описать принцип работы: "при нажатии на кнопку происходит следующее на вылеченном товаре происходит списание 1 или более указаное в Edit или другом подходящем компаненте количество товара при этом стоит условие если количество товара 0 выходит сообщение мол нет товара на складе" мне по сути нужен код списания а всё остальное я сам доработаю
     
Thread Status:
Not open for further replies.