Halfback Как что??? Последовательно снимает галочки со всего, а потом ставит галочку туда, куда ты нажал... Можно слегка "оптимизировать", если сделать вместо For - While, добавть условие not(...Checked) и убирать галку только с найденного.
Member
Статус: Не в сети Регистрация: 14.08.2003 Откуда: Питер
All кто дружит с событиями в Delphi помогите прикрутить ScrollBar к Chart. Смысл в том, что в чарте можно установить определенное кол-во показываемых точек графика. Предположим, что всего точек 100 а на графике в окне хочу поместить 20. В Чарте есть возможность вкл. скроллинга но он работает если поместить курсор мыша на поле и зажав левую кнопку таскать график увидив при этом все точки. Так вот меня такая ситуация не радует. Поэтому хочу попросить знающих в этом толк людей прикрутить к Чарту компонент ScrollBar чтобы он откликался на события производимые мышью. Думаю обьяснил понятно.
Member
Статус: Не в сети Регистрация: 14.08.2003 Откуда: Питер
Lord_of_Darkness
Цитата:
Самый простой способ: берем ScrollBarи в событии onChange пишем: Form1.Chart1.Page:=Form1.ScrollBar1.Position;
Согласен что он простой. Но это не эстетично и более того за такое просто засмеют. Мне нужно как бы плавно исследовать график юзая ScrollBar а не дискретно при помощи Page. На самом деле если когда-нибудь столкнешься с построением длинных графиков (сигналы, их АКФ) то сам будешь биться головой как я сейчас.
type TForm1 = class(TForm) Chart1: TChart; Series1: TLineSeries; ScrollBar1: TScrollBar; procedure ScrollBar1Change(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } old:longint; end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ScrollBar1Change(Sender: TObject); begin Chart1.BottomAxis.Scroll(ScrollBar1.Position-old,true) old:=ScrollBar1.Position; end;
procedure TForm1.FormCreate(Sender: TObject); var f:array [0..900] of double; i:longint; begin for i:=0 to 900 do begin f[i]:=random(3000)*0.89; end; Chart1.Series[0].AddArray(f); old:=0; end;
Member
Статус: Не в сети Регистрация: 15.01.2004 Откуда: Чехов (МО)
Mike-L Куда уж конкретнее... В дельфи открыта екселевская книга... в екселе возможно подсчитать итоги при каждом изменении определенного столбца ("Данные"->"Итоги")... в екселевском VBA итоги считаются функцией SubTotal.... такая есть в Дельфийском модуле Excel2000... но в Екселе один из параметров выглядит как "TotalList:=Array(6)" а Дельфи на слово array - матерится
Итак, вопрос... как все-таки заставить Дельфи посчитать итоги на Екселевском листе?
_________________ Participant of the Clan ^AMD^ - Боец
In God we trust...
Member
Статус: Не в сети Регистрация: 23.09.2003 Откуда: South Ural
TResourceStream использовать достаточно накладно, лучше через winapi - последовательность типа
InfoBlock := FindResource(hInstance, resname, restype);
GlobalMemoryBlock := LoadResource(hInstance, InfoBlock);
pRes := LockResource(GlobalMemoryBlock);
pRes - указатель на загруженный ресурс
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения