Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Xeffort site to be archived

Steve_Lionel
名誉分销商 III
4,963 次查看

Back in 2007, Jugoslav Dujic, whom long-time members here will remember, created:

Xeffort library (previously known as XFT) is used for easy building Win32 GUI applications with Compaq and Intel Visual Fortran compilers. It seamlessly integrates with Microsoft Visual Studio (.NET) IDE providing:

• Application wizard, for quick creating of skeleton MDI, SDI or dialog-based applications

• Handler wizard, for creation of prototypes of most-frequently used routines

• Online help, which can be run from Visual Studio "Tools" menu

He made the library and its documentation freely available as open source. In 2013, Jugoslav handed over the Xeffort site to me, and I made it available as xeffort.info, where it sits today.

Unfortunately, the code is highly bound to the 32-bit architecture, so is unusable with today's Intel Fortran. I did spend some time a few years ago to try to update it to 64-bit but found it overwhelming as there was too much hardcoded for 32 bits.

My intention is to take the xeffort.info site offline, but at that point I'll keep the files available in a folder under stevelionel.com (there will be a redirect for a while).

If someone wants to take on updating Xeffort for 64-bit, feel free to download the sources and have at it.  Someone did contact me some years back offering to do this but did not follow up.

I think the library is valuable and would prefer to see it live on.

42 回复数
Steve_Lionel
名誉分销商 III
1,819 次查看

Regarding the "little beauty", have a look at Doctor Fortran in "Think, Thank, Thunk" - Doctor Fortran where I once encountered something similar.

Steve_Lionel
名誉分销商 III
1,608 次查看
0 项奖励
JohnNichols
名誉分销商 I
1,554 次查看

Of course, so sorry.  

I have a new accelerometer, it will output 800,000 records in 100 seconds, way too fast, but the manufacturer cleverly put in a compression format on the output so you have to use Python or their special purpose program.  

I asked for the compression algorithm so I can use Fortran and do FFT and other nice things quickly.  

Am I allowed to say that Python is not a good program. 

0 项奖励
Steve_Lionel
名誉分销商 III
1,517 次查看

John, please start another thread on your topic.

Steve_Lionel
名誉分销商 III
1,151 次查看

Today I learned about The Winteracter Fortran GUI Toolset is now available free of charge - Announcements - Fortran Discourse - this is, I think, much better than QuickWin. The only advantage to QuickWin I can see is that it will allow Fortran I/O directly in a Window.

0 项奖励
DavidWhite
重要分销商 II
1,140 次查看

Unfortunately, another of a string of Window's libraries which is no longer supported.


I started with RealWin, when that went out of business, I swapped to XEffort, and then to Winteracter, which I have used for perhaps 10 years very successfully.  I no longer maintain the software that uses Winteracter, but have kept up a license just in case.

Lawson was very supportive when Winteracter was a commercial product, hopefully we can continue to get good use out of his library.

0 项奖励
Neels
新分销商 II
1,147 次查看

I have two pre-processors (modelers) and two post processors (mostly graphing) done almost exclusively in QuickWin and is altogether about 120 dialog boxes with many of them scrollable and the extra functionality I needed is through Xeffort. Upwards of 600k lines of code and almost 30 years of work, as much as I would prefer to change over to Winteracter it is just not worth it.

 

I am hoping Andrew will get Xeffort converted to 64bit to the point where I can use it.

0 项奖励
andrew_4619
名誉分销商 III
1,134 次查看

I haven't worked on that for a while, been far too busy with some other projects. However, all the examples I have looked at have been xeffert applications not QuickWin. I used to use QuickWin many years ago but found it too limited  and ditched it in favour of just using he windows api. That said I am interested in what features of xeffert you are applying to enhance Quickwin? Dependant on this answer to that there may be some simpler solutions to your problems.

0 项奖励
Neels
新分销商 II
1,130 次查看

Andrew,

The biggest part I use is the Xeffort tool that creates a dialog based application.

Then most of the rest was what Jugoslav did when he edited IFLOGM to create XFLOGM. One of the biggest things I use is fairly simple:

 

Using XFLOGM:  RetLog = XCtlSet (ml2Dlg, IDC_STATIC_Passage, .True., Dlg_Visible)

 

Using Xeffort:  RetLog = XCtlSet( ml2Dlg, IDC_STATIC_NozzleDiameter, .True., Dlg_Visible)

 

And then some minor things like XMessageBox which is easier to use, it does not use C strings etc.

Jugoslav also showed me how to make the dialog boxes scrollable if they are bigger than the screen.

I can send you samples if you want.

 

Thank you,

Neels

0 项奖励
andrew_4619
名誉分销商 III
1,007 次查看

Neels those seem like quite simple things, a simple helper routine using  the sdk showwindow would fix that and could be inserted with a global edit. Simillary an sdk  message box wrapper replaces the Xmessagebox.  do you have a full list of "X" routines that you call?

0 项奖励
Neels
新分销商 II
970 次查看

Andrew,

Thanks for looking at this!

I am not sure when I use XFLOGM and when I use Xeffort, so I made a short document showing what I do. I see XFLOGM was a modified version of DFLOGM from the DEC days.

Thank you

Neels

 

0 项奖励
andrew_4619
名誉分销商 III
920 次查看

Just noticed this, I will have a look at it.

0 项奖励
nathn34
新分销商 I
970 次查看

Hey Steve,

I totally get where you’re coming from on this. Legacy tools like Xeffort usually sit in that weird space where they’re still valuable but the tech stack underneath just ages out. I’ve faced something similar with an old Win32 utility toolkit I was maintaining a while back — once 32-bit dependency hits hardcoded levels, porting to 64-bit basically turns into a full rewrite more than an update.

What worked for me was first documenting everything properly before even thinking about migration. Second, splitting the core logic from UI layer (that’s usually where the 32-bit mess hides). And third, just seeing if anyone in the community actually uses it today before investing time.

Honestly, if you’re moving it under stevelionel.com, that’s already a solid preservation step. In my case I had a small internal repo under CodeNest just for archiving old tools.

Do you think there’s still active demand for it, or is it more of a “preserve for history” situation now?

0 项奖励
Steve_Lionel
名誉分销商 III
672 次查看

I don't think there is a demand for Xeffort, besides a few applications previously developed using it. It probably would be worth someone's while to make it work in x64. I will preserve it, nonetheless. Really, the only ongoing expense to me is the domain name.

0 项奖励
Neels
新分销商 II
651 次查看

Thank you Steve.

 

I could never understand why the few edits Jugoslav did to DFLOGM to create XFLOGM was not implemented by DEC/Compaq/Intel. For me it greatly enhanced QuickWin.

0 项奖励
cean
新分销商 II
550 次查看
I have downloaded the 1225.exe and installed . There is a lib folder and source folder. But I think from the help file, the source is only the lite version . There is no source for the whole lib.
0 项奖励
Neels
新分销商 II
545 次查看

Extract it to C:\Program Files (x86)\Xeffort

 

In the root folder there are pictures of what lines to add to the compiler "include" and "library" options.

0 项奖励
cean
新分销商 II
521 次查看
Ok. I saw the project file. Can open it with vs and change to sln file.

I only have ifx, with x64, it has close to 200 errors. Would be nice to upload it to GitHub.
0 项奖励
Neels
新分销商 II
517 次查看

That is the problem with Xeffort, it is a 32bit library.

0 项奖励
cean
新分销商 II
463 次查看
Mang errors are about string operation. Like xc2f-convert string from C style to Fortran style. Instead of calling this function, change to trim the string and add chr(0) at end directly. This reduce 30+ repeat error.
0 项奖励
Steve_Lionel
名誉分销商 III
397 次查看

The string errors are trivial issues compared to the frequent use of 32-bit INTEGERs to store Windows handles.

0 项奖励
回复