Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/103: Рейтинг темы: голосов - 103, средняя оценка - 4.76
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352

Как нарисовать окружность в заданных координатах

27.06.2012, 08:23. Показов 21117. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
возникла проблема нарисовать окружность в нужном месте, а именно с координатами, как выбирать их где центр???
Visual Basic
1
Circle (X,Y), R, vbRed
Ну радиус понятно допустим R=4, цвет возьмем красный!
И второй вопрос при определенном условии у меня в Label1 появляется 1 и тут же время, когда это произошло. Как сделать что в следующий раз при этом же условии появлялась таже 1 и другое время, но предыдущее не стиралось и т.д., т.е. почти как таблица. Создается как бы история и допустим после 10 событий, последние стирались, а наверх новое записывалось...
Заранее благодарен...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.06.2012, 08:23
Ответы с готовыми решениями:

Как нарисовать окружность с заданными координатами центра в полярных координатах?
Как нарисовать окружность с заданными координатами центра в полярных координатах? Например:

Определить, можно ли в многоугольник с вершинами в заданных координатах вписать окружность
требуется написать программу которая определяет можно ли в многоугольник с вершинами в заданных координатах вписать окружность, и если...

С мышью MouseDown и MouseMove нарисовать объекты в заданных координатах
У меня в одной из программок нормально работает в Visual Basic Net: Procedure Sub me_MouseDown(Sender As object,e ....) Handles...

8
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
27.06.2012, 09:23
Цитата Сообщение от Техник55 Посмотреть сообщение
как выбирать их где центр?
Х и Y это и есть координаты центра, но по умолчанию х=0 и у=0 находятся в левом верхнем углу формы, но это можно изменить так:
Visual Basic
1
2
3
Scale (-10, -10)-(10, 10)
X = 0: Y = 0: r = 4
Circle (X, Y), r, vbRed
Добавлено через 14 минут
Цитата Сообщение от Техник55 Посмотреть сообщение
Как сделать что в следующий раз при этом же условии появлялась таже 1 и другое время, но предыдущее не стиралось и т.д., т.е. почти как таблица.
На форме Таймер И Label.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim a As Integer
 
Private Sub Form_Load()
    Timer1.Interval = 200
    Timer1.Enabled = True
    Label1.Caption = ""
    Label1.AutoSize = True
End Sub
 
Private Sub Timer1_Timer()
    If a >= 10 Then Label1.Caption = "": a = 1 Else a = a + 1
    Label1.Caption = Label1.Caption & "1" & "   " & Time & vbCrLf
End Sub
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
27.06.2012, 11:32
Про координаты: имей в виду, что если у тебя единица - твип (что есть по-умолчанию), то радиус 4 - это почти точка (твип - очень мелкая величина). Для задания разумных координат используй Scale

Про историю. Метка (Label) в данном случае неудобна. Список (List) гораздо удобнее. При возниконвении события просто пишешь строчку кода:

Visual Basic
1
Me.List1.AddItem "Нужный_текст"
Он допишется в конец списка.
1
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
28.06.2012, 08:58  [ТС]
C начало про окружность:
1) Пишу так:
Visual Basic
1
2
3
4
5
6
Private Sub Form_Load()
Dim X as Integer, Y as Integer,r as Integer
Scale (-10, -10)-(10, 10)
X = 0: Y = 0: r = 4
Circle (X, Y), r, vbRed
End Sub
Запускаю но ничего на форме нет...
Я так понимаю Scale-это масштабирование, но масштабирование чего? Или я задаю таким образом площадь в котором будет располагаться окружность???
А Х и У-это центр в нутри этой площади???
Или другая мысль: что когда я задаю r=4 (а по умолчанию НАВЕРНО у меня в твипах), то Scale у меня как раз должна увеличить мои r=4 на заданную величину, что было видно круг (а не точку)??? Ну и тогда как мне брать Х и У чтобы он был там где мне надо, а не в верхнем левом углу. Допустим если хочу в центре формы, у меня получаются вот такие координаты (2000;2500)-это нормальные. В общем я с этими величинами запутался!!!

2)
Visual Basic
1
Me.List1.AddItem "Нужный_текст"
Это действительно лучше чем Label брать.
Вот только можно интересно чтобы в этом листе было не больше 10 записей: что-то типа первая запись пришла последняя вышла!!!??? А то это замучаешься прокручивать весь лист, да и желательно чтобы она была первой а не последней...
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
28.06.2012, 09:40
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub Command1_Click()
Dim i%
i = List1.ListCount - 1
Do While i > 0
List1.List(i) = List1.List(i - 1)
i = i - 1
Loop
List1.List(0) = Time
End Sub
 
Private Sub Form_Load()
Me.AutoRedraw = True
Dim X As Integer, Y As Integer, r As Integer
Scale (-10, -10)-(10, 10)
X = 0: Y = 0: r = 3
Circle (X, Y), r, vbRed
For i = 0 To 9
List1.AddItem ""
Next
End Sub
1
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
28.06.2012, 09:57
Цитата Сообщение от Техник55 Посмотреть сообщение
Запускаю но ничего на форме нет..
Visual Basic
1
2
3
4
5
6
7
8
Private Sub Form_Load()
Dim X As Integer, Y As Integer, r As Integer
     Me.Show 
     Me.AutoRedraw = True
     Scale (-10, -10)-(10, 10)
     X = 0: Y = 0: r = 4
     Circle (X, Y), r, vbRed
End Sub
Добавлено через 2 минуты
Цитата Сообщение от Техник55 Посмотреть сообщение
что-то типа первая запись пришла последняя вышла!!!
Visual Basic
1
2
3
4
Private Sub Timer1_Timer()
    List1.AddItem Time
    If List1.ListCount > 10 Then List1.RemoveItem 0
End Sub
1
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
01.07.2012, 09:04  [ТС]
Подскажите Х и У можно задавать только целые:1, 2, 3, 4...
просто хотелось бы с десятыми задавать: 1,5; 2,6; итд, чтобы окружность была в нужном месте на плоскости....
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
01.07.2012, 09:21
Если задали координаты с помощью Scale, то числа могут быть и дробными
0
7 / 7 / 1
Регистрация: 11.06.2012
Сообщений: 352
01.07.2012, 10:04  [ТС]
Все разобрался, просто я переменные задавал Integer, вот они у меня и округлялись. Щас все в норме.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.07.2012, 10:04
Помогаю со студенческими работами здесь

Как нарисовать окружность?
Здравствуйте! Подскажите как нарисовать единичную окружность. В ВБ6 через метод scale размечался ПБ а в ВБ 2010 этот метод работает по...

Как нарисовать окружность
Подскажите, пожалуйста, как нарисовать окружность в Microsoft Visual C++ .:thank_you:

Как нарисовать окружность?
Как нарисовать окружность?

Как нарисовать окружность
Привет! срочно нужна помощь!!! Нужно нарисовать окружность с задаваемым радиусом и эксцентриситетом радиус вычисляется по формуле...

Как нарисовать окружность?
Не могу понять как нарисовать примитивный круг с заданными координатами, радиусом и толщиной. Большая просьба, объясните непросвещённому,...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru