Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155

Открыть новую тему     Написать ответ в эту тему

Auberdin

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо, помогло.

Всего записей: 92 | Зарегистр. 03-07-2012 | Отправлено: 19:34 10-02-2016
Auberdin

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Приветствую всех.
 
Разбираю очередной пример программирования и не могу догнать как именно работает эта программа:
 
 
 {
                bool p = false, q = false;
                int i, j;
 
                for (i = 0; i<2; i++)
                {
                    for (j = 0; j <2; j++)
                    {
                        if (i == 0) p = true;
                        if (i ==1) p = false;
                        if (j == 0) q = true;
                        if (j == 1) q = false;
 
                        Console.WriteLine("p равно " + p + ", q равно " + q);
                        if (!p | q)
                            Console.WriteLine("Результат импликации " + p + " и " + q + " равен " + true);
 
                        Console.WriteLine();
                    }
                }
            }
 
Вывод программы:
 
p равно True, q равно True
Результат импликации True и True равен True
 
p равно True, q равно False
 
p равно False, q равно True
Результат импликации False и True равен True
 
p равно False, q равно False
Результат импликации False и False равен True
 
Здесь встроен цикл в цикле. Ну первый цикл я понял как проходит - i=0, j=0, соответственно значения p и q = true.
Потом, судя по тому, что p=true, q = false, выполняется только "внутренний" цикл. В результате i=0, j=1.
Потом идет третий цикл. Почему q становится true? Ведь j уже равен единице, т.е. q должен быть false. Когда j успел стать нулем?
 
И как понять вот эту запись:  if (!p | q)? Этот оператор срабатывает каждый цикл. Зачем он тогда нужен?

Всего записей: 92 | Зарегистр. 03-07-2012 | Отправлено: 00:49 14-02-2016
Alexzzy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Auberdin
Еще раз

Цитата:
У тебя есть возможность запустить программу под отладкой и выполнять её пошагово, смотри меню Debug(Отладка) в Visual Studio

Не о циклах надо говорить, а об итерациях цикла. Нет никакого третьего цикла, есть два цикла по две итерации в каждом. Внутри каждой итерации первого цикла выполняется второй цикл с двумя итерациями. i и j:
0, 0
0, 1
1, 0
1, 1

Цитата:
И как понять вот эту запись:  if (!p | q)? Этот оператор срабатывает каждый цикл. Зачем он тогда нужен?

Не понятно что не понятно. Всё же очевидно, для вывода сообщения когда результат импликации равен true.
 

Всего записей: 1455 | Зарегистр. 10-07-2013 | Отправлено: 13:39 14-02-2016
Auberdin

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо. Разобрался.

Всего записей: 92 | Зарегистр. 03-07-2012 | Отправлено: 16:54 14-02-2016
NeoAnomaly

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Auberdin, если в книжке, которую читаешь нет про битовые операции(хотя странно, зачем дан этот пример), то достаточно почитать ту же википедию: Битовые операции

Всего записей: 413 | Зарегистр. 23-03-2010 | Отправлено: 22:15 14-02-2016
Auberdin

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NeoAnomaly
 
Битовые операции как раз в следующей главе встретились. Читаю "Герберт  Шилдт - C# 4.0. Полное руководство - 2011"
 
И, как мне кажется, битовые операции это самый адЪ.

Всего записей: 92 | Зарегистр. 03-07-2012 | Отправлено: 23:44 14-02-2016
Auberdin

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, а в Visual Studio можно как-нибудь отследить в какой последовательности исполняется программа и исполнять ее пошагово?
 
Программа работает без ошибок, просто я не понимаю последовательность ее работы.

Всего записей: 92 | Зарегистр. 03-07-2012 | Отправлено: 15:54 17-02-2016
Sp44

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если это ваша программа - ставите брейкпоинт где нибудь по ближе к началу и запускаете ее в режиме отладки (F5) ну и там дальше по шагам либо с перескоками через подпрограммы и функции (F10) либо с заходом в них (F11). Если у вас несколько проектов в солюшине и хочется запустить не тот, который указан как стартовый - в Solution Explorer на нем правой кнопкой мыши и там Debug -> Start new instance.

Всего записей: 67 | Зарегистр. 20-09-2006 | Отправлено: 16:06 17-02-2016 | Исправлено: Sp44, 02:16 18-02-2016
Auberdin

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо. Разбираюсь.
 
Еще такой вопрос. Есть ли какая-нибудь литература по созданию приложений Windows Forms на C#? По самому C# учебников в сети тьма, а по Windows Forms нашел только учебник Лабора (2003 г. издания). Ну либо самоучители, которые показывают не дальше чем Hello World, либо непонятный новичку msdn.

Всего записей: 92 | Зарегистр. 03-07-2012 | Отправлено: 07:55 18-02-2016
NeoAnomaly

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Auberdin, попробуй посмотреть Флёнов М. Библия C#.
Именно эту книгу не читал, но судя по другим книгам автора должна быть стоящая вещь.

Всего записей: 413 | Зарегистр. 23-03-2010 | Отправлено: 10:22 18-02-2016
mrdime



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа, мои знания в .NET ограничиваются пока неполностью изученным "Герберт  Шилдт - C# 4.0. Полное руководство". Но кое-что иногда для себя программирую. Есть деобфусцированный скайп 5.5.  Использую 2 аккаунта скайпа одновременно (2-й скайп запускаю из ярлыка с параметром /secondary), т.е. использую 1 .exe. Хочу настроить сабж, чтобы он отображал значки скайпа в трее от разных аккаунтов разными цветами либо как-то еще делалось различие между ними.  
Кому-то доводилось разбираться с кодом скайпа, чтобы реализовать что-то подобное?
Буду благодарен за советы и рекоммендации в даном направлении.

Всего записей: 2694 | Зарегистр. 04-01-2005 | Отправлено: 11:07 18-02-2016
Auberdin

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NeoAnomaly
 
Попробую, спс.

Всего записей: 92 | Зарегистр. 03-07-2012 | Отправлено: 22:46 18-02-2016
mmotop20oo12



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте, пишу приложение WPF, нужно сделать так, что бы файлы(а точнее пути к ним), перетянутые из проводника на форму, сохранились в массив строк. Я пытался найти похожее событие, но я даже не знаю как такой трюк называется, что бы его как-то идентифицировать, может быть вы знаете. Спасибо!

Всего записей: 324 | Зарегистр. 10-06-2014 | Отправлено: 00:10 26-02-2016
NeoAnomaly

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mmotop20oo12 Drag & Drop - название трюка.  
 
Как пример реализации: http://www.strathweb.com/2012/06/drag-and-drop-files-to-wpf-application-and-asynchronously-upload-to-asp-net-web-api/

Всего записей: 413 | Зарегистр. 23-03-2010 | Отправлено: 07:47 26-02-2016
mmotop20oo12



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NeoAnomaly
при много благодарю)
 
Добавлено:
Еще возник вопрос, делаю аудио плеер, использую библиотеку microsoft.directx.audiovideoplayback, так вот класс audio имеет событие Ending, которое основано на методе, который ни чего не принимает, а возвращается делегат EventHandler, в чем логика? Причем событие возникает, даже если я еще не запустил песнь, соответственно ловлю исключение, т.к. по моей логике, если песня закончилась, то нужно переключить на следующую, а песен то еще даже нету... приложение только запустилось...

Всего записей: 324 | Зарегистр. 10-06-2014 | Отправлено: 21:23 28-02-2016
dimka11gg

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Universal windows app, будут работать, только под windows 10? Вообще это аналог metro приложений из windows 8?

Всего записей: 495 | Зарегистр. 15-06-2010 | Отправлено: 09:06 06-03-2016
NeoAnomaly

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dimka11gg под windows 10 & windows 10 mobile.
 

Цитата:
Вообще это аналог metro приложений из windows 8?

Что ты понимаешь под metro приложением? metro - это адаптация под тачскрин.

Всего записей: 413 | Зарегистр. 23-03-2010 | Отправлено: 11:47 06-03-2016
mmotop20oo12



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте, я пытаюсь разобрать в грамотной передаче переменных из 1ой формы в другую, допустим из главной во второстипенную. Поскольку в C# есть событийная модель, я решил использовать ее, собственно я создаю событие на форме1, а на второй форме - создаю метод-обработчик этого события, который принимает sender и MyEventArgs(вывел из EventArgs) и уже в этом методе я достаю с MyEventArgs, все, что мне нужно. Правильно ли я делаю? Вот код:

Код:
 
//первый файл с формой 1 (главной), делегатом и переопределенным EventArgs
 
public delegate void Mydel(object sender, MyEventArgs e); //delegate
 
    public partial class F1 : Form
    {
         
        public event Mydel Myevt; //собственное событие
 
        private void button1_Click(object sender, EventArgs e)
        {
            Form2 f2 = new Form2(); //создаю новую форму
            Myevt += f2.changeBut; //цепляю обработчик события из 2ой формы  
            MyEventArgs arg = new MyEventArgs();  
            arg.myarg = button1.Text;  //заполняю новый экзепляр класс MyEventArgs
            Myevt(this, arg); //Запускаю событие
            f2.Show();
        }
    }
    public class MyEventArgs : EventArgs
    {
        public string myarg;
    }
//второй файл с формой 2
public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
 
        public void changeBut(object sender, MyEventArgs a)
        {
            button1.Text = a.myarg;
        }
    }
 

Всего записей: 324 | Зарегистр. 10-06-2014 | Отправлено: 00:40 08-03-2016
Alexzzy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mmotop20oo12
В данном примере нет смысла использовать события. Правильнее через конструктор параметры передать или через свойства формы.

Всего записей: 1455 | Зарегистр. 10-07-2013 | Отправлено: 04:14 08-03-2016
mmotop20oo12



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexzzy
т.е. написать под переменные открытые свойства? И еще 1 вопрос, что если я хочу и 2ой формы, например, закрыть 1ую, как поступить в таком случае?

Всего записей: 324 | Зарегистр. 10-06-2014 | Отправлено: 16:04 08-03-2016
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Имя:
Пароль:
Сообщение

Для вставки имени, кликните на нем.

Опции сообщенияДобавить свою подпись
Подписаться на получение ответов по e-mail
Добавить тему в личные закладки
Разрешить смайлики?
Запретить коды


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2018

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru