|
Димон856
|
||||||
Как сделать динамический график17.05.2012, 11:24. Показов 8821. Ответов 32
Метки нет (Все метки)
Здравствуйте, помогите решить проблему ? плииз с COM порта идут данные строиться статичный график как сделать чтоб он отрисовывался в постоянном режиме (в динамике )???
вот прога
|
||||||
| 17.05.2012, 11:24 | |
|
Ответы с готовыми решениями:
32
Динамический график на канве
|
|
Пишу на Delphi...иногда
|
|
| 06.07.2013, 18:53 | |
|
1
|
|
|
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
|
|
| 06.07.2013, 19:32 | |
|
@Mawrat, Попробовал и такой вариант и с перерисовкой. Разницы не заметил. Использовал вариант murderer. Мой же вариант (я напрямую в Image рисовал и сдвигал) - отрабатывает медленно и при перерисовке и при сдвиге.
1
|
|
|
11 / 11 / 0
Регистрация: 29.06.2013
Сообщений: 93
|
|
| 05.08.2013, 13:24 | |
|
Окончание программы выбрано: компонент THeartMachine
( http://www.torry.net/vcl/indic... achine.zip ) или компонент PlotLab (от http://www.delphipages.com/com... -5953.html , бесплатно для некоммерческого использования). Помогли http://expert.delphi.int.ru/qu... mini_forum . Теперь вернёмся к началу: получение данных из USB 1.1, USB 2.0 со скоростью, ну к примеру, 9600 бод. Это умеем?
0
|
|
|
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
|
|
| 05.08.2013, 13:31 | |
|
Пользуйся поиском в разделе:
Работа с портами, например USB
1
|
|
|
|
|
| 06.08.2013, 03:09 | |
Сообщение было отмечено как решение
Решение
Вообще, GDI устарел давно и рисуют сейчас везде при помощи GDI+. Для .Net он родной, а вот всем остальным приходится приспосабливаться. Лично я для себя нашёл способ использовать всю мощь GDI+ для быстрой прорисовки качественной графики, но это не так просто объяснить для тех, у кого мало опыта.
Правильно рисовать на PaintBox, т.к. у него можно отменить мигание специальной настройкой ControlStyle. Вроде бы у Image нет такой возможности (точно не помню почему). Исходники: https://mysvn.ru/cop/portfolio... illations/ Правда там они ещё не совсем подкрученные по быстродействию, не хватает двойной буферизации, которую я добавил позже, но репозиторий не обновил. Существует два модуля заголовочников, которые поддерживают GDI+ для Delphi, один для старых версий, другой для новых. В этом примере для Delphi 7 используется GDI+ API с сайта www.progdigy.com, который похоже загнулся.
3
|
|
|
11 / 11 / 0
Регистрация: 29.06.2013
Сообщений: 93
|
|
| 08.08.2013, 00:02 | |
|
Спасибо. А где в gdiplus пояснительная записка? После распаковки gdiplus.zip с первого взгляда даже не вижу, чего запускать.
0
|
|
|
|
|
| 08.08.2013, 03:30 | |
|
Пояснительная записка находится в MSDN и примерах на VC++, так как MS не поддерживает порт на дельфях. От себя могу дать демо-проект, который показывает как можно использовать разные вещи из GDI+ в Delphi 7. Это те же примеры из предыдущего архива, но оформленные в виде приложения с формой. В тех примерах голый WinAPI используется, что может вводить в ступор неопытных товарищей.
Смотрите исходники примеров, там есть много чего, что поясняет использование GDI+. Остальное поиском в сети.
1
|
|
|
11 / 11 / 0
Регистрация: 29.06.2013
Сообщений: 93
|
||||
| 12.08.2013, 21:33 | ||||
|
В
Добавлено через 3 минуты В GDIPlusExample.zip чего-то отсутствует: [Fatal Error] UnitMain.pas(7): File not found: 'GDIPAPI.dcu' Добавлено через 1 минуту Добавлено через 1 минуту Так все-же как запустить
0
|
||||
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|||
| 12.08.2013, 21:42 | |||
|
0
|
|||
|
|
|
| 13.08.2013, 00:52 | |
|
Чтобы это всё запустить предполагается некоторый опыт у того, кто понимает что это такое и для чего нужно. Я приложил все исходники и их достаточно для сборки обоих проектов. Нужно просто "уметь их готовить". Модули GDIPlus я рекомендовал бы положить в папку Borland в Program Files, чтобы не потерять и было рядом с программой. В Delphi нужно прописать путь к этим модулям. При первой сборке любого проекта, который на них ссылается, единицы компиляции dcu будут собраны (точно не помню, но это может быть долго в первый раз).
Что касается языков программирования, то я пояснил, что вы не сможете что-то писать с использованием GDI+ без того, чтобы не смотреть примеры на C++, так как все примеры в основном написаны на этом языке. Я бы даже рекомендовал в этом случае использовать C++ Builder вместо Delphi, чтобы мозг не вывернуть при портировании с одного языка на другой. Я предупреждал, что пользоваться этим инструментарием можно только если у вас есть опыт работы в Delphi. Поверьте, что для человека с небольшим опытом это будет большой головоломкой.
0
|
|
|
11 / 11 / 0
Регистрация: 29.06.2013
Сообщений: 93
|
|
| 13.08.2013, 17:25 | |
|
Так это и есть "для начинающих". Попробуйте объяснять например так:
0
|
|
|
11 / 11 / 0
Регистрация: 29.06.2013
Сообщений: 93
|
|
| 13.08.2013, 17:28 | |
|
0
|
|
| 13.08.2013, 17:28 | |
|
Помогаю со студенческими работами здесь
33
Динамический График своими руками Как сделать вывод на график в компонент tchart Как сделать, чтобы график рисовался в реальном времени? Как сделать график по заданной формуле написанной в эдите Как сделать рандомный массив и вывести его значения через график Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов,
содержащихся в реализации модуля. По-умолчанию все члены модуля доступны:
module Foo
let x = 10
let boo () = printfn "boo"
. . .
|
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible". . .
|
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов.
import "math"
func angleClock(hour int, minutes int) float64 {
. . .
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|