windows application

Go To Last Post
56 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Guys, could you recommend a program for a beginner to create a windows app.  I'm thinking their is bound to be a simple and intuitive way of doing this.  

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Microsoft have a free version of Visual Studio.

 

Embarcadero (the successor to Borland) have free "Starter" editions of their Delphi and C++ Builder tools: https://www.embarcadero.com/free-tools

 

There are also open-source GCC-based things - I'm sure someone will be along with the details soon ... 

 

EDIT

 

Of course, for plain command-line stuff, there's Python.

There are also various "Frameworks" that can be used to build GUI apps with Python; eg, wxGlade: http://wxglade.sourceforge.net/

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
Last Edited: Mon. Jan 8, 2018 - 08:50 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Depends very much of a lot of things:

  • Previous experience
  • Functionality, complexity and size of planned application

etc..

 

If you tell us more about what capabilities you require the recommendations will likely be more "precise".

 

You will get different recommendations from different people. (Chances are it will turn slightly "war'ish".)

 

Here's mine: C# .Net with Windows Forms for the UI developed in free edition of MS Visual Studio ("Visual Studio, Community Edition"). Version depends on what version of Windows you're running.

 


 

I'm thinking their is bound to be a simple and intuitive way of doing this.  

Again, depending on previous experience, this might be so. Or not..

 

Applications with a "mode-less" graphical UI are have certain aspects that are not seen in "classical prompt/response" applications.

 

OTOH, you will see some similarities with embedded applications. Any UI activity from the user generates "events" that are routed to different "event handlers".

 

Example:

If handling an event takes a long time, the UI will freeze - unless you push the handling off to a separate "worker thread". Application can keep on running the UI, but will have to react on the state of the worker thread in some way.

 

Sounds similar to interrupts and interrupt handlers in an embedded application? In a sense it is.

 

How much of these things you need to handle explicitly depends on chosen environment. 

 


 

I have a feeling that your application will need to communicate over TCP/IP.. ;-)   Correct?

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

Last Edited: Mon. Jan 8, 2018 - 09:09 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Basically, I wan to connect a AVR32 to application that will then display the said information in boxes and and wee lights ect ect

The information will be sent using TCP

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Xojo is a language and IDE that is BASIC-like in syntax. Pretty easy. It is a bit on the expensive side for all the features (compile native apps for all major operating systems, data bases, and such) BUT, for free, you can create an app on any of those OS's and run it in debug mode. All the windows, dialogs, controls, and such, look "right" because they are native. There are single OS versions with limited additional features (no database, for example) that are less expensive. This is, in all senses of the word, a "professional" development system; it has been used to create quite a few commercial applications (medial records systems, movie editing, communications, and more) though it tends to be pretty invisible.

 

You can also create apps in Python. I know that the GUI situation has improved significantly since I used it - it used to be UGLY. It is free in the conventional sense. In my experience, Python has a significantly steeper learning curve than Xojo.

 

Both have tcp/ip interfaces.

 

Jim

 

Until Black Lives Matter, we do not have "All Lives Matter"!

 

 

Last Edited: Mon. Jan 8, 2018 - 09:58 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well, .Net supports "sockets" communication. (See e.g. this .)

 

Disclaimer: I've not used .Net sockets (or at least can't recall ever using it) but have used other TCP/IP APIs. Glancing over the class documentation it looks like a fairly straight-forward socket class.

 

There's also a TcpListener class, and the documentation page shows one straight-forward example of usage.

 


 

I suggest you want for some other recommendations also  - I suspect that others here also have experience with writing Windows applications, and maybe started from a spot similar to yours (I've been writing Windows software for roughly 25 years).

 

But ... if you're interested in C#/.Net then start having a look around the documentation, and search out some beginner tutorials. Filter hard - the subject is vast!

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Any development suite designed for making a GUI and or run on a PC is going to have a multitude of libs for all kind of stuff including TCP/IP.

 

With what languages do you have any experience?

If you know some Python then TkInter might be the thing for you.

http://effbot.org/tkinterbook/tk...

 

A long time ago I used the Borland C++ builder (20+ years ago probably...)

I very much liked the intuitive way of designing the GUI just by dragging things like buttons and check boxes onto the canvas of the program.

 

My dislike for microsoft is still strong even after all those years.

Part of a school project was to rewrite a FTP server program just to make it compatible with microsoft stuff.

Microsoft could not be bothered to adhere to any standard. Instead they made a point of not being compatible. It was part of their fudge campaing back then. I still hate them for that.

 

Qt seems to be a nice ide and they also have GUI design stuff.

Qt also has a dual liscensing scheme. They give (almost) everything away for free for personal use and open source projects. If you use it for commercial projects they want a piece of the pie.

https://www.qt.io/download

Doing magic with a USD 7 Logic Analyser: https://www.avrfreaks.net/comment/2421756#comment-2421756

Bunch of old projects with AVR's: http://www.hoevendesign.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Paulvdh wrote:
Any development suite designed for making a GUI and or run on a PC is going to have a multitude of libs for all kind of stuff including TCP/IP.

Indeed.

 

TCP/IP (and higher protocols like HTTP) have been pretty much de rigueur for any PC app for the last few decades.

 

designing the GUI just by dragging things like buttons and check boxes onto the canvas of the program.

Again, that has been pretty much de rigueur for any PC GUI development for the last few decades.

 

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Paulvdh wrote:
Qt seems to be a nice ide and they also have GUI design stuff. Qt also has a dual liscensing scheme. They give (almost) everything away for free for personal use and open source projects. If you use it for commercial projects they want a piece of the pie. https://www.qt.io/download

 

I recommend Qt too. It's fairly easy and comes with modules for pretty much anything, like Serial interface, TCP/IP, HTTP, ...

 

But somehow they screwed up their download site. Or i'm just too stupid to find the damn button. Here's a link that actually leads to the installer downloads: http://download.qt.io/community_...

"Some people die at 25 and aren't buried until 75." -Benjamin Franklin

 

What is life's greatest illusion?"  "Innocence, my brother." -Skyrim

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Fianawarrior wrote:
Basically, I wan to connect a AVR32 to application that will then display the said information in boxes and and wee lights ect ect

Personally I'd just use Python for such things these days.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Any progress, fianawarrior?

 


 

clawson wrote:

Personally I'd just use Python for such things these days.

Using PyQt?

Or TkInter?

Or WxPython?

Or ...?

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

Last Edited: Thu. Jan 11, 2018 - 12:00 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
Personally I'd just use Python for such things these days.

and then you wouldn't be stuck with having to use a Windows PC to run it on - it'd work on a Raspberry Pi, a Linux box, etc, etxc, ...

 

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Have a look at Lazarus.

 

http://www.lazarus-ide.org

#1 Hardware Problem? https://www.avrfreaks.net/forum/...

#2 Hardware Problem? Read AVR042.

#3 All grounds are not created equal

#4 Have you proved your chip is running at xxMHz?

#5 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand."

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Apparently you can also use Python as a script language in Libreoffice.

https://duckduckgo.com/html?q=li...

 

This way you should be able to put your data almost directly into a spreadsheet and draw graphs from that with minimal programming.

Doing magic with a USD 7 Logic Analyser: https://www.avrfreaks.net/comment/2421756#comment-2421756

Bunch of old projects with AVR's: http://www.hoevendesign.com

Last Edited: Thu. Jan 11, 2018 - 03:06 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

JohanEkdahl wrote:

clawson wrote:

 

Personally I'd just use Python for such things these days.

Using PyQt?

Or TkInter?

Or WxPython?

Or ...?

 

Hey Cliff! In case I was misunderstood: I am genuinely interested in your advice/recommendation re UI "framework" for Python. I might want to experiment a little with this, but surveying (at least) three alternatives is a bit over the top with the backlog of hobby-activities I have ATM. (-:

 

I had a quick glance at a tutorial for WxPython and it looks interesting, but if you have some valuable advice on choice of "framework" then please spill your wisdom over us!

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

TBH, I found wxPython to be rather clunky.

 

It seemed all to easy to mess up the design in the GUI editor, and the only way to recover would be to manually hack the XML file.

 

But it was what the Client was using ...

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm still in the throes of death so not thinking very straight but for UI in Python I just stick to tcl/tkinter because it's part of the standard installations so I can give you a 10 line Python program with UI and I know it's just going to run and work on everyone's PC without needing to pip/install anything special.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks Andy!

 

For "simple" applications (one window, a few (10 or max 20) widgets) is it feasible to "do it all in code" without any fancy "UI editor"? That's how the tutorial I found did it..

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Sorry - it's wxGlade that's the graphical GUI builder (no, that's not a tautology!)

 

I guess if you're the kind of masochist that likes designing & describing graphical things in text, then it must be possible ...

 

Do you like to do all your schematics in netlist form ... ?

 

cheeky

 

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I just put the code (copy below) from: Simplest Web Browser in Python & Tkinter – 32 lines of code

http://knowpapa.com/wb/

...

in a text file, saved it as asdf.py, made it executable and executed it with: "python3 asdf.py"

 

And it "works". It starts a GUI. I can enter an URL in a entry box, click on "Go" and the text of some remote website in the text area.

Pretty impressive for a hand full of code.

#!/usr/bin/python3
from tkinter import *
import urllib.request
def go():
	text.delete(1.0, END)
	with urllib.request.urlopen(entry.get()) as response:
		received_html = response.read()
	text.insert(1.0, received_html)

browser_window = Tk()
browser_window.title('knowpapa browser')
label = Label(browser_window, text= 'Enter URL:')
entry = Entry(browser_window)
entry.insert(END, "http://knowpapa.com")
button = Button(browser_window, text='Go', command = go)
text = Text(browser_window)
label.pack(side=TOP)
entry.pack(side=TOP)
button.pack(side=TOP)
text.pack(side= TOP)
browser_window.mainloop()

Upto this level xwWidgets seems to look quite like tkInter.

Managing a handfull of widgets in code also does not seem a big problem to me (Although I haven't done it).

But avoid the magic numbers. Define some constants for coordinates and size if you want to line up some check boxes.

Doing magic with a USD 7 Logic Analyser: https://www.avrfreaks.net/comment/2421756#comment-2421756

Bunch of old projects with AVR's: http://www.hoevendesign.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

OK and thanks, Cliff!

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Paulvdh wrote:
Define some constants for coordinates and size if you want to line up some check boxes.

This is where the graphical GUI designers really come into their own: you don't have to manually mess about with coordinates - they let let you specify how things align, what "sticks" to what, how they "strectch" when the window is resized, etc, etc, ...

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You can use Lazarus RAD IDE to build cross platform GUI and console applications. It is very easy.

http://wiki.freepascal.org/Ardui...

https://bigdanzblog.wordpress.co...

https://bigdanzblog.wordpress.co...

https://www.lazarus-ide.org/

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

@Fianawarrior: I'm curious: Did you get any further on this? I'm interested in any experiences with environments I've not used..

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

Last Edited: Mon. Jan 29, 2018 - 10:00 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

have not really had  look yet mate, did have a peep at Lazurus though, crap ;)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

JohanEkdahl wrote:
I'm interested in any experiences with environments I've not used..
This is just to mention this post:

 

https://www.avrfreaks.net/comment...

 

It generated this:

 

 

The development environment I prefer for Python is PyCharm from JetBrains:

 

 

That is "free" for personal use.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
The development environment I prefer for Python is PyCharm from Jet Brains

This: https://www.jetbrains.com/ ?

 

Purely out of interest, could you say what you find "preferable" about this?

 

Any downsides?

 

Jave you also tried it for C and/or C++ ?

 

 

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil wrote:
Purely out of interest, could you say what you find "preferable" about this?

I did a wee bit of Python half a year ago, and took the recommendation from Cliff to try out PyCharm. Here are the votes from the Swedish jury:

 

  • High quality, stable
  • Very good adoption to Python (not just a generic IDE with Python half-arsedly tacked onto it).
  • A lot of high end-functionality when it comes to "helping the coder" (auto-completion, "code suggestions" etc). If you don't like/want this then PyCharm isn't for you.
  • Good debugging functionality

 

On the downside

  • "Big UI", cluttered. I did not work with it long enough to see how much it could be tweaked - so this might be a somewhat unfair point.

 

I've heard and seen enough about the good things from JetBrains to consider buying a license - and then probably the "everything" license that gets me their C/C++ IDE, their C# fix-up'er, SQL module etc.. The prices where just a wee bit to prohibitive for me as a privateer to just take the jump. But it's still "on the trampoline.."

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Some of the things I like about Pycharm:

 

1) it "style checks" as you go (though if that irritates you it can be disabled) so it polices things like indents, spacing around operators and nice stuff like that

 

2) the debugger is insanely easy to use. Literally just "Run-Debug xxx" and off you go and it's far better at "watching" things that any C IDEI have used

 

3) there's regular updates and again they "just work"

 

4) It (like Python) is multi-platform so whether I use Windows or Linux the Pycharm versions behave almost identically (apart from the obvious system differences between Windows and Linux)

 

And, yes, while they have a dev environment for C/C++ I have never actually looked at that as I tend to be a bit "dyed in the wool" when it comes to C/C++ using Eclipse on Linux and Visual Studio on Windows.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Fianawarrior wrote:
did have a peep at Lazurus though, crap

Details?

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

@Johan:

Lazarus is open source fork? / variant of an IDE which is based on Delphi / FreePascal.

It's some ancient language that almost nobody uses.

Their "general" forum has managed to score 6 posts yesterday (a 14 hour period).

http://forum.lazarus.freepascal....

 

The project is still active though. With a new release in 2017-12.

https://en.wikipedia.org/wiki/La...(IDE)

 

I guess the IDE / language is pretty usable, but who wants to learn Pascal?

A long time ago I wrote some applications with the Borland C Builder, which had about the same IDE as Delphi back then.

I found the integrated GUI designer very intuitive to use and well integrated with the code editor. That was over 20 years ago though.

I still have fond memories of the good old C++ Builder. I'd probably be using Lazarus if it could compile into C++.

Doing magic with a USD 7 Logic Analyser: https://www.avrfreaks.net/comment/2421756#comment-2421756

Bunch of old projects with AVR's: http://www.hoevendesign.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

My first "formally taught" language was Pascal (at university). It was actually a good language to learn first because of structured programming, strong types and so on. So to answer "who wants to learn Pascal?" well I'm one ;-)
.
Of course just as Dartmouth BASIC became unrecognizable in later variants like Visual Basic the Pascals of today bear little resemblance to Wirth's original.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

My first "formally taught" language was ICL 1903 BASIC - for 'O' Level Computer Studies.

 

Followed by Pascal at Uni.

 

clawson wrote:
It was actually a good language to learn first 

and so it should be - as it started out as a teaching language (as did Dartmouth BASIC).

Top Tips:

  1. How to properly post source code - see: https://www.avrfreaks.net/comment... - also how to properly include images/pictures
  2. "Garbage" characters on a serial terminal are (almost?) invariably due to wrong baud rate - see: https://learn.sparkfun.com/tutorials/serial-communication
  3. Wrong baud rate is usually due to not running at the speed you thought; check by blinking a LED to see if you get the speed you expected
  4. Difference between a crystal, and a crystal oscillatorhttps://www.avrfreaks.net/comment...
  5. When your question is resolved, mark the solution: https://www.avrfreaks.net/comment...
  6. Beginner's "Getting Started" tips: https://www.avrfreaks.net/comment...
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I also learned Pascal as my first language in college.

Haven't used it since then.

Happy Trails,

Mike

JaxCoder.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

As this topic has migrated from its original intent...

My first (computer) language was FORTRAN, in high school.

David

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If we discount 6502 assembly language then my first language was PL/M.

#1 Hardware Problem? https://www.avrfreaks.net/forum/...

#2 Hardware Problem? Read AVR042.

#3 All grounds are not created equal

#4 Have you proved your chip is running at xxMHz?

#5 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand."

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well, 1rst learnt Fortran 66,

then read about Pascal (and wanted it...) , then leant asm at school ... keeping using Fortran 66;

 

in the early years: used Turbo Pascal and a dedicated infra-PLM...

then, C  (Turbo Pascal was getting too dependant on a given society: if it went bankrupt?) 

and Fortran 77 / 90 (began being structured, accepting and handling  long variable names  ...) .

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Taught myself BASIC.

Taught myself 6809 assembly.

Took FORTRAN in high school (avoided COBOL).

Took Pascal and Ada at uni.

Took a major career detour.

New career detour converged onto abandoned career.

Taught myself C.

Taught myself AVR assembly.

 

Living the dream ;-)

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

mike32217 wrote:
I also learned Pascal as my first language in college. Haven't used it since then.
This seems to be true for so many people.

"everybody" learns Pascal at school, "nobody" uses it in the real world.

When I was young I learned myself C, tried to bite off too much with C++ (partly because english is not my native language and C++ books were in English).

Learned a bit of TurboPascal at school.

If I remember well you cold not assign a float to a int or vice versa, it just wasn't in the language.

Nowhere in the whole program wer dots used (maybe inside floats), but you had to use one on the last line of your program or it would not run.

Such horrible artificial constructs with no real world value.

I was a relief when that class was over and I went back to C (and later C++).

I never ever did anything with Pascal again. Still hate it.

Sometimes my feelings are unreasonably strong.

 

Doing magic with a USD 7 Logic Analyser: https://www.avrfreaks.net/comment/2421756#comment-2421756

Bunch of old projects with AVR's: http://www.hoevendesign.com

Last Edited: Tue. Jan 30, 2018 - 06:51 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Paulvdh wrote:
I guess the IDE / language is pretty usable, but who wants to learn Pascal?

I can't answer that question.

 

Had you asked "Do you know Pascal?" I could have given an answer.

 

 Uh uh. I know what you're thinking. "Does he know Pascal or not?" Well to tell you the truth in all this excitement I kinda lost track myself. But being that I studied at Uni around 1980, and Pascal was the new up'n'coming language - not to mention Turbo Pascal had a decent "market share" for DOS programs for the following 5 or 10 years - you've gotta ask yourself one question: "Do I feel lucky?" Well, do ya, Paul? 

I hope you take no offense, Paul! That was just to fun and tempting to be able to resist..

 

 

No, a Pascal of today is likely not the same as VAX Pascal (adhering fairly well to "Wirth Standard") or Turbo Pascal (a decent amount of extra "bling"), but I taught Pascal for a number of years. Between 5 and 10 years, depending on how you define "teaching". And it's a "structured, block-oriented, strong-typed language (with strong separate compilation features, if we're talking Turbo)". Not the first such I've seen. Not the second. I' think I'll manage. ;-)

 

If an option for throwing together some simple GUI app is to revive Pascal, I'll might consider it if Lazarus is good enough. So, since Fianawarrior had a look at Lazarus I thought it would be really interesting to know how he had fared. Especially since he is not "tainted" by some previous environment for doing Windows apps.

 


 

And thus, Fianawarrior, I am still interested in any experiences you had.

 


 

It's not that I don't want to dig in myself. But if someone is testing something in this jungle it would make sense to share experiences. There are sooo many alternatives out there.. Here's what I can think of, right now, off the top of my head. No special order, just vomiting:

 

  • Lazarus
  • Java/Groovy with SWT
  • Java/Groovy with AWT
  • Griffon (think Grails, but for "Hosted GUI apps" rather than Web Apps/services
  • C# with Windows Forms (a .Net framework for GUIs)
  • VB.Net with Windows Forms 
  • WxWidgets in combination C++
  • Python/PyQt
  • Python/TkInter
  • Python/WxPython
  • Pearl probably has at least some options similar to Python
  • Ruby probably has at least some options similar to Python
  • Tcl/Tk
  • Xojo (mentioned by Jim (west coast) above)

 

and certainly many, many more.. And I didn't mention things like Microsoft WPF (because it's not "easy" in the sense sought after in this thread).

 


 

 

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

Last Edited: Tue. Jan 30, 2018 - 08:11 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

No Offence. Cool.

 

You forgot "Qt" in the list. "Qt" is quite a collection of stuff.

https://www.qt.io/what-is-qt/

 

Qt Creator is anIDE for writing cross platform C++ applications from everything from embedded applications to Widows / Apples / Linux / HTML5 /  Android & more...

I use Qt Creator as an IDE for AVR's and use external makefiles for AVR-GCC.

But I've hardly scratched the surface of what you can do with (the open source version of) Qt.

It seems very powerful and has been traditionally the got-to application development environment for KDE.

All this power and flexibility is a bit confusing for me though. I've never realy tried to write a GUI application for my Linux box with it.

 

If you're happy with Pascal then Lazarus might be a good option.

If it's as easy as the GCC Builder from the 90's then you'll have dragged a GUI application together in your first half hour.

Below is a link to a youtube to give you an idea of how easy it is to drag a gui together in Lazarus:

https://www.youtube.com/watch?v=...

 

 

Doing magic with a USD 7 Logic Analyser: https://www.avrfreaks.net/comment/2421756#comment-2421756

Bunch of old projects with AVR's: http://www.hoevendesign.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

OK, I viewed that video, and peeked into ones that follows. Seems pretty standard, reminiscent of e.g. C# and Windows Forms, or Java and SWT (in a decent IDE).

 

Just one note, on Simple calculator part 3. In there the presenter codes

if RadioButtonAdd.Checked = True then
  LabelAnswer.Caption := ...

*Handing that Pascal code in to me circa 1980 would have had him mildly flunked.

 

Pascal is a langiuage with a "strong and clean" Boolean type. The if-statement requires an expression that is of type Boolean after the "if". The Checked method of a RadioButton onviously returns a Boolean. So..

 

The

= True

is un-necessary, a tautology and serves no meaningful purpose. Of-course he should have coded

if RadioButtonAdd.Checked then
  LabelAnswer.Caption := ...

 

As I said, very much like some other often used environments. Nice thing compared to C#/WinForms is that it (allegedly) supports several platforms. (Now, will that require separate builds or not? I.e. Does it generate OS-native code or does it run on a virtual platform like Java and .Net stuff?)

 

Might just d/l it eventually and try it out. Other things in the pipe that needs attention first.

 

And I'm still (genuinely!) interested in hearing from Fianawarrior what he found crapp'ish.

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

Last Edited: Tue. Jan 30, 2018 - 11:22 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

As I said before, I don't use Pascal.

Maybe send Fiona a personal message?

Edit: Duh, I forgot he started this thread...

Doing magic with a USD 7 Logic Analyser: https://www.avrfreaks.net/comment/2421756#comment-2421756

Bunch of old projects with AVR's: http://www.hoevendesign.com

Last Edited: Wed. Jan 31, 2018 - 03:58 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Oh, I've had a three-digit number of students doing that horrid thing, and it was a long time since me teaching. I'll let him pass.. ;-)

 


The mistake/ugliness/stench is similar to what we often see here when testing for a bit set in C:

 

if ((someValue & (1<<bitNumber)) != 0) ...

when this would suffice

if (someValue & (1<<bitNumber) ) ...

 

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

Last Edited: Tue. Jan 30, 2018 - 11:41 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Now, will that require separate builds or not?

It requires separate builds (under GNUlinux, is linked with X, at least). 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

Paulvdh wrote:
"everybody" learns Pascal at school, "nobody" uses it in the real world.
I still use the program structure and the concept (where possible) of "strong types" I learned in Pascal in whatever other language I use. So you might not use the same syntax but the higher level concepts that the language teaches you will stay forever.

 

In colleges these days I think it's Java they tend to teach now? It probably achieves much the same. It's the techniques not so much as the syntax that give you a basis for anything else you go on to do. College is supposed to be a lot like this - not so much teaching you the exact thing but the concepts and techniques that are more generally useful (in pretty much every procedural language there is some concept of iterative (for) loops for example).

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Has anyone had a play with Microsofts Universal Windows Apps?

Not easy to learn but is quite powerful. MVVM, Binding, XAML, XAML Templates, ObservableCollections etc allow you to make some quite complicated realtime apps with little effort(Once you figure it out).

Compiles for IOT(Rasp PI) and XBOX as well.

Very different to conventional forms programming but interesting

 

Last Edited: Sun. Feb 4, 2018 - 08:10 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks Johan,

 

This was a very rewarding link. Thank you.

Variety is the spice of live.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi, dbrion 0606,

 

Nice to hear from you.

 

Reading your posting I thought about my own work in IT.

 

I started on a PDP11, than a Honeywell box, than came PC's. Learned ADA, Assembler, C, C++, Cobol, Fortran.

Today ADA is no longer mentionend, and Fortran freelance assignments in the UK have disappeared.

 

In 1980 we still wrote a large mainframe accountancy package in Fortran on e DEC box, now even DEC is

gone.  Is Europe turning into an "Industrial wasteland", no more research, no more number crunching ?

 

 

Variety is the spice of live.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

alwerner wrote:
hanks Johan,   This was a very rewarding link.

Curious: I have posted three links in this thread (upon a quick glance) - to a Lazarus tutorial and two links to ,Net documentation. Which one are you referring to?

 


 

I can also report that I had a half-hour stint with two attempts at installing Lazarus on Linux (Mint 18) a few evenings ago. Both failed with protests about stuff missing. Installing from the distro repo (e.g. using apt, Synaptic..) seemed to end quite bad. Installing the three .deb packages from Lazarus web site also failed.

 

Sorry, no details. Abandoned, and didn't investigate further. Lack of time.

 

I'd be interested in hearing from anyone having installed Lazarus with success on a recent Linux in the "Debian family".

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I believe that was in reference to the tutorial you linked to in #18 (as indicated by the "(Reply to #18)" in the post header (#48).

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Uh. I always miss those "in reply to"...

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

“Reminiscent of C#”! You should check the heritage. Turbo pascal, Delphi then C# are the work of Anders Hejlsberg.
Delphi, like turbo pascal was a stunningly great tool for its time. It had the advantage of compiling down to one executable which was great if you wanted an app to fit onto a floppy. C# basically adopted a similar object model with a c like syntax and a whole lot of extra stuff. Note - my experience with Delphi stopped at Delphi 6.
I did get Lazarus going to a degree on the Mac. The installation is a bit clunky.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awneil ​wrote: 

and then you wouldn't be stuck with having to use a Windows PC to run it on - it'd work on a Raspberry Pi, a Linux box, etc, etxc, ...

Visual Studio UWP works on Raspberry PI, XBOX, PC, Windows Phone, etc... 

And you can program it using C#, C++, VB, etc... All binary compatable thanks to CLR(Common Language Runtime)

Plus many modern features like XAML, MVVM, Async functions, etc...

Last Edited: Sun. Feb 4, 2018 - 11:44 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have used the free B4J from Anywhere Software. It works on many boxes, windows, linux,mac,rpi. They also have b4a for android, b4i for ios, and b4r for arduino. Yes , it is similar to vb6, but much improved, integrated ide with debugging, visual designer. Great libraries, and forum support.
Here is link for chart tutorial: https://www.b4x.com/android/forum/threads/android-charts-framework.8260/

It all starts with a mental vision.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

savman wrote:
Has anyone had a play with Microsofts Universal Windows Apps?
A future alternative to Microsoft Universal Windows Platform (UWP) is Google Progressive Web Apps (PWA)

 

Microsoft

Microsoft Docs

UWP app developer

Intro to the Universal Windows Platform

10/27/2017

https://docs.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide

Google Developers

Web

Progressive Web Apps

https://developers.google.com/web/progressive-web-apps/

both due to

Universal Windows Programs (“Metro apps”) aren’t dead yet, but there’s a better alternative on the horizon @ AskWoody

February 6th, 2018

https://www.askwoody.com/2018/universal-windows-programs-metro-apps-arent-dead-yet-but-theres-a-better-alternative-on-the-horizon/

Microsoft just announced that it’s going to start building Progressive Web App support into Edge and Win10.

...

It now looks to me as if there’s going to be a headlong dash into developing PWAs — and that UWP’s days are numbered. Time will tell.

...

 


MDN

App Center

Progressive web apps

https://developer.mozilla.org/en-US/Apps/Progressive

 

Edits: link target, MDN

 

"Dare to be naïve." - Buckminster Fuller

Last Edited: Wed. Feb 7, 2018 - 04:33 PM