Новая версия eBookDownloader |
|
Half-Life 2 + Episode One |


|
Unreal |

|
CopySourceAsHtml (CSAH) |
|
Асинхронное выполнение длительных операций и взаимодействие с UI - Quick & Dirty |
1 using System;
2 using System.Drawing;
3 using System.Threading;
4 using System.Windows.Forms;
5 6 public class AsyncExecutionDemoForm : Form
7 {8 private Button startButton;
9 private ProgressBar progressBar;
10 11 public AsyncExecutionDemoForm()
12 { 13 createUI(); 14 } 15 16 private void createUI()
17 {18 startButton = new Button();
19 progressBar = new ProgressBar();
20 SuspendLayout();21 //
22 // startButton
23 //
24 startButton.Anchor = ((AnchorStyles.Top | AnchorStyles.Bottom)
25 | AnchorStyles.Left)
26 | AnchorStyles.Right;
27 startButton.Location = new Point(168, 50);
28 startButton.Name = "startButton";
29 startButton.Size = new Size(127, 23);
30 startButton.TabIndex = 0;31 startButton.Text = "Поехали!";
32 startButton.UseVisualStyleBackColor = true;
33 startButton.Click += new EventHandler(startButton_Click);
34 //
35 // progressBar
36 //
37 progressBar.Anchor = (AnchorStyles.Top | AnchorStyles.Left)
38 | AnchorStyles.Right;
39 progressBar.Location = new Point(8, 12);
40 progressBar.Name = "progressBar";
41 progressBar.Size = new Size(447, 23);
42 progressBar.TabIndex = 1;43 progressBar.Style = ProgressBarStyle.Continuous;
44 //
45 // AsyncExecutionDemoForm
46 //
47 AutoScaleDimensions = new SizeF(6F, 13F);
48 AutoScaleMode = AutoScaleMode.Font;
49 ClientSize = new Size(468, 88);
50 Controls.Add(progressBar); 51 Controls.Add(startButton);52 Name = "AsyncExecutionDemoForm";
53 Text = "AsyncExecutionDemoForm";
54 ResumeLayout(false);
55 } 56 57 58 void startButton_Click(object sender, EventArgs e)
59 {60 SynchronizationContext sc = SynchronizationContext.Current;
61 // Заблокируем кнопку
62 startButton.Enabled = false;
63 ((SendOrPostCallback)
64 delegate(object delay)
65 {66 // Что-то делаем
67 for (int i = 0; i < 100; ++i)
68 {69 // Имитируем бурную деятельность
70 Thread.Sleep((int) delay);
71 // Обновляем UI в правильном потоке
72 sc.Send(delegate { progressBar.Value = i + 1; }, null);
73 }74 sc.Send(delegate { startButton.Enabled = true; }, null);
75 }).BeginInvoke(100, null, null);
76 } 77 78 79 [STAThread]
80 static void Main()
81 {82 Application.EnableVisualStyles();
83 Application.SetCompatibleTextRenderingDefault(false);
84 Application.Run(new AsyncExecutionDemoForm());
85 } 86 }
Вложение: 3620665_asyncexecutiondemoform.zip
|
eBookDownloader на CodePlex |
|
eBookDownloader - новая версия |
|
eBookDownloader |
|
Из прочитанного: Дмитрий Казаков «Резюме для Саурона» |
Саурон Гортхаур
Урожденный Айнур из рода Майя. Сотворен Творцом вместе с остальным мирозданием. Начальное и среднее образование в области общей теории творчества получил непосредственно под руководством Творца. Высшее образование в области ювелирного, магического искусства, общей теории искусств, горнорудного и металлургического дела получил под руководством Аулэ, искуснейшего из Валар. Диплом защитил с блеском и был допущен к самостоятельной научной и творческой работе. Дополнительное образование в области менеджмента, дипломатии, черной магии, а также военного дела получил под руководством Моргота. Неоднократно отмечался руководителем, как блестящий организатор. Первая должность – комендант крепости-лаборатории Ангбанд. Именно в Ангбанде в результате генетических экспериментов были выведены орки. В магическом поединке одолел величайшего из эльфийских магов – Финрода Фелагунда. Много раз возглавлял войска в битвах, неоднократно отмечался наградами командования. В одиночку, с помощью одной лишь магии, захватил крепость Минас-Тирит, которой затем и управлял более пятисот лет. Участвовал в научно-практическом проекте «Огненный вал» государственной корпорации Моргота, в качестве координатора. Выведенные в результате проекта драконы стали наиболее совершенным оружием Средиземья, обеспечили почти полную победу армии Моргота. После того, как Моргот был уничтожен, основал собственное государственное предприятие в Мордоре. Правил им более шести тысяч лет. По совместительству более пятидесяти лет занимал должность главного советника короля Нуменора, Ар-Паразона Златоликого, организовал небывалое по своим масштабам войско для вторжения в Валинор. Был идейным вдохновителем и практическим организатором проекта «Кольца Власти». Выступал научным консультантом при создании Трех Эльфийских, Семи Гномьих, Девяти Людских колец. Собственноручно выковал Кольцо Всевластья, впервые в истории применив на практике вулканическое пламя. Руководил проектом «Назгул», в рамках которого осуществлялось создание, и отрабатывалось применение на практике неуязвимых для оружия призраков, наделенных магической силой, но полностью лишенных собственной воли. Проект завершился успешно, и только экстраординарные условия помешали с помощью назгулов завоевать Средиземье. Учитывая многовековой опыт руководства, богатый научный опыт, а также опыт боевых действий, мог бы претендовать на руководящие должности в военно-промышленном комплексе, на серьезный научный или административный пост в области создания современных средств вооружения. Имея богатейший опыт ведения военных действий, мог бы оказаться полезным ФСБ или разведке в качестве аналитика или консультанта.
|
Соседи - 9 |
Метод прост и не требует больших затрат.
Для его реализации потребуется:
- Камера от футбольного мяча (это та которая с хвостиком).
- Отрезок прочной и гибкой резиновой трубки диаметром, таким же как хвостик футбольной камеры.
- Кусочек металлической трубки для прочного соединения резиновой трубки и камеры.
- Насос для волейбольных мячей (это тот который с ниппелем).
Вот и все.
Теперь сборка устройства:
- Прочно соединить через переходник камеру и резиновую трубку( халтура недопустима, можно повредить соседям на 1-ом этаже).
- Другой конец трубки соединить с насосом.
Тестирование:
- Накачать камеру насосом (проверив за сколько качков камера раздувается до 10-15см в диаметре.
- Сдуть камеру отсоединив насос от трубки
Устройство готово к использованию.
Использование:
- Спустить камеру в унитаз, предварительно хорошо закрепив ваш конец трубки, чтобы не бежать за новой камерой и т.д.
- Когда камера опустится в недра канализации ниже уровня слива соседской квартиры, на 50-70 сантиметров, накачать ее насосом (расчетное число качков).
- Спустить воду у унитазе( можно сходив по малому и по большому).
- Идти на площадку курить и наблюдать как соседи снизу выносят вашу каку в ведре на улицу(ибо больше некуда)
- Повторить манипуляцию неоходимое число раз для увеличения эффекта.
- После употребления устройство сдуть, вытянуть обратно, помыть и сохранить для дальнейшего использования.
Устройство изготавливалось и проверялось лично. Работает!
Эффект усиливается если дело происходит после 20:00 (дежурного сантехника уже хрен найдешь, а все выше этажами пришли с работы и ...
Сосед ловил какашки по всей квартире + едва не получил по морде от соседа снизу за специфическую протечку.
P.S. Длину трубки следует выбирать по формуле:
Высота потолков умноженная на число этажей до соседа + 50-70 см + длина хвостика который останется у вас в руках. Обязательно закрепите трубку с вашей стороны, чтобы ловить какашки не пришлось соседу с первого этажа (если упустите, застрянет то она на 1-ом). Контролируйте приход сантехника к соседям,
Когда придет - камеру сдуть(не вытаскивая), когда уйдет ругаясь, что вызвали зря, надуть снова.
Эту штуку как-то можно запустить вверьх по сливной трубе. На моей территории есть ''ревизия''.
Может быть в неё вставить камеру, просверлить в крышке отверствие для трубки, закрутить всё и загерметизировать?
Зашол кто-то наверьху в клозет (у меня это хорошо слышно) - камеру надул... и пусть вычёрпывают руками и выносят на улицу.
|
Забавный тест... |

Черный пояс. Выше – только звезды. Есть, чем гордиться. Заслужили. Однако не советуем особо зазнаваться – вопросы теста будут регулярно меняться.
|
Из прочитанного: Андрей Мартьянов «Войти в бездну» |
|
Из прочитанного: Ромaн Злотникoв и Андрей Николаев «Охота на Охотника» |
|
Carmageddon - видео и скриншоты... |


|
Carmageddon |


|
Silent Hill 2 |
|
Prey пройден... |

|