Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Помогите разобраться с работой компонента (http://forum.oszone.net/showthread.php?t=222357)

streamrider 07-12-2011 08:20 1810807

Помогите разобраться с работой компонента
 
Доброе утро !!! Вчера я написал небольшую программу которая отправляет на почту все данные введенные в поля все отправляется но есть одна проблема с компонентом " ComboBox " Задача состоит в том что бы при выборе определенного варианта из списка " ComboBox " эти данные появлялись в поле для отправки в idMessage1.Body.Text после надписи " ID:",т.е то что выбрано то и добавлялось в это поле. Заранее Спасибо

Вот мой код :

Код:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdAntiFreezeBase, IdAntiFreeze, IdMessage, IdBaseComponent,
  IdComponent, IdTCPConnection, IdTCPClient, IdExplicitTLSClientServerBase,
  IdMessageClient, IdSMTPBase, IdSMTP, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    IdSMTP1: TIdSMTP;
    IdMessage1: TIdMessage;
    IdAntiFreeze1: TIdAntiFreeze;
    Panel1: TPanel;
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    Edit2: TEdit;
    Edit3: TEdit;
    ComboBox1: TComboBox;
    Label4: TLabel;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 idSMTP1.Host:= 'smtp.yandex.ru';
 idSMTP1.Port:= 25;
 idSMTP1.Username:='stream';
 idSMTP1.Password:='1234567';
 idMessage1.Body.Text:='INFO: YourProduct : '+Edit3.Text + ' Owner:'+Edit1.Text + '  ID: ';
 idMessage1.From.Text:='stars@yandex.ru';
 idMessage1.Recipients.EMailAddresses:='stars2@mail.ru';
 idMessage1.Subject:='Registration Product Informer';
 idSMTP1.Connect();
 if True then
 idSMTP1.Send(idmessage1);
  if True then
  MessageDlg('Регистрация продукта успешно завершена',mtInformation,[mbOk],0)
  else if False then
  MessageDlg('Сервис временно не доступен ',mtWarning,[mbOk],0);
 idSMTP1.Disconnect();



end;

end.


Tonny_Bennet 07-12-2011 10:31 1810868

Здравствуйте.

Не знаю как в Delphi, но в С# у каждого элемента формы есть несколько обработчиков событий. У ComboBox есть обработчик SelectedIndexChanged, который срабатывает при изменении элемента в комбо-боксе. Вот в него и нужно добавить код, изменяющий содержание вашего текст-бокса. У меня получилось примерно так:
Код:

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            textBox1.Text = "ID:" + comboBox1.SelectedItem.ToString();
        }


streamrider 07-12-2011 16:54 1811083

В том то и дело что на C# comboBox1.SelectedItem.ToString(); будет а как на Delphi это проблема так как недавно только начал с ним работать

DedAlex 08-12-2011 01:45 1811349

Если я правильно понял проблему, надо использовать ComboBox1.Text

streamrider 08-12-2011 08:55 1811449

DedAlex, Совершенно верно )))))) Спасибо огромное все получилось !!!


Время: 01:56.

Время: 01:56.
© OSzone.net 2001-