Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2014, 11:21   #1
KatruKot2
 
Регистрация: 16.12.2012
Сообщений: 8
По умолчанию Делегаты

Добрый день. Помогите пожалуйста. Никак не выходит применить делегаты к программе.
Код:
             try
            {
                double x = Convert.ToDouble(textBoxLog.Text);
                double sum = 0;
                for (double i = 0; i < x; i++)
                {
                    if (i % 2 == 0)
                    {
                        sum += i;
                    }
                }
                double res = Math.Sqrt(x) * sum;
                textBox2.Text = res.ToString();

                double y = Convert.ToDouble(textBox4.Text);
                double umn = 1;
                for (double j = 1; j < y; j++)
                {
                    umn *= j;
                }
                double res2 = Math.Sqrt(y) * umn;
                textBox3.Text = res2.ToString();
            }
            catch
            {
                textBoxLog.Clear();
                textBox4.Clear();
                MessageBox.Show("Введите число", "Error");
            }
KatruKot2 вне форума Ответить с цитированием
Старый 24.09.2014, 11:53   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Вы хоть знаете что такое делегаты и для чего они нужны?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 24.09.2014, 12:41   #3
KatruKot2
 
Регистрация: 16.12.2012
Сообщений: 8
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Вы хоть знаете что такое делегаты и для чего они нужны?
Представления я имею. Структура данных указывающая на метод.
KatruKot2 вне форума Ответить с цитированием
Старый 24.09.2014, 12:44   #4
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от KatruKot2 Посмотреть сообщение
Представления я имею. Структура данных указывающая на метод.
Ну и где в вашем коде чтото указывающее на делегаты или их использование?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 24.09.2014, 13:03   #5
KatruKot2
 
Регистрация: 16.12.2012
Сообщений: 8
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Ну и где в вашем коде что-то указывающее на делегаты или их использование?
Я знаю что нет. Просто уже столько раз переделывал, удалял. Просто уже от отчаяния решил помощи просить.
KatruKot2 вне форума Ответить с цитированием
Старый 24.09.2014, 13:28   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А какие делегаты нужно то?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.09.2014, 13:34   #7
KatruKot2
 
Регистрация: 16.12.2012
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А какие делегаты нужно то?
Делегат с именованными методами. Пытался сделать. Хотя в задании не оговаривается какой.
KatruKot2 вне форума Ответить с цитированием
Старый 24.09.2014, 13:40   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я имел ввиду что он должен делать.
Покажи как пытался. Может тогда понятнее станет что тебе нужно.

Я тут покопался по сусекам и нарыл примерчик:
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Делегаты
{
    // Опишем класс с делегатом и событием
    class TDelegate { 
        // Это шаблон делегата
        public delegate void ProcDelegate(int x);
        // Это шаблон собыьтя по этому делегату
        public static event ProcDelegate proc;

        //Это процедура вызывающая делегата
        public void start() {
            for (int i = 0; i < 10; i++)
                proc(i);
        }
    }
    class Program
    {
        // В главной программе сама процедура, передаваемая в качестве события
        public static void aproc(int x) { Console.Write("{0}\t",x); }
        static void Main(string[] args)
        {
            //Создадим обьект-пример
            TDelegate d=new TDelegate();
            //Зададим ему указанную процедуру в качестве делегата
            TDelegate.proc+=new TDelegate.ProcDelegate(aproc);
            //И запустим цикл того объекта
            d.start();
            // В результате в цикле объекта 10 раз вызовется Program.aproc() с параметром из того цикла
            Console.ReadKey();
        }
    }
}
Думаю он расскажет что такое делегат и как его юзать.
I'm learning to live...

Последний раз редактировалось Stilet; 24.09.2014 в 14:04.
Stilet вне форума Ответить с цитированием
Старый 24.09.2014, 13:56   #9
KatruKot2
 
Регистрация: 16.12.2012
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Я имел ввиду что он должен делать.
Покажи как пытался. Может тогда понятнее станет что тебе нужно.
Мне дико стыдно. Это я тогда начинал только. Потом решил остановиться на формах(обычно с ними работаю, консоль просто проба) и там ничего не вышло...
Код:
 delegate void MyDelegate(string s);
        static void MyHandler(string s)
        {
            double x = Convert.ToDouble(Console.ReadLine());
            double sum = 0;
            for (double i = 0; i < x; i++)
            {
                if (i % 2 == 0)
                {
                    sum += i;
                }
            }
            double res = Math.Sqrt(x) * sum;
          Console.Write("",res);
        }

        static void Main(string[] args)
        {
            MyDelegate del = new MyDelegate(MyHandler);
         
            del("");
           
            Console.ReadKey();

        }
KatruKot2 вне форума Ответить с цитированием
Старый 24.09.2014, 14:09   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Смотри мой пример в предидущем посте. Я дописал его к посту как нашел.
С камментами )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Делегаты Skif-F Microsoft Office Excel 5 25.01.2012 15:08
Делегаты C# sir.andrey Помощь студентам 3 21.09.2011 10:06
MinGW, Делегаты. Пепел Феникса Общие вопросы C/C++ 14 28.07.2011 19:42
Делегаты CaypoH Общие вопросы .NET 3 04.01.2011 05:43
Делегаты в MSIL Андрей Стрелков Общие вопросы .NET 6 20.02.2009 19:17