Форум программистов, компьютерный форум CyberForum.ru

Задержка времени - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ С++ работа с текстовыми файлами http://www.cyberforum.ru/cpp-beginners/thread995448.html
Здравствуйте. Я только начинаю знакомиться с средой C++, учусь работать с файлами, самое базовое типа ввода и вывода данных. Так вот, может кто-нибудь подсказать\навести как создать такую программку, которая будет 1. открывать текстовый файл 2. искать в нём нужную строку 3. копировать её 4. закрывать файл 5. создавать пустой текстовый файл 6. вставлять туда копированную строку Буду...
C++ Поиск Здравствуйте! Возникла проблема при поиске слова(поиск интерполяционный). Проблема заключается в том что нельзя вычитать, умножать объекты string(и понятное дело). Вот код: #include <iostream> #include <string> using namespace std; int main() { .... http://www.cyberforum.ru/cpp-beginners/thread995439.html
C++ Текстовый режим и мигающий текст
В коем то веке понадобилось продемонстрировать работу в текстовом режиме для лабораторной в университете, кто изучал с++ ещё в 90х небось в курсе как это делается, подскажите пожалуйста. Заставить мигать текст пытаюсь через борланд с++ установленный в DOS. Вызовы textMode из graphics.h визуально ничего не меняют textmode(BW40); cprintf("ABC"); getch(); textmode(C40); ...
C++ Команда Make
Какой путь указать для этой команды?
C++ Ошибка http://www.cyberforum.ru/cpp-beginners/thread995427.html
#include <cmath> using namespace std; int main() { double a, b, r, s; cout << "Enter a, b: "; cin >> a >> b;
C++ Дан массив натуральных чисел. Найти сумму элементов, кратных данному K Дан массив натуральных чисел. Найти сумму элементов, кратных данному K #include<conio.h> #include<stdio.h> #include<stdlib.h> #include<time.h> int main() {int sum=0, i, a, m, K; srand(time(0)); puts ("vvedite K"); scanf("%d", &K); подробнее

Показать сообщение отдельно
rpsv
15 / 46 / 3
Регистрация: 14.10.2013
Сообщений: 161
04.11.2013, 15:56     Задержка времени
Цитата Сообщение от TyLinka Посмотреть сообщение
Я делаю в windows forms. Если честно, я пыталась сначала вывести, а потом двигать, но не получилось
В WinForms есть класс Thread - это потоки!

Вот пример:
- после нажатия на кнопу:
1) в 1 нити элемент Label1 движется (вместо вам надо сделать круг)
2) в 2 нити считается уравнение и пишется в список ListBox1

* Sleep() - в функции замораживает ТОЛЬКО ту нить из которой она вызвана!

Вот ссылки полезные:

- Про Invoke: Как пользоваться событиями или как управлять формой из потока?
- Про Thread: http://msdn.microsoft.com/ru-ru/libr...v=vs.110).aspx

C++
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
//
// Заполняем список
//
public: void Filling_listbox()
{
    for (int i = 0; i < 100; i++)
    {
        //
        // Изменяем список из НЕ родительского потока
        //
        listBox1->Invoke(gcnew Action<double>(this, &Form1::Add_listbox),
                            Math::Sin(i));
        Thread::Sleep(100);
    }
}
 
public: void Add_listbox(double value)
{
    this->listBox1->Items->Add(value);
}
 
//
// Двигаем label
//
public: void Moving_label()
{
    for (int i = 0; i < 100; i++)
    {
        this->label1->Invoke(gcnew Action<int>(this, &Form1::Add_point_x), i);
        Thread::Sleep(10);
    }
}
 
public: void Add_point_x(int i)
{
    this->label1->Location = Point(i + 25, 25);
}
 
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e)
{
    Thread^ t1 = gcnew Thread( gcnew ThreadStart( this, &Form1::Filling_listbox ));
    Thread^ t2 = gcnew Thread( gcnew ThreadStart( this, &Form1::Moving_label ));
    //
    t1->Start();
    t2->Start();
}
Вложения
Тип файла: rar thread_test.rar (673.0 Кб, 5 просмотров)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru