Member
Статус: Не в сети Регистрация: 14.01.2004 Откуда: Киев, Украина
Блин дошло дело до таких глюков: если юзать win.xp res файл и listview с включенным ViewStyle := vsReport, то вылетает ексепшн, тупость, гипертупость. Может знает кто, как этого избежать?
Member
Статус: Не в сети Регистрация: 14.08.2003 Откуда: Питер
Возможно ли в компоненте TChart применить для просмотра графика горизонтальный ScrollBar? Просто я в Чарте рисую импульсы, а их колличество может достичь более сотни а сплющеные импульсы меня не устроят. Поэтому и нужна прокрутка и фиксированные длины импульсов.
Member
Статус: Не в сети Регистрация: 14.08.2003 Откуда: Питер
Как в Chart сохранить график функции в файл BMP? Процедура вроде есть, но как сделать - непонятно...
Добавлено спустя 2 часа, 30 минут, 57 секунд: Отвечаю на свой же вопрос:
Код:
Сохранить график можно как: Chart1.SaveToBitmapFile();
Но есть более продвинутое решение с использованием метафайла и диалога сохранения:
Код:
SavePictureDialog.DefaultExt := GraphicExtension(TMetafile); SavePictureDialog.Filter := GraphicFilter(TMetafile); if SavePictureDialog.Execute then DBChart.SaveToMetafileEnh(SavePictureDialog.FileName);
Но вот что надо прописать в юните, чтобы этот код заработал?
Member
Статус: Не в сети Регистрация: 06.02.2004 Откуда: Москва
Прошу помощи... Мне надо реализовать обратную польскую запись... Допустим, есть Edit1, из него надо считать инфу, преобразовать в ОПЗ с использованием стека... Саму последовательность действий я понял, но как создать стек в Delphi, как перевести из Edita в стек. Очень прошу помочь... Киньте в меня ссылкой, если это обсуждалось.
ЗЫ delphi я изучаю меньше года, просьба не обвинять меня в ламеризме, я и сам это знаю...
Member
Статус: Не в сети Регистрация: 15.04.2004 Откуда: Москва
GEG Стек ты можешь создать самому или использовать TList или один из его наследников. Стек определяет, что доступ к элементам осуществляется по LIFO (Last In - First Out). Пример стековой структуры:
var MyStack : PStatckItem; .... procedure Push(aItem: Pointer); var NewStackItem: PStatckItem; begin NewStackItem := new (PStackItem); NewStackItem^.Item := aItem if MyStack = nil then begin MyStack := NewStackItem; MyStack^.prev := nil; end else begin NewStackItem^.prev := MyStack; MyStack := NewStackItem; end; end;
function Pop: Pointer; var OldStackItem: PStackItem; begin result := nil; if MyStack <> nil then begin result := MyStack^.Item; OldStackItem := MyStack; MyStack := MyStack^.prev; Dispose(MyStack); end; end;
type TForm1 = class(TForm) private PStatckItem = ^TStatckItem; TStatckItem = record prev: PStatckItem; Item: Pointer; end;
MyStack : PStatckItem;
{ Private declarations } public { Public declarations } end;
var Form1: TForm1; MyStack : PStatckItem;
implementation
{$R *.dfm}
procedure Push(aItem: Pointer); var NewStackItem: PStatckItem; begin NewStackItem := new (PStackItem); NewStackItem^.Item := aItem if MyStack = nil then begin MyStack := NewStackItem; MyStack^.prev := nil; end else begin NewStackItem^.prev := MyStack; MyStack := NewStackItem; end; end;
function Pop: Pointer; var OldStackItem: PStackItem; begin result := nil; if MyStack <> nil then begin result := MyStack^.Item; OldStackItem := MyStack; MyStack := MyStack^.prev; Dispose(MyStack); end; end;
Ничего больше не писал, тк он даже компиляцию не проходит... Застревает на строчке: PStatckItem = ^TStatckItem; с ошибкой...
Но если стек представить в виде:
procedure my () ; type PStatckItem = ^TStatckItem; TStatckItem = record prev: PStatckItem; Item: Pointer; end; var MyStack : PStatckItem; begin end; То все прекрано откомпилируется... PS Использую Deplhi 7...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения