What superseded XYGraph.dll? - visual-studio-2010

I am trying to get some charting and visualizations going in F#. Unfortunately, the book I am using refers to a lot of .dll files that have been superseded with the advent of Windows 7. I am using Visual Studio 2010, F# 2.0.
What would be a useful replacement for "XYGraph.dll" for doing some simple graphs of mathematical functions?
Searching MSDN does not yield any results.

I'm not familiar with "XYGraph.dll", so I'm not sure what were all the features that it had.
However, there is a MSDN section that discusses Visualizing Data with .NET Charts in F#. It covers .NET Chart Controls (available in .NET 4.0 and as a sperate download for .NET 3.5) and FSharpChart library, which is an F#-friendly wrapper for this library (as well as some other options like Excel).
The FSharpChart library seems to be the standard (and the easiest way) to visualize data from F#.
The MSDN articles include introduction and visualization of financial data.
The F# team blog also has a few articles about the library.
Additional resources & downloads can be found in Carl Nolan's blog who has been contributing to the library and manages recent releases.
As far as I know, the only big limitation of .NET Chart Controls (and FSharpChart) is that they don't work in Silverlight. I'm not sure if that was supported by XYGraph.dll

You probably want to use the new Data Visualization stuff in .NET 4. I described how to get a parametric plot in the blog post here.

Related

Is it possible to develop a GUI on Linux Embedded with just HTML, CSS and JS?

I have been researching widely on this topic, but still haven't found a proper guide.
What I am doing is to create a GUI for an embedded system based on Linux Embedded and I would like to know if:
it's going to be possible to code the GUI using HTML, CSS and JS?
is it worth looking into porting a framework such as React JS?
is there any other alternative that allows for quick development and satisfying UI?
I am very new to this and I would be very grateful if someone more experienced could point me in the right direction.
Thanks so much.
I've just written an article listing the top 5 libraries for creating GUI on Embedded Linux. I've only mentioned one tool that renders HTML UI, the Sciter engine. It's much more compact than Webkit or Chromium. The owner of the project, Andrew Fedoniouk, recently released a new version called Sciter.Lite that will support embedded devices. Check out these two resources.
https://sciter.com/sciter-lite-is-published/
https://sciter.com/windowless-sciter-android-and-iot-devices/
Demos are already available on their GitHub
sdk/bin.lnx/x64lite
sdk/demos.lite
You don't have to limit yourself to HTML UI, check out the other tools I've recommended. All of them have a free version. For rich UI, I think HTML UI is easier. I mean, Sciter Notes doesn't look to shabby and it's just under 5Mb for Win, Linux and Mac. But the backend is C++. For more minimal hardware, you'll have to look into the C/C++ toolkits I've listed. TotalCross are planning to support Android XML but has not been released yet. So you can check on them also.
Oh. Almost forgot. Two whitepapers comparing QML and HTML5 were published in 2017. Qt requires you to register so I'll just give you the links so that you can download them without registering :)
Paper 1: Qt QML v HTML5 –a practical comparison
Published on May 2017 by Sequality Software Engineering an Austrian firm that is a Qt partner and does Qt consultancy.
Downlink Link 1, Download Link 2
Here is a review of the paper by a software engineer, Amir Shrestha, who provided the first download link. There is more discussion at Hacker News. There was also an interesting discussion thread in a YouTube video about the comparison. You can read the YT comment section but first search "Andrew MacAulay" and read that thread. He was the lead engineer for the autopilot system for the F-18 jets and has worked in other senior embedded roles.
Paper 2: Qt or HTML5? A Million Dollar Question
Published on Oct 2, 2017, by Burkhard Stubert a Qt consultant and developer.
Download Link
Here is the discussion on Hacker News.
An interesting piece of information I found in the second paper is that 90%+ of all home appliances are powered by micro-controllers with no OS or a very minimal RTOS.
Another interesting piece of information I discovered while writing my article, is that Micrium OS and components are now open-source under Apache 2.0. It has its own GUI toolkit written in C but it only targets Micrium OS and not embedded Linux. If developers start adopting Micrium OS (it was already quite popular in the industry and even launched in space) perhaps you can start looking into it too.

DirectX sample code c++

I'm looking for source code (as I bet a lot of others are / were and will) for learning purposes of DirectX. I would like something similar to the vs2013 Graphics Editor when dealing with *.fbx files, etc. Every thing I find is old and outdated, or way to simple and does not show the basics like transformation cursor, picking objects or points on objects. I'm just looking for something basic.
many thanks in advance
The DirectX Tool Kit is a good place to start and includes some tutorial content as well. It supports loading models using the VS 2013 content pipeline that produces CMOs from FBX files.
You didn't state if you were looking to write a Windows desktop application (aka a Win32 application) or if you were looking to write for Windows Store / Windows phone. DirectX Tool Kit supports either, although the tutorial is written using a Windows desktop application template so that developers using Windows 7 could also utilize it.
You should also refer to the DirectX SDK Samples Catalog for locations of updated versions of the legacy DirectX SDK samples that build fine using VS 2013 only.

Is MFC deprecated?

Currently I am working in a project that uses MFC a lot, but it seems to me that MFC technology is not widely used nowadays. How deprecated is MFC? What are the alternatives for it? I am using VS2010 on Windows.
Thank you for your answers.
Windows Forms and WPF are becoming more and more popular these days,
but seeing that a new version of MFC was released just a few months ago (see here) I wouldn't call it deprecated just yet.
Yes, MFC is not what you would call state-of-the-art. If you are starting a new (UI) application from scratch, you should come up with really strong reasons to use MFC (for example, you have already existing code). There are many disadvantages, for exeample the document/view archtiecture, which is only suitable for small UI applications or the high amount of customization you need to put in, if you want controls that are not included in this framework (and you certainly will at some point). Additionally, it is not that easy to test MFC classes, which you should have in mind as well.
Widely used are approaches with a MVC (model-view-controller) architecture. You can read more about these two archiectures here:
Document / View as used in MFC
Model View Controller
As you are considering MFC, I assume you already have knowledge in C++. Therefore, the Qt Framework from Trolltech / Nokia might be interesting for you. It supports MVC architecture, is cross-platform compatible and still actively developed.
MFC is not so bad. The problem is that most of the components (windows/widgets) are pretty bad or more precisely very inflexible. As Hans said it's 18 years of backward compatibility and therefore every clock cycle and memory byte counted. This hurts today.
I'm using it because Windows Forms and WPF is just not useable for cross platform GUI development where the lingua franca of the backend is C or C++ (if Java is not an option for your project for whatever reason).
Depending on what you want to do and how important a very native looking GUI is, MFC might be the only choice, especially when you can afford to buy third party components and use the feature-pack or Ribbons.
I not commenting on QT/GTK/FLTK or other toolkit as long as you don't tell us more about your project

Windows API GUI programming

I'm working on a Project with outdated, very old looking GUI (the used GUI framework is more than 10 years old)
Since the used programming language is Eiffel, there are almost no good libraries for GUI development. Although Wrappers for C libraries exist, it's not that easy to wrap something like Qt with them.
The current GUI framework uses the Windows API to create windows, widgets and so on. But as stated - it's very old.
Now i would like to learn more about how to use the Windows API directly to create state of the art GUI's
Can someone recommend any reading material?
"Windows Programming" by Charles Petzold is an excellent start on Win32 API programming.
It won't show you how to create a WPF-grade interface but it will show you how to create a basic average application.
It doesn't take a lot of surgery to turn on Windows Visual Styles and get an instant new look. If your toolset doesn't allow creating resources then take a look at mt.exe in the Windows SDK.

Windows programming: where to start?

I'm a long time Mac user, with a fair bit of programming experience and I wanted to try programming for windows. The thing is I don't know where to start, what should I learn first ? .Net, Win32 ?
[Clarification]: My ultimate goal would be to create a more or less complex application using the latest APIs however I like to know the underpinning of what I'm dealling with.
Start with the Bible, Programming Windows 5th Edition. It is still very relevant.
http://www.charlespetzold.com/pw5/
You'll start doing C with Win32. Once you understand that you can also learn .NET. Though some people may tell you to skip Win32 and go straight to .NET. However, doing Win32, you will understand a great deal about how Windows actually works.
I'd be taking a look at getting a copy of one of the Visual Studio Express Editions and start there. It has all the tools you need to build windows / web applications on windows.
You could start at the win32 level however depending on what exactly you want to do, you may find you're able to do everything you need with .net and visual studio.
Once you're finished with the suggested windows programming bible start reading The Old New Thing, Raymond Chen's blog.
There's a lot of interesting insight about inner workings of windows, why it is the way it is etc.
For rapid application development on windows, .NET seems to be the most efficient solution nowadays. But If you crave that extra ounce of performance out of your applications, I'd recommend giving Programming Windows and Windows via C/C++ a thorough read. Although some of the material is dated, a lot of it is still relevant with windows programming today. If you choose the .NET route some books to take a look at include Illustrated C# 2008, Accelerated C# 2008, and of course our own Jon Skeet's C# in Depth.
.Net is easier.
My ultimate goal would be to create a more or less complex application using the latest APIs
The latest APIs are .Net (Win32 is older).
however I like to know the underpinning of what I'm dealling with.
Win32 underpins .Net (although you might barely see Win32 artefacts when you're programming in the .Net environment ... for example the Mono project more-or-less-successfully ports the .Net API to non-windows).
Read the Petzold and see the Advanced Win32 api newsgroup for all undocumented stuff news://comp.os.ms-windows.programmer.win32 (source code for all Win32 apis...)
I'd recommend starting to program in .NET (C# or any other .NET language) since that's the most modern general application platform for Microsoft. I personally like the Richter books, CLR via C# and Applied Microsoft .NET Programming. Great starting points even though the 2nd book is a bit old and doesn't contain newer .NET features.
To truly learn the Windows platform, I totally agree with Bobby's suggestion to read Petzold's Programming Windows.

Resources