Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Как в builder'e проверить отношение к классу


Автор: Elfebet 7.9.2006, 18:48
Вот есть код на делфи и не могу его переписать на buillder
Код

var n, nummsgs, j:integer;
    m:string;
begin
IdPOP31.Host:='pop.mail.zp.ua';
IdPOP31.Port:=110;
IdPOP31.Username:='myname';
IdPOP31.Password:='mypass';
IdPOP31.Connect(0);

Memo1.Lines.Clear;
NumMsgs:=IdPOP31.CheckMessages;
Memo1.lines.add( 'Emails:' +IntToStr(NumMsgs) );
for n:=1 to NumMsgs do begin
  IdPOP31.RetrieveHeader(n,idMessage1);
  Memo1.Lines.Add('Email To:'+IntToStr(n)+#13#10+
  ' From: '+idMessage1.From.Text+#13#10+
  ' Subject: '+idMessage1.Subject+#13#10);
  m:=IntToStr(n);

  idMessage1.Clear;
  IdPOP31.Retrieve(n,idMessage1);
  if (IdMessage1.MessageParts.Count>0) then begin
    for J := 0 to Pred(idMessage1.MessageParts.Count) do begin
      if idMessage1.MessageParts.Items[J] is TIdText then begin
        Memo1.Lines.Add(TIdText(idMessage1.MessageParts.Items[J]).Body.Text)
      end;
    end;
  end
  else Memo1.Lines.Add(idMessage1.Body.Text);
  idMessage1.Clear;
  Memo1.Lines.Add('--------------------------------------'+#13#10);
  Application.ProcessMessages;
end;
idpop31.Disconnect;


вот немогу на builder перевести строку
      if idMessage1.MessageParts.Items[J] is TIdText then begin
        Memo1.Lines.Add(TIdText(idMessage1.MessageParts.Items[J]).Body.Text)
помогите плиз!

Автор: BreakPointMAN 7.9.2006, 19:39
Например, как-нибудь так:
Код

TIdText* IdText=dynamic_cast<TIdText*>(idMessage1.MessageParts.Items[J]);
if(IdText)
   Memo1->Lines->Add(IdText->Body.Text);

Автор: poiuytr 8.9.2006, 09:35
Или поюзать метод

Код

TObject::ClassNameIs

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)