Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/58: Рейтинг темы: голосов - 58, средняя оценка - 4.83
Старичок :)
 Аватар для Uinslou
728 / 315 / 5
Регистрация: 03.04.2011
Сообщений: 1,430

Создать электронные и стрелочные часы через Console.Application и выбирать их через меню

25.06.2011, 15:14. Показов 12154. Ответов 18

Студворк — интернет-сервис помощи студентам
Здравствуйте, Уважаемые форумчане !

Задача такая:

Надо создать электронные и стрелочные часы через Console.Application и выбирать их через меню. Тоесть в методе нарисовать, потом сгенерировать через массив, считать время и вывести на экран. Ну это как я понимаю. Цифры можно нарисовать любыми символами.

Помогите реализовать. Спасибо заранее
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.06.2011, 15:14
Ответы с готовыми решениями:

Возможно через Console Application создать тоже приложение, что и через Windows Form Application?
Возможно через Console Application создать тоже приложение, что и через Windows Form Application? То есть со всеми кнопками, листбоксами и...

Создать на форме меню с пунктами файл и справка и создать электронные часы, без использования Timer!
Создать на форме меню с пунктами файл и справка и создать электронные часы, при нажатии на кнопку они начинают идти с 0 м : 00 с. Добавить...

Электронные часы. Цифры реализуются графически через набор прямоугольников, а не в текстовом виде
Необходимо разработать программу, которая реализует электронные часы.Цифры реализуются графически через набор прямоугольников, а не в...

18
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
25.06.2011, 15:28
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
using System;
 
class Program
{
    static void Main(string[] args)
    {
        while (true)
        {
            Console.WriteLine(DateTime.Now);
            System.Threading.Thread.Sleep(1000);
            Console.Clear();
        }
    }
}
0
Старичок :)
 Аватар для Uinslou
728 / 315 / 5
Регистрация: 03.04.2011
Сообщений: 1,430
25.06.2011, 15:33  [ТС]
Спасибо, но это не то. Мне надо нарисовать цифры, а потом только считывать время и выводить их на экран с помощью этих цифр. Какая понял, надо в методах их нарисовать, а потом через массив выводить. Но это моё предположение.
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
25.06.2011, 15:44
А как вы собрались рисовать циферблат в консоле?
0
Старичок :)
 Аватар для Uinslou
728 / 315 / 5
Регистрация: 03.04.2011
Сообщений: 1,430
25.06.2011, 16:01  [ТС]
Мне бы хотя бы электронные сделать.

Как мне объяснил преподаватель, с помощью синусов и косинусов. Стрелочку нарисовать также, как и цифры и вперёд Это конешно один только из нюансов. Нам ещё надо берлинские часы и ещё какие-то, но не сейчас Это реально сделать, сам видел. Вот только не помню ничего к сожалению из кода. Помню немного только алгоритм электронных часов. И то частично.

Добавлено через 1 минуту
Надеюсь на Вас, так сказать

Добавлено через 25 секунд
Если это поможет, то мы работаем в SharpDevelop.
0
 Аватар для _Vladimir_
57 / 55 / 10
Регистрация: 27.07.2010
Сообщений: 279
25.06.2011, 16:36
Вот самое простое что можно сделать, а на счет стрелочных - надо подумать:
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
using System;
using System.Timers;
 
namespace ConsoleApplication5
{
    class Program
    {
        static Boolean ExitFlag = false;
 
        public static void Main()
        {
            System.Timers.Timer tmr = new System.Timers.Timer();
            tmr.Elapsed += new ElapsedEventHandler(OnTimedEvent);
            tmr.Interval = 1000;
            tmr.Enabled = true;
            while (ExitFlag == false) ;
        }
 
        public static void OnTimedEvent(object source, ElapsedEventArgs e)
        {
            ConsoleKeyInfo KeyPress;
 
            Console.Clear();
            Console.Write(DateTime.Now.ToString("h:mm:ss"));
 
            KeyPress = Console.ReadKey();
            if (KeyPress.Key == ConsoleKey.Escape)
            {
                ExitFlag = true;
            }
        }
    }
}
1
Старичок :)
 Аватар для Uinslou
728 / 315 / 5
Регистрация: 03.04.2011
Сообщений: 1,430
25.06.2011, 16:39  [ТС]
_Vladimir_, идея правильная Вот тоже самое, только сами цифры надо нарисовать. Вот например вот так:

Название: Безымянный.png
Просмотров: 1556

Размер: 10.5 Кб

Типо того. И так каждую цифру нарисовать от 0 до 9. А потом уже выводить время через них.
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8725 / 3677 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
25.06.2011, 18:02
Лучший ответ Сообщение было отмечено как решение

Решение

Как вариант рисования могу предложить такой метод:
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
47
48
49
using System;
using System.Drawing; // Add System.Drawing reference
using System.Runtime.InteropServices;
using System.Threading;
 
namespace ConsoleApplication20
{
    class Program
    {
        /// <summary>
        /// [url]http://msdn.microsoft.com/en-us/library/ms683175%28v=vs.85%29.aspx[/url]
        /// </summary>
        /// <returns></returns>
        [DllImport("kernel32.dll", SetLastError = true)]
        static extern IntPtr GetConsoleWindow ();
        /// <summary>
        /// Текущий шрифт.
        /// </summary>
        static Font _font;
 
        static void Main ( string[] args ) {
            // Текущий хэндл консольного окна
            var hWindow = GetConsoleWindow();
            
            if (hWindow == IntPtr.Zero) {
                Console.WriteLine("Invalid handle!");
                return;
            }
            // Создаем шрифт
            _font   = new Font(FontFamily.GenericMonospace, 35f);
            // Создаем таймер, который будет вызывать метод
            // TimerCallback каждую секунду
            var tmr = new Timer(TimerCallback, hWindow, 0, 1000);
 
            Console.ReadLine();
            // Запрещаем GC уничтожать объект tmr
            GC.KeepAlive(tmr);
        }
 
        static void TimerCallback (object obj) {
            using (var g = Graphics.FromHwnd((IntPtr)obj)) {
                // Очищаем экран
                g.Clear(Color.Blue);
                // Выводим текущую дату и время
                g.DrawString(DateTime.Now.ToString(), _font, Brushes.WhiteSmoke, PointF.Empty);
            }
        }
    }
}
Собственно, можете тут вытворять что хотите, как и в WinForms.
1
Старичок :)
 Аватар для Uinslou
728 / 315 / 5
Регистрация: 03.04.2011
Сообщений: 1,430
25.06.2011, 18:16  [ТС]
SSTREGG, а пример хоть с одной цифрой можете привести ? А то, что Вы написали, мы не проходили такое ещё. Хотя я немного понял
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8725 / 3677 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
25.06.2011, 18:19
Uinslou, Вы код вообще запускали? Если нет, то попробуйте. Он выводит текущую дату в консоли ни как текст, а как графику.

p.s. Добавил комментарии к коду.
0
Старичок :)
 Аватар для Uinslou
728 / 315 / 5
Регистрация: 03.04.2011
Сообщений: 1,430
25.06.2011, 18:31  [ТС]
Да, конешно. Он выдал мне 2 ошибки Спасибо. Сейчас попробую

Добавлено через 1 минуту
Всё равно выдаёт:

1. Имя типа или пространства имен 'Drawing' отсутствует в пространстве имен 'System' (пропущена ссылка на сборку?) (CS0234) - C:\Users\Uinslou\Documents\SharpDevelop Projects\Test\Test\Program.cs:2,14

2. Не удалось найти имя типа или пространства имен 'Font' (возможно, пропущена используемая директива или ссылка на сборку) (CS0246) - C:\Users\Uinslou\Documents\SharpDevelop Projects\Test\Test\Program.cs:19,24

З.Ы. Работаю в SharpDevelop.
1
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8725 / 3677 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
25.06.2011, 18:38
Лучший ответ Сообщение было отмечено как решение

Решение

Uinslou, как Вы думаете, для кого я в начале написал?
C#
1
using System.Drawing; // Add System.Drawing reference
Добавьте ссылку на сборку: System.Drawing (Menu Project -> Add Reference)
Вот код из #Develop
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
47
48
49
50
51
52
53
54
55
/*
 * Created by SharpDevelop.
 * User: SSTREGG
 * Date: 25.06.2011
 * Time: 17:33
 */
using System;
using System.Runtime.InteropServices;
using System.Drawing;
using System.Threading;
 
namespace ConsoleApp
{
    class Program
    {
        /// <summary>
        /// [url]http://msdn.microsoft.com/en-us/library/ms683175%28v=vs.85%29.aspx[/url]
        /// </summary>
        /// <returns></returns>
        [DllImport("kernel32.dll", SetLastError = true)]
        static extern IntPtr GetConsoleWindow ();
        /// <summary>
        /// Текущий шрифт.
        /// </summary>
        static Font _font;
 
        static void Main ( string[] args ) {
            // Текущий хэндл консольного окна
            var hWindow = GetConsoleWindow();
            
            if (hWindow == IntPtr.Zero) {
                Console.WriteLine("Invalid handle!");
                return;
            }
            // Создаем шрифт
            _font   = new Font(FontFamily.GenericMonospace, 35f);
            // Создаем таймер, который будет вызывать метод
            // TimerCallback каждую секунду
            var tmr = new Timer(TimerCallback, hWindow, 0, 1000);
 
            Console.ReadLine();
            // Запрещаем GC уничтожать объект tmr
            GC.KeepAlive(tmr);
        }
 
        static void TimerCallback (object obj) {
            using (var g = Graphics.FromHwnd((IntPtr)obj)) {
                // Очищаем экран
                g.Clear(Color.Blue);
                // Выводим текущую дату и время
                g.DrawString(DateTime.Now.ToString(), _font, Brushes.WhiteSmoke, PointF.Empty);
            }
        }
    }
}
3
Старичок :)
 Аватар для Uinslou
728 / 315 / 5
Регистрация: 03.04.2011
Сообщений: 1,430
25.06.2011, 19:04  [ТС]
SSTREGG, Спасибо тебе большое, разжевал всё до мелочей

Добавьте ссылку на сборку: System.Drawing (Menu Project -> Add Reference)
Я просто не понял сначала про что ты говоришь

Буду пробывать. Если что, отпишусь сюда
0
 Аватар для _Vladimir_
57 / 55 / 10
Регистрация: 27.07.2010
Сообщений: 279
25.06.2011, 20:13
Лучший ответ Сообщение было отмечено как решение

Решение

мой вариант на много примитивнее чем SSTREGG, но все же:
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
47
48
49
50
51
52
53
54
55
56
using System;
using System.Timers;
 
namespace ConsoleApplication5
{
    class Program
    {
        public static void Main()
        {
            Timer tmr = new Timer(1000);
            tmr.Elapsed += new ElapsedEventHandler(OnTimedEvent);
            tmr.Interval = 1000;
            tmr.Enabled = true;
 
            Console.CursorVisible = false;
            Console.ReadKey();
        }
 
        public static void OnTimedEvent(object source, ElapsedEventArgs e)
        {
            Console.Clear();
            
            InitClock ied = new InitClock();
            
            char[] arrTime = (DateTime.Now.ToString("hhmmss").ToCharArray());
            
            int n1 = Convert.ToInt32(arrTime[0].ToString());
            int n2 = Convert.ToInt32(arrTime[1].ToString());
            int n3 = Convert.ToInt32(arrTime[2].ToString());
            int n4 = Convert.ToInt32(arrTime[3].ToString());
            int n5 = Convert.ToInt32(arrTime[4].ToString());
            int n6 = Convert.ToInt32(arrTime[5].ToString());
 
            Console.WriteLine("{0} {1}     {2} {3}     {4} {5}", ied.dig[0, n1], ied.dig[0, n2], ied.dig[0, n3], ied.dig[0, n4], ied.dig[0, n5], ied.dig[0, n6]);
            Console.WriteLine("{0} {1}     {2} {3}     {4} {5}", ied.dig[1, n1], ied.dig[1, n2], ied.dig[1, n3], ied.dig[1, n4], ied.dig[1, n5], ied.dig[1, n6]);
            Console.WriteLine("{0} {1}  *  {2} {3}  *  {4} {5}", ied.dig[2, n1], ied.dig[2, n2], ied.dig[2, n3], ied.dig[2, n4], ied.dig[2, n5], ied.dig[2, n6]);
            Console.WriteLine("{0} {1}     {2} {3}     {4} {5}", ied.dig[3, n1], ied.dig[3, n2], ied.dig[3, n3], ied.dig[3, n4], ied.dig[3, n5], ied.dig[3, n6]);
            Console.WriteLine("{0} {1}  *  {2} {3}  *  {4} {5}", ied.dig[4, n1], ied.dig[4, n2], ied.dig[4, n3], ied.dig[4, n4], ied.dig[4, n5], ied.dig[4, n6]);
            Console.WriteLine("{0} {1}     {2} {3}     {4} {5}", ied.dig[5, n1], ied.dig[5, n2], ied.dig[5, n3], ied.dig[5, n4], ied.dig[5, n5], ied.dig[5, n6]);
            Console.WriteLine("{0} {1}     {2} {3}     {4} {5}", ied.dig[6, n1], ied.dig[6, n2], ied.dig[6, n3], ied.dig[6, n4], ied.dig[6, n5], ied.dig[6, n6]);
        }
    }
    class InitClock
    {
        //                       "  0  "   "  1  "  "  2  "  "  3  "  "  4  "  "  5  "  "  6  "  "  7  "  "  8  "  "  9  "
        public string[,] dig = {
                                {"*****",  "***  ", "*****", "*****", "*   *", "*****", "*****", "*****", "*****", "*****"},
                                {"*   *",  "  *  ", "    *", "    *", "*   *", "*    ", "*    ", "    *", "*   *", "*   *"},
                                {"*   *",  "  *  ", "    *", "    *", "*   *", "*    ", "*    ", "    *", "*   *", "*   *"},
                                {"*   *",  "  *  ", "*****", "*****", "*****", "*****", "*****", "   * ", "*****", "*****"},
                                {"*   *",  "  *  ", "*    ", "    *", "    *", "    *", "*   *", "  *  ", "*   *", "    *"},
                                {"*   *",  "  *  ", "*    ", "    *", "    *", "    *", "*   *", "  *  ", "*   *", "    *"},
                                { "*****", "*****", "*****", "*****", "    *", "*****", "*****", "  *  ", "*****", "*****"}
                               };
    }
}
4
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
25.06.2011, 23:44
Лучший ответ Сообщение было отмечено как решение

Решение

Если никто не против. Вот мои часы:
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
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
using System;
using System.Timers;
using System.Drawing;
using HWND = System.IntPtr;
using System.Runtime.InteropServices;
 
//Автор: Петррр
 
[StructLayout(LayoutKind.Sequential)]
public struct Rect
{
    public int Left;        
    public int Top;         
    public int Right;       
    public int Bottom;      
}
 
class AnalogClock
{
    static Graphics graphics;
    static Rect rect;
    static HWND hWnd;
    static Font font;
    static SolidBrush brush;
 
    [DllImport("user32.dll")]
    private static extern bool GetWindowRect(IntPtr hWnd, ref Rect rect);
 
    public static void Main()
    {
        font = new Font("Calibri", 9F, FontStyle.Regular);
        Timer timer = new Timer();
        timer.Interval = 1000;
        timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
        brush = new SolidBrush(Color.Black);
        timer.Start();
        Console.Title = "Аналоговые часы";
        Console.ReadKey(true); 
    }
    
    static void timer_Elapsed(object sender, ElapsedEventArgs e)
    {
        /*
         * Рисуем цифер блат.
         */
        
        hWnd = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle;
        graphics = Graphics.FromHwnd(hWnd);
        rect = new Rect();
        graphics.Clear(Color.White);
        GetWindowRect(hWnd, ref rect);
        int height = rect.Bottom - rect.Top;
        int width = rect.Right - rect.Left;
        int xCenter = width >> 1;
        int yCenter = (height >> 1) - 25;
        int r = 120;
        int d = 120 << 1;
        graphics.FillEllipse(new SolidBrush(Color.Red), new Rectangle(xCenter - 5, yCenter - 5, 10, 10));
        graphics.DrawEllipse(new Pen(Color.Black), new Rectangle(xCenter - r, yCenter - r, d, d));
 
        for (int i = 1; i < 61; i++)
        {
            if (i % 5 == 0)
            {
                // x = r*cos(a) + u; 
                // y = r*sin(a) + v
                Point pV = new Point((int)((r - 15) * Math.Cos((i * 6) * Math.PI / 180) + xCenter),
                                     (int)((r - 15) * Math.Sin((i * 6) * Math.PI / 180) + yCenter));
                Point pL = new Point((int)(r * Math.Cos((i * 6) * Math.PI / 180) + xCenter),
                                     (int)(r * Math.Sin((i * 6) * Math.PI / 180) + yCenter));
                graphics.DrawLine(new Pen(Color.Blue, 2), pL, pV);                
            }
            else
            {
                Point pV = new Point((int)((r - 5) * Math.Cos((i * 6) * Math.PI / 180) + xCenter),
                                     (int)((r - 5) * Math.Sin((i * 6) * Math.PI / 180) + yCenter));
                Point pL = new Point((int)(r * Math.Cos((i * 6) * Math.PI / 180) + xCenter),
                                     (int)(r * Math.Sin((i * 6) * Math.PI / 180) + yCenter));
                graphics.DrawLine(new Pen(Color.Green, 2), pL, pV);
            }
        }
        graphics.DrawString("12", font, brush, new Point(xCenter - ((int)graphics.MeasureString("12", font).Width >> 1), yCenter - r - 15));
        graphics.DrawString("6", font, brush, new Point(xCenter - ((int)graphics.MeasureString("6", font).Width >> 1), yCenter + r + 15));
        graphics.DrawString("3", font, brush, new Point(xCenter + r + 15, yCenter - ((int)graphics.MeasureString("3", font).Height >> 1)));
        graphics.DrawString("9", font, brush, new Point(xCenter - r - 15, yCenter - ((int)graphics.MeasureString("9", font).Height >> 1)));
 
        Point pNumberPos = new Point((int)((r + 15) * Math.Cos(-60 * Math.PI / 180) + xCenter), (int)((r + 15) * Math.Sin(-60 * Math.PI / 180) + yCenter));
        graphics.DrawString("1", font, brush, pNumberPos);
 
        pNumberPos = new Point((int)((r + 15) * Math.Cos(-30 * Math.PI / 180) + xCenter), (int)((r + 15) * Math.Sin(-30 * Math.PI / 180) + yCenter));
        graphics.DrawString("2", font, brush, pNumberPos);
 
        pNumberPos = new Point((int)((r + 15) * Math.Cos(30 * Math.PI / 180) + xCenter), (int)((r + 15)  * Math.Sin(30 * Math.PI / 180) + yCenter));
        graphics.DrawString("4", font, brush, pNumberPos);
 
        pNumberPos = new Point((int)((r + 15) * Math.Cos(60 * Math.PI / 180) + xCenter), (int)((r + 15) * Math.Sin(60 * Math.PI / 180) + yCenter));
        graphics.DrawString("5", font, brush, pNumberPos);
 
        pNumberPos = new Point((int)((r + 15) * Math.Cos(120 * Math.PI / 180) + xCenter), (int)((r + 15) * Math.Sin(120 * Math.PI / 180) + yCenter));        
        graphics.DrawString("7", font, brush, pNumberPos);
 
        pNumberPos = new Point((int)((r + 15) * Math.Cos(150 * Math.PI / 180) + xCenter), (int)((r + 15) * Math.Sin(150 * Math.PI / 180) + yCenter));
        graphics.DrawString("8", font, brush, pNumberPos);
 
        pNumberPos = new Point((int)((r + 19) * Math.Cos(210 * Math.PI / 180) + xCenter), (int)((r + 19) * Math.Sin(210 * Math.PI / 180) + yCenter));
        graphics.DrawString("10", font, brush, pNumberPos);
 
        pNumberPos = new Point((int)((r + 19) * Math.Cos(240 * Math.PI / 180) + xCenter), (int)((r + 19) * Math.Sin(240 * Math.PI / 180) + yCenter));
        graphics.DrawString("11", font, brush, pNumberPos);
        /*
         * Рисуем стрелки
         */
        int second = DateTime.Now.Second;
        int minute = DateTime.Now.Minute;
        int hour = DateTime.Now.Hour;
 
        int secondAngle = second * 6 - 90;
        int minuteAngle = minute * 6 - 90;
        int hourAngle = hour * 30 - 90;
 
        /* Стрелка секундная */
        graphics.DrawLine(new Pen(Color.Green, 1), new Point(xCenter, yCenter),
            new Point((int)((r - 25) * Math.Cos(secondAngle * Math.PI / 180) + xCenter),
                                     (int)((r - 25) * Math.Sin(secondAngle * Math.PI / 180) + yCenter)));
        /* Минутная стрелка */
        graphics.DrawLine(new Pen(Color.Blue, 2), new Point(xCenter, yCenter),
            new Point((int)((r - 30) * Math.Cos(minuteAngle * Math.PI / 180) + xCenter),
                                     (int)((r - 30) * Math.Sin(minuteAngle * Math.PI / 180) + yCenter)));
        /* Часовая стрелка */
        graphics.DrawLine(new Pen(Color.Red, 3), new Point(xCenter, yCenter),
            new Point((int)((r - 25) * Math.Cos(hourAngle * Math.PI / 180) + xCenter),
                                     (int)((r - 25) * Math.Sin(hourAngle * Math.PI / 180) + yCenter)));
    }
}
5
Старичок :)
 Аватар для Uinslou
728 / 315 / 5
Регистрация: 03.04.2011
Сообщений: 1,430
26.06.2011, 00:08  [ТС]
Ну в Windows.Application проще конешно сделать. А вот в консоле бы Как всё сделаю, я обязательно сюда скину.
0
 Аватар для Петррр
6721 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
26.06.2011, 00:13
А по Вашему у меня не в консоле сделано?
0
Старичок :)
 Аватар для Uinslou
728 / 315 / 5
Регистрация: 03.04.2011
Сообщений: 1,430
26.06.2011, 00:39  [ТС]
Всё, исправляюсь, действительно в консоле Не внимательно посмотрел. Drawline мы использовали просто только в Windows.Application, поэтому показалось

Петррр, Спасибо Вам огромное за помощь

Не по теме:

З.Ы. Просто уже запарился с ними, "глючит" немного :D

0
 Аватар для Пингвинчик Волл
0 / 0 / 1
Регистрация: 12.10.2015
Сообщений: 13
20.10.2015, 20:26
Что значит вот это " int d = 120 << 1; "?
Побитовое смещение ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.10.2015, 20:26
Помогаю со студенческими работами здесь

Скажите, пожалуйста, как создать стрелочные часы
Как создать стрелки, циферблат я знаю. Могу создать такие часы, используя функцию DecodeTime(), в задании нужно именно в помощью функции...

Создать электронные часы
создать эмулятор электронные часы используя циклы

создать электронные часы
Написать профамму, которая выводит на экран работающие &quot;электронные часы&quot;, которые работают в течение, например, трех минут или до тех...

Как создать сенсорные электронные часы
Как я и говорила, у меня бешеная идея, хочу создать часы электронные, чтоб были сенсерные. А что делать и с чего начать понятия не имею. ...

Стрелочные часы
Изобразить на экране работающие часы со стрелочным индикатором (3 стрелки) и индикацию в окне даты и дня недели. Прога с часами есть....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru