Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите пожалуйста составить Форму, Помогите пожалуйста составить Форму  
:(
    Опции темы
heavenly666
  Дата 11.5.2009, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 8.5.2009

Репутация: нет
Всего: нет



Здравствуйте ! Помогите пожалуйста составить Форму по коду ! Я знаю что есть много примеров работы pop на C# ! но все же Я бы хотел этот готовый - мучился мучился - а так форму и не пог составить под код - даже картинка есть формы и то никак ((( знания в C# плохие ! помогите если не трудно, и если не трудно вложите здесь готовую форму с кодом - если есть у кого время мне помочь ! очень нуждаюсь !

вот пример :  картинка формы в вложении ниже !

Код

/*
C# Network Programming 
by Richard Blum

Publisher: Sybex 
ISBN: 0782141765
*/

using System;
using System.Drawing;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Windows.Forms;

public class PopCheck : Form
{
   private TextBox hostname;
   private TextBox username;
   private TextBox password;
   private TextBox status;
   private ListBox messages;

   private TcpClient mailclient;
   private NetworkStream ns;
   private StreamReader sr;
   private StreamWriter sw;

   public PopCheck()
   {
      Text = "popcheck - A POP3 e-mail checker";
      Size = new Size(400, 380);

      Label label1 = new Label();
      label1.Parent = this;
      label1.Text = "Hostname:";
      label1.AutoSize = true;
      label1.Location = new Point(10, 33);

      hostname = new TextBox();
      hostname.Parent = this;
      hostname.Size = new Size(200, 2 * Font.Height);
      hostname.Location = new Point(75, 30);

      Label label2 = new Label();
      label2.Parent = this;
      label2.Text = "User name:";
      label2.AutoSize = true;
      label2.Location = new Point(10, 53);

      username = new TextBox();
      username.Parent = this;
      username.Size = new Size(200, 2 * Font.Height);
      username.Location = new Point(75, 50);

      Label label3 = new Label();
      label3.Parent = this;
      label3.Text = "Password:";
      label3.AutoSize = true;
      label3.Location = new Point(10, 73);

      password = new TextBox();
      password.Parent = this;
      password.PasswordChar = '*';
      password.Size = new Size(200, 2 * Font.Height);
      password.Location = new Point(75, 70);

      Label label4 = new Label();
      label4.Parent = this;
      label4.Text = "Status:";
      label4.AutoSize = true;
      label4.Location = new Point(10, 325);
     
      status = new TextBox();
      status.Parent = this;
      status.Text = "Not connected";
      status.Size = new Size(200, 2 * Font.Height);
      status.Location = new Point(50, 322);

      messages = new ListBox();
      messages.Parent = this;
      messages.Location = new Point(10, 108);
      messages.Size = new Size(360, 16 * Font.Height);
      messages.DoubleClick += new EventHandler(getmessagesDoubleClick);

      Button login = new Button();
      login.Parent = this;
      login.Text = "Login";
      login.Location = new Point(295, 32);
      login.Size = new Size(5 * Font.Height, 2 * Font.Height);
      login.Click += new EventHandler(ButtonloginOnClick);

      Button close = new Button();
      close.Parent = this;
      close.Text = "Close";
      close.Location = new Point(295, 62);
      close.Size = new Size(5 * Font.Height, 2 * Font.Height);
      close.Click += new EventHandler(ButtoncloseOnClick);
    }

   void ButtonloginOnClick(object obj, EventArgs ea)
   {
      status.Text = "Checking for messages...";
      Thread startlogin = new Thread(new ThreadStart(loginandretr));
      startlogin.IsBackground = true;
      startlogin.Start();
   }

   void ButtoncloseOnClick(object obj, EventArgs ea)
   {
      if (ns != null)
      {
         sw.Close();
         sr.Close();
         ns.Close();
         mailclient.Close();
      }
      Close();
   }

   void loginandretr()
   {
      string response;
      string from = null;
      string subject = null;
      int totmessages;

      try
      {
         mailclient = new TcpClient(hostname.Text, 110);
      } catch (SocketException)
      {
         status.Text = "Unable to connect to server";
         return;
      }

      ns = mailclient.GetStream();
      sr = new StreamReader(ns);
      sw = new StreamWriter(ns);

      response = sr.ReadLine(); //Get opening POP3 banner

      sw.WriteLine("User " + username.Text); //Send username
      sw.Flush();

      response = sr.ReadLine();
      if (response.Substring(0,4) == "-ERR")
      {
         status.Text = "Unable to log into server";
         return;
      }

      sw.WriteLine("Pass " + password.Text);  //Send password
      sw.Flush();

      try
      {
         response = sr.ReadLine();
      } catch (IOException)
      {
         status.Text = "Unable to log into server";
         return;
      }
      if (response.Substring(0,3) == "-ER")
      {
         status.Text = "Unable to log into server";
         return;
      }

      sw.WriteLine("stat"); //Send stat command to get number of messages
      sw.Flush();

      response = sr.ReadLine();
      string[] nummess = response.Split(' ');
      totmessages = Convert.ToInt16(nummess[1]);
      if (totmessages > 0)
      {
         status.Text = "you have " + totmessages + " messages";
      } else
      {
         status.Text = "You have no messages" ;
      }

      for (int i = 1; i <= totmessages; i++)
      {
         sw.WriteLine("top " + i + " 0"); //read header of each message
         sw.Flush();
         response = sr.ReadLine();

         while (true)
         {
            response = sr.ReadLine();
            if (response == ".")
               break;
            if (response.Length > 4)
            {
               if (response.Substring(0, 5) == "From:")
                  from = response;
               if (response.Substring(0, 8) == "Subject:")
                  subject = response;
            }
         }
         messages.Items.Add(i + "  " + from + "  " + subject);
      }

   }

   void getmessagesDoubleClick(object obj, EventArgs ea)
   {
      string text = (string)messages.SelectedItem;
      string[] textarray = text.Split(' ');
      ShowMessage sm = new ShowMessage(ns, textarray[0]);
      sm.ShowDialog();
   }

   public static void Main()
   {
      Application.Run(new PopCheck());
   }
}

class ShowMessage : Form
{
   public ShowMessage(NetworkStream ns, string messnumber)
   {
      StreamReader sr = new StreamReader(ns);
      StreamWriter sw = new StreamWriter(ns);
      string response;

      Text = "Message " + messnumber;
      Size = new Size(400, 380);
      ShowInTaskbar = false;

      TextBox display = new TextBox();
      display.Parent = this;
      display.Multiline = true;
      display.Dock = DockStyle.Fill;
      display.ScrollBars = ScrollBars.Both;

      sw.WriteLine("retr " + messnumber); //Retrieve entire message
      sw.Flush();
      response = sr.ReadLine();

      while (true)
      {
         response = sr.ReadLine();
         if (response == ".")
            break;
         display.Text += response + "\r\n";
      }
   }
}


Присоединённый файл ( Кол-во скачиваний: 18 )
Присоединённый файл  PopCheck.png 10,07 Kb
PM MAIL   Вверх
diadiavova
Дата 11.5.2009, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Держи

Присоединённый файл ( Кол-во скачиваний: 14 )
Присоединённый файл  tralalabumbum.rar 40,64 Kb


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
heavenly666
Дата 11.5.2009, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 8.5.2009

Репутация: нет
Всего: нет



может кто помочь со строчкой ? - возникает ошибка с сообщениями ! подключаюсь к mail-у ! соединение успешно проходит и авторизация - а загрузка сообщений не идет ! вроде бы исходник правильный - может что-то у меня не так ?! Я картинку вложил с ошибкой ! может кто проверить у себя программу ! ?

Присоединённый файл ( Кол-во скачиваний: 26 )
Присоединённый файл  1.JPG 141,87 Kb
PM MAIL   Вверх
Partizan
Дата 11.5.2009, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 18
Всего: 67



heavenly666, слабо погуглить по описанию ошибки??? 

google cross-thread operation


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0464 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.