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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.09.2011, 13:33   #1
IIUH
Пользователь
 
Регистрация: 02.08.2011
Сообщений: 35
По умолчанию сохранить/открыть график DBChapt

всем доброго времени суток! собственно сабж. сохранаю график в метафайл вот таким образом:

Код:
if SaveDialog1.Execute then
DBChart1.SaveToMetafile(SaveDialog1.FileName);
сохраняет всё отлично, а вот как загрузить этот файл, что-то никак не могу ни сообразить ни в гугле найти....

понимаю что там всё просто и делов-то 2 строки прописать, что-то вроде

if OpenDialog1.Execute then
DBChart1.OpenFromMetafile(OpenDialo g1.FileName);

но конкрено в таком виде не работает.

заранее благодарен.
IIUH вне форума Ответить с цитированием
Старый 17.09.2011, 15:02   #2
JuniorProger
Форумчанин
 
Регистрация: 16.09.2011
Сообщений: 114
По умолчанию

Вроде бы код с опечатками. Может в этом причина?
JuniorProger вне форума Ответить с цитированием
Старый 17.09.2011, 15:03   #3
Surgeon
Форумчанин
 
Регистрация: 04.10.2007
Сообщений: 106
По умолчанию

Цитата:
Сообщение от IIUH Посмотреть сообщение
понимаю что там всё просто и делов-то 2 строки прописать, что-то вроде
if OpenDialog1.Execute then
DBChart1.OpenFromMetafile(OpenDialo g1.FileName);
но конкрено в таком виде не работает.
заранее благодарен.
Метафайл (WMF) - это растровая графика и "обратно" в CHart загружен быть не может.
Все не так плохо, как вам кажется, на самом деле все гораздо хуже.
http://delphiworld.narod.ru/dw.html - 5000 статей!!! удобный поиск, оффлайн сборник, рекомендую всем
Surgeon вне форума Ответить с цитированием
Старый 17.09.2011, 15:07   #4
IIUH
Пользователь
 
Регистрация: 02.08.2011
Сообщений: 35
По умолчанию

Цитата:
Сообщение от JuniorProger Посмотреть сообщение
Вроде бы код с опечатками. Может в этом причина?
собственно говоря я не знаю как написать загрузку, потому и написал топ.

Цитата:
Сообщение от Surgeon Посмотреть сообщение
Метафайл (WMF) - это растровая графика и "обратно" в CHart загружен быть не может.
вот это уже по делу. а через что можно открыть? и что мы сможем увидеть при открытии?

Последний раз редактировалось Stilet; 17.09.2011 в 17:26.
IIUH вне форума Ответить с цитированием
Старый 17.09.2011, 17:12   #5
Surgeon
Форумчанин
 
Регистрация: 04.10.2007
Сообщений: 106
По умолчанию

Цитата:
Сообщение от IIUH Посмотреть сообщение
вот это уже по делу. а через что можно открыть? и что мы сможем увидеть при открытии?
Через наверное любой графический редактор/просмотровщик.
Увидим "очаг папы Карло" - это будет аналог скриншота, только обасти Chart'a а не всего окна.

А вообще зачем загружать его назад? Не могу придумать применения.
График то создается по данным из базы. Если они там есть его можно воспроизвести, а если часть записей поудаляли то и график неактуальный.
Если так уж надо его повторно отрисовать, то может сохранять текст запроса по данным из которого создавался график в текстовый например файл, затем считывать его- выполнять - строить график по новой.

Не фтыкаю все равно.
Все не так плохо, как вам кажется, на самом деле все гораздо хуже.
http://delphiworld.narod.ru/dw.html - 5000 статей!!! удобный поиск, оффлайн сборник, рекомендую всем
Surgeon вне форума Ответить с цитированием
Старый 17.09.2011, 19:15   #6
IIUH
Пользователь
 
Регистрация: 02.08.2011
Сообщений: 35
По умолчанию

в общем задача сохранить график так, чтобы его можно было открыть и посмотреть координаты точки тыкнув мышкой в нужную точку. график может иметь очень большой размер, по этому, собственно говоря, сохранить изображение - не вариант. сохранить текстовым файлом и уже из текста отрисовывать не устраивает как вариант.

можно же сохранить график, допустим, как файл .dat? программа написанная на си сохраняет в подобном формате и читает из этого файла все необходимые данные.
IIUH вне форума Ответить с цитированием
Старый 17.09.2011, 19:38   #7
Surgeon
Форумчанин
 
Регистрация: 04.10.2007
Сообщений: 106
По умолчанию

Цитата:
Сообщение от IIUH Посмотреть сообщение
в общем задача сохранить график так, чтобы его можно было открыть и посмотреть координаты точки тыкнув мышкой в нужную точку.
Еще раз - эти данные остаются в базе в неизменном виде? речь же о БД правда?
Если данные не изменяются и график типовой - то проще его строить каждый раз по клику на основеданных хранящихся в базе.

Если данные изменяются и нужно например посмотреть состояние на вчера - можно писать во временную таблицу в той же базе.
Если график долго и нудно настраивается пользователем (типа а что у нас было в период с 5-го на 10-е, по утрам) то можно хранить эти настройки (условия SQLзапроса) тоже в базе.
Если график нужно смотреть на другой машине - то нужен промежуточный файл.
Цитата:
Сообщение от IIUH Посмотреть сообщение
график может иметь очень большой размер,
Имеется в виду количество точек или разброс значений?
Цитата:
Сообщение от IIUH Посмотреть сообщение
сохранить текстовым файлом и уже из текста отрисовывать не устраивает как вариант.
Речь шла о сохранении текста SQL по которому был построен график, если данные статичны, то повторное выполнение запроса даст те же результаты ->тот же график.
Цитата:
Сообщение от IIUH Посмотреть сообщение
можно же сохранить график, допустим, как файл .dat? программа написанная на си сохраняет в подобном формате и читает из этого файла все необходимые данные.
dat dat'у рознь, это по сути тоже текстовый файл.
Вообще лучше описать предметную область, хоть вкратце, это же не военная тайна?
Все не так плохо, как вам кажется, на самом деле все гораздо хуже.
http://delphiworld.narod.ru/dw.html - 5000 статей!!! удобный поиск, оффлайн сборник, рекомендую всем
Surgeon вне форума Ответить с цитированием
Старый 17.09.2011, 19:54   #8
IIUH
Пользователь
 
Регистрация: 02.08.2011
Сообщений: 35
По умолчанию

количество точек, хотя и разброс может быть большим, но это вперспективе.

вобщем программа для снятия данных с весов. программа может работать часами, а может и сутками. по желанию "заказщика" сделано то, что график по наведению курсора выдаёт значение в данной точке (имхо ненужная деталь, но всё же

теперь необходимо сохранить график, вот я и сам не знаю чем их не устраивает вариант с набором значений и кнопкой "нарисовать по данным значениям график", но тут, как говорится, врач сказал в морг - значит в морг.

один умный человек посоветовал записывать лог-файл для графика и по нему уже в дальнейшем строить график при необходимости строить график из лога....
IIUH вне форума Ответить с цитированием
Старый 17.09.2011, 20:08   #9
Surgeon
Форумчанин
 
Регистрация: 04.10.2007
Сообщений: 106
По умолчанию

Цитата:
Сообщение от IIUH Посмотреть сообщение
количество точек, хотя и разброс может быть большим, но это вперспективе.
ИМХО лучше хранить в той же базе.
Цитата:
Сообщение от IIUH Посмотреть сообщение
вобщем программа для снятия данных с весов. программа может работать часами, а может и сутками. по желанию "заказщика" сделано то, что график по наведению курсора выдаёт значение в данной точке (имхо ненужная деталь, но всё же
Весы случаем не в лаборатории?
Вообще да, деталь ненужная, при уже >1000 измерений любопытный пользователь не сможет ткнуть в точку без зума.
И как бы вопрос - нафиг график? Если есть интерес поднять какую-то запись - надо знать её дату и время, это лучше в таблице смотреть.
Цитата:
Сообщение от IIUH Посмотреть сообщение
теперь необходимо сохранить график, вот я и сам не знаю чем их не устраивает вариант с набором значений и кнопкой "нарисовать по данным значениям график", но тут, как говорится, врач сказал в морг - значит в морг.
Да-а-а заказчики они такие заказчики...
Цитата:
Сообщение от IIUH Посмотреть сообщение
один умный человек посоветовал записывать лог-файл для графика и по нему уже в дальнейшем строить график при необходимости строить график из лога....
Крутой пассаж...
Вообще там база-то в моем представлении должна содержать буквально 1 таблицу со структурой:
1. ИД записи
2. Дата замера
3. Время замера
4. Результат замера
Если так нужен этот график то обновлять его не по кнопке а по событию Insert набора данных.
Всеж не пойму зачем график тогда куда-то сохранять? Данные-то на месте.
Все не так плохо, как вам кажется, на самом деле все гораздо хуже.
http://delphiworld.narod.ru/dw.html - 5000 статей!!! удобный поиск, оффлайн сборник, рекомендую всем
Surgeon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Делфи: сохранить график из TChart в BMP Krendel' Помощь студентам 9 21.01.2011 16:16
Открыть Сохранить Cpluser Общие вопросы по Java, Java SE, Kotlin 2 02.05.2010 23:47
Как сохранить нарисованный график в JPG файл Ark Мультимедиа в Delphi 13 03.04.2009 15:41
SOS. Не могу открыть, сохранить док.ворд 2007 ola-ola Microsoft Office Word 3 17.03.2009 21:57
Как открыть и сохранить mp3 файл в delphi? Rahim1993 Мультимедиа в Delphi 2 03.01.2008 12:55