Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Fortran > [Tools] Пример интерфейса средствами CVF


Автор: popovda 8.7.2006, 16:13
Привет! У кого-нибудь есть простой пример(ы) создания интерфейса на CVF.
Интересует вывод графика и пара кнопок. Спасибо. 

Автор: Cr@$h 9.7.2006, 00:05
Сам пробовал писать под IVFC, но сейчас этим не балуюсб -- смотрю в сторону многоязыкового программирования.

Можно посмотреть пример при создании нового проекта CVF. Там какой-то скелет кода да и имеется.

Некоторые примеры лежат в папке C:\Program Files\...\Array Visualizer\Samples. Там, естественно, используются средства AV и кнопочки имеются.

Вышла книга В. В. Васильченко "FORTRAN. Программирование Windows-приложений на языке FORTRAN. Элементы управления и графика Windows". Пару слов о ней я говорил в новостной теме по http://forum.vingrad.ru/index.php?showtopic=48129&view=findpost&p=653758 (хорошо бы темку закрепить, да не хочу злоупотреблять полномочиями, ведь форум то общий...).

В том же посте указана http://els.donpac.ru/usr/golub/fortran/FClub.html на сайт автора книга. Вот там можно порезвиться в поиске интересующих примеров по визуальному программированию. Собственно, автор этим и занимается, как я понимаю. На сайте, похоже, имеется часть материала книги на английском.

Ещё есть книга Бартеньева "Visual Fortran: новые возможности". Она, вообщето, по Digital Fortran, но это нормально. В сети нашёл только http://aleria.net/0/0/4/4/3/8/F/42781defff86dce4dc5ca3fdcbfb2f8b. Имею эту книгу в pdf'е (22 мб) -- могу скинуть на мыло, мне несложно. Хотя стоп! Создам ка общую папку по http://www.esnips.com/web/Fortran. Там и буду выкладывать всё время от времени. Приглашение уже у тебя на мыле. Начну закачивать в эту папку указанную книгу. Если надо, сливай. 

Автор: popovda 10.7.2006, 19:27
Спасибо. А Бартеньевская книга про Фортран и OpenGL есть? Нигде не могу найти.
Я тоже считаю, что интерфейс лучше писать например на C++. Пару примеров бы таких программ, где
к интерфейсу на C++ подключается  библиотека на Фортране или наоборот, библиотека на C++ с интерфейсом 
(по типу AViewer'а) подключается к проге на Фортране. И еще. Получился у меня интерфейс. Доработаю и выложу.
Приятно, но без полноценного ООП неудобно. 

Автор: Cr@$h 10.7.2006, 20:46
Цитата(popovda @  10.7.2006,  20:27 Найти цитируемый пост)
Бартеньевская книга про Фортран и OpenGL есть? Нигде не могу найти.

Сам искал: есть только Visual и Современный фортран smile.

Цитата(popovda @  10.7.2006,  20:27 Найти цитируемый пост)
Я тоже считаю, что интерфейс лучше писать например на C++. Пару примеров бы таких программ, где к интерфейсу на C++ подключается  библиотека на Фортране или наоборот, библиотека на C++ с интерфейсом (по типу AViewer'а) подключается к проге на Фортране. 

На самом деле достаточно понять как вызывать в том же C++ фортрановские процедуры. А какое это C++ приложение: консольное или виндовское, уже не важно. В второй вариант почти такой же. Хотя сишные процедуры из фортрана я ещё не пробовал вызывать.
Я напишу, пожалуй, отдельную тему с прмером вызова фортрановских библиотек (DLL) из C++. Сам хочу студентам методичку написать про это...

Цитата(popovda @  10.7.2006,  20:27 Найти цитируемый пост)
Получился у меня интерфейс. Доработаю и выложу.

 smile Посмотрим.

Цитата(popovda @  10.7.2006,  20:27 Найти цитируемый пост)
Приятно, но без полноценного ООП неудобно.

Потому или ждать F03, или писать интерфейс на C++/C# и т.д. F66-95, ИМХО, не предназначены для комфортного написания виндовского интерфейса. 

Автор: popovda 10.7.2006, 21:50
Ага. Но не только виндовского. Я бы на QT4 + gcc + OpenGL кросс наварганил бы. В принципе ясно, что больших сложностей не должно быть, но идея у меня такова:
хочется иметь библиотеку для работы с графикой и интерфейсом их вывода на cpp, а программы писать на Ф95 не особо заморачиваясь. Хотя может наоборот и проще - библиотека с чис. методами на Ф95, а интерфейс как основная программа на cpp. Тут думать надо.
Кстати что мне в CVF понравилось, так это возможность создавать область вывода графики в реальных вещественных координатах. Надо вывести точку, скажем, (-2.75,pi) - пишешь
res = setpixel_w(-2.75,pi) и все. А если сделаешь эту методичку - жду! 

Автор: Cr@$h 11.7.2006, 03:48
Цитата(popovda @  10.7.2006,  22:50 Найти цитируемый пост)
 А если сделаешь эту методичку - жду!  

Когда ещё...  smile 
Я лучше пока напишу в отдельной http://forum.vingrad.ru/index.php?showtopic=103595&view=findpost&p=786511, как вызывать процедуры DLL, написанные на Fortran, в программе С++. Там уже используется материал одного малотиражного пособия. Это поможет подрубать Fortran к виндовской проге С++. Хоть что-то.

Цитата(popovda @  10.7.2006,  22:50 Найти цитируемый пост)
Но не только виндовского. Я бы на QT4 + gcc + OpenGL кросс наварганил бы.

А, вот здесь у меня опыта совсем нет. Можно также обмениваться через динамические библиотеки, вернее в Linux через общие, или совместно используемые библиотеки, shared libraries (библиотеки коллективного доступа; всё по Lingvo smile). Могу посоветовать почитать некоторую информацию из руководства по ftp://download.intel.com/support/performancetools/fortran/linux/v9/fortran_linux_docs.zip. В разделе Building Applications тебя должны заинтересовать глава Programming with Mixed Languages, глава Creating and Using Libraries и пункт Creating Shared Libraries в главе Building Applications from the Command Line. Для IVFC в ftp://download.intel.com/support/performancetools/fortran/windows/v9/ifort_doc.zip тоже есть аналогичная инфа. Хотя, капаться там не перекопаться. smile 

Цитата(popovda @  10.7.2006,  22:50 Найти цитируемый пост)
Кстати что мне в CVF понравилось, так это возможность создавать область вывода графики в реальных вещественных координатах. Надо вывести точку, скажем, (-2.75,pi) - пишешь res = setpixel_w(-2.75,pi) и все. 

Да, в OpenGL так тоже можно. С другой строны координаты на мониторе только целочисленные  smile Забавно всё это. У меня тоже бывали случаи, когда использовал вещественные координаты в OpenGL. Естественно, хорошо бы всё в целых делать, если возможно. Помню окружность в целых строил и только с операциями над целыми.

Цитата(popovda @  10.7.2006,  22:50 Найти цитируемый пост)
В принципе ясно, что больших сложностей не должно быть, но идея у меня такова:
хочется иметь библиотеку для работы с графикой и интерфейсом их вывода на cpp, а программы писать на Ф95 не особо заморачиваясь. Хотя может наоборот и проще - библиотека с чис. методами на Ф95, а интерфейс как основная программа на cpp. Тут думать надо.

Чтобы сильно не оффтопить smile , по вопросам создания графических библиотек вообще и обсуждению концепций предлагаю перейти в отдельную тему. Уже http://forum.vingrad.ru/index.php?showtopic=103596&view=findpost&p=786512. 

Автор: Cr@$h 26.7.2006, 20:58
Цитата(Cr@$h @  9.7.2006,  01:05 Найти цитируемый пост)
Ещё есть книга Бартеньева "Visual Fortran: новые возможности". Она, вообщето, по Digital Fortran, но это нормально. В сети нашёл только это. Имею эту книгу в pdf'е (22 мб) -- могу скинуть на мыло, мне несложно. Хотя стоп! Создам ка общую папку по Fortran. Там и буду выкладывать всё время от времени. Приглашение уже у тебя на мыле. Начну закачивать в эту папку указанную книгу. Если надо, сливай. 

Golden Hands, http://forum.vingrad.ru/index.php?showtopic=56761&view=findpost&p=804532 ещё ссылку на http://openlib.org.ua/index.php?more=1&book_id=181. 

Автор: Cr@$h 16.9.2006, 01:43
Цитата(popovda @  10.7.2006,  20:27 Найти цитируемый пост)
А Бартеньевская книга про Фортран и OpenGL есть? Нигде не могу найти.

Golden Hands http://forum.vingrad.ru/index.php?showtopic=56761&view=findpost&p=856209. ++

Автор: popovda 19.9.2006, 18:55
Кстати. Был недавно на семинаре по Matlab'у. Там демонстрировали как сделать на  нем выполняемую программу, работающую без Matlab'а и я понял, что графический интерфейс на нем можно сделать быстрее и удобнее, чем на чем-либо еще. Разбираюсь. А к проге на Ф90/95/03 ее можно подрубить с помощью COM-объекта или shared lib. (если под линухом).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)