Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2007, 07:41   #1
aljkerh
Пользователь
 
Регистрация: 30.10.2007
Сообщений: 22
По умолчанию картинки в delphi

как зделать что бы амперметр показывал нужное значение?
т.е. я нажимаю посчитать и стрелка устанавливается на определенное значение.
у меня есть картинки со всеми значениями, пытался зделать чтоб они пролистывались как кадры, но как остановить на нужном значении.

может как-нибудь по другому зделать попробывать?
aljkerh вне форума Ответить с цитированием
Старый 30.10.2007, 07:50   #2
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

Цитата:
Сообщение от aljkerh Посмотреть сообщение
может как-нибудь по другому зделать попробывать?
Если не выходит так, то лучше идеи не встречал
Как делаете? Не секрет?
Alex21 вне форума Ответить с цитированием
Старый 30.10.2007, 07:51   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Можеш проектик свой прикрепить, ато пока не очень ясно...
Кста для такого есть спецкомпоненты, например в пакете ELdos.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.10.2007, 08:40   #4
aljkerh
Пользователь
 
Регистрация: 30.10.2007
Сообщений: 22
По умолчанию

проект - виртуальный макет для выполнения лабораторной работы.

там в принципе все просто: вводишь данные, жмешь на кнопку и амперметр (стрелочный) выводит значение.

картинки апмперметра с разным положением стрелок я сделал в один фильм (думаю зря).

проблема заключается в том как зделать чтоб было видно, что двигается только стрелка (с фильмом не вышло).

и еще при этом надо чтоб она тормозилась на нужном мне значении (т.е. если по расчетам получилось 30, то чтоб стрелка остановилась на 30mA).
aljkerh вне форума Ответить с цитированием
Старый 30.10.2007, 08:47   #5
xenon
De@l Group
Пользователь
 
Регистрация: 29.10.2007
Сообщений: 12
По умолчанию

Мда... Ищем трудностей?
Делаем картинку самого амперметра, потом рисуем стрелку на канве Image КСОРОМ, потом(когда значение поменяли) ещё раз рисуем в ЭТОМ же месте линию опять же ксором (она стирается) и рисуем на новом месте.
Итого: требуется 1 картинка и сделать зависимость значения координаты от значения амперметра.

Если захотеть, то можно сделать плавное перемещение стрелки (линии), для этого используем таймер.
xenon вне форума Ответить с цитированием
Старый 30.10.2007, 08:48   #6
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

манометр подойдет? (правда чуток недоделан, но стрелка есть)
manometr.rar
можно и спрайтами (смена картинок) сделать, если что обращайся, помогу

p.s. xenon правильно говорит, одна картинка и рисовать стрелку, дай картинку я тебе стрелку сделаю как надо
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 30.10.2007 в 08:52.
mutabor вне форума Ответить с цитированием
Старый 30.10.2007, 08:59   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот мой примерчик:

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Timer1: TTimer;
    procedure Edit1Change(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var k,i:integer;ao,bo,a,b:real;

  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Edit1Change(Sender: TObject);

begin
 if TryStrToInt(Edit1.Text,i) then begin
   a:=100*sin(i)+Width div 2;
   b:=100*cos(i)+Height div 2;
  Timer1.Enabled:=true;  k:=1;
 end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  //********** WITH **********
  with Form1.Canvas do  begin
   FillRect(BoundsRect);
   MoveTo(Width div 2,Height div 2);
   a:=100*sin(k/360)+Width div 2;
   b:=100*cos(k/360)+Height div 2;
   LineTo(round(a),round(b));
   if k<i then   inc(k,i div k) else dec(i,i div k);
   caption:=inttostr(i)+' '+inttostr(k);
   if k=i then begin
     Timer1.Enabled:=false;
   end;
  end;
  //********** END WITH ****** {}
end;

end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.10.2007, 09:53   #8
aljkerh
Пользователь
 
Регистрация: 30.10.2007
Сообщений: 22
По умолчанию

Цитата:
Сообщение от mutabor Посмотреть сообщение
манометр подойдет? (правда чуток недоделан, но стрелка есть)
Вложение 1344

p.s. xenon правильно говорит, одна картинка и рисовать стрелку, дай картинку я тебе стрелку сделаю как надо
попробуй

схемотичная картинка
Изображения
Тип файла: jpeg i.jpeg (2.4 Кб, 136 просмотров)
aljkerh вне форума Ответить с цитированием
Старый 30.10.2007, 10:17   #9
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Сугубо имхо как вариант: для каждог оположения сделать анимированный gif и в зависимости от значения показывать тот или иной gif
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 30.10.2007, 10:17   #10
aljkerh
Пользователь
 
Регистрация: 30.10.2007
Сообщений: 22
По умолчанию

Цитата:
Сообщение от xenon Посмотреть сообщение
Мда... Ищем трудностей?
Делаем картинку самого амперметра, потом рисуем стрелку на канве Image КСОРОМ, потом(когда значение поменяли) ещё раз рисуем в ЭТОМ же месте линию опять же ксором (она стирается) и рисуем на новом месте.
Итого: требуется 1 картинка и сделать зависимость значения координаты от значения амперметра.

Если захотеть, то можно сделать плавное перемещение стрелки (линии), для этого используем таймер.
спасибо за идею
попробую.
aljkerh вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Картинки... Altera Свободное общение 5 24.07.2008 05:41
Картинки Rio309 Мультимедиа в Delphi 4 10.02.2008 00:36
Картинки и CMS kirill555 PHP 3 10.12.2007 02:40
БД и картинки Constellation БД в Delphi 2 06.12.2007 15:33
Картинки Акашаев Нурлан Помощь студентам 7 25.10.2007 20:46