programming
VIArts
Posts: 1,526
in The Commons
Not 3D related but thought I'd ask hereb if anyone could help me learn C++? I wanna create a simple timesheet generating app with a gui for the company i work for.
As simple as "Go get the date and start/end time and record it o a spreadsheet".
any programming forum suggestions are welcome too

Comments
Why do you want to use c++ to create an app?
You could use the MVC framework, using C# or basic, or a Java based one.
Need more information. C++ wouldn't definitely not be my first choice, especially as you use the term, 'simple'. This actually sounds like a project for Uni. :)
When you're creating a project, the choice of language is based on experience, what you're used to - or it's based on what's required for the app. It can also be based on what the company uses as their language of choice, but that also then relates to: 'what you're used to'.
C++ isn't a requirement. I have more experience with it, which isn't much, but I'm opd n to learning to use any language. I'm just ignorant and new.
My idea is:
When you check in to work, ou pe my app -- I'll cal it Boost Time -- and hit a "check in" button. This adds a row ike in Excel ad automatically records date and time
When you hit a "check out" button, auto-recods time and adds up your hours.
At the end of month, you hit a buton to generate n Excel fle o save and turn n.
You'll need to buy a book to learn development at the very least:
https://smile.amazon.com/gp/product/0985580135/
It's C# and pretty good. As a bonus C# is what Unity uses.
Use a C++ book by Stroustrup if you want to program in UE4.
https://smile.amazon.com/gp/product/0321563840/
For writing general Windows 10 programs not involving game engines at all you will want to use C#.and you will want to use the Windows Universal SDK that creates Apps that you could publish to the Windows Store (were it accepted).
I'll also recommend C#, and Visual Studio - you won't get a better programming tool and the Community version is free. You can get all versions from 2010 to 2019 here:
https://visualstudio.microsoft.com/vs/older-downloads/
There's also a free course here, that covers both Visual Studio 2015, 2017 and 2019 (their interfaces are a bit different):
https://www.homeandlearn.co.uk/csharp/csharp.html
There is also Udemy's video courses, currently they're on sale for $9.99:
https://www.udemy.com/courses/search/?src=ukw&q=c%23
Sounds like an app; and you wouldn't let it anywhere near a spreadsheet. If required it would export in a format a spreadsheet could open
You'd want a database table, well more than one.
it would tie to users, job type, days - with a log in and out, and many others.
Have you looked at existing software? Harvest might be worth checking out.
https://www.getharvest.com/
Can I link it?
Before you even consider what language to write it in, you need to map out the requirements; I'd also create a mockup, either pencil and paper, or something like Axure (version 9 iirc) - and likely both.
When you have the mockup, show it to the users, and obviously those providing the specs/requirements. Spend some time discussing requirements and expectations - time spend prior to coding is invaluable, it saves time and money in the not-so-long-run.
Avoid as much as possible scope creep; you're not going to avoid it completely, but lock down features to specific timeframes.
Yep, this.
You can save the data in a CSV file, it's probably the simplest way to get it into Excel.
A long time ago i wrote code in C++. You could do this with C++ and one of the MS frameworks but it would take a very long time (It would take me most of a day and I have over a decade of experience doing that sort of thing).
In C# this is pretty trivial, you'd spend more time learning the language than writing the program probably.
I have, over about 20 years, taught myself C++ with a copy of Borland's C++ Builder 4 I got on the front of a magazine in 1999. It is a 'must have' program for me, and I upgraded to V10.1 in 2016. The latest incarnation is Embarcadero C++ Builder 10.3. However, much as I would like to, I cannot recommend it for your application. The license terms for the latest version preclude any use of the freebie compiler for a company with more than $5000 dollar turnover, and the basic paid for version is eyewateringly expensive for a hobby use. Otherwise, I'd have said that the libraries and functionality would be perfect for you, enabling compiling of pretty much the same code for Win32, Win64, IOS, Linux and Android, the whole building of a window is drag and drop, and event handlers can be created with a double click. The only downside for V10.1/10.3 is that the documentation is nowhere near as good as the 1999 version, and I often have to refer to the 1999 version to find info for my Win32 only 10.1 version libraries.
For hobby use, V10.3 could well be worth investigating.
Regards,
Richard.
I'd second both the Visual Studio Community edition and 'Home and Learn' courses.
Especially if you already have a grounding in C++ in the distant past.
I have not got into the mobile app side of things but VS has the Xamarin framework for creating cross-platform apps. Has anyone got any experience of using Xamarin?
I was playing with Xamarin a couple of years ago, it's great to work with but I lost interest more or less when I learned how complex it is to publish an iOS app. Android and Windows Phone (which is dead now btw) apps are a piece of cake to publish but Apple wants to control everything in a way that I find discouraging. Without an iPhone (which I actually had, got one a friend discarded) and a Mac (which I don't have) for testing, you won't get far anyway with iOS, in my experience. But if you have a good idea for an app it may be worth investing in it.
Udemy has some Xamarin courses btw, most of their courses are currently on sale for $9.99. Just be sure to check when they were last updated, for Xamarin seems to change and deprecate things fast (at least it did when I was working with it).
For multi-platform apps the current ease of publishing and portability is Unity 2019.x (Android, iOS, osX, Apple TV, Windows 10, Windows Standalone and others - all no problem - but you need at least one OS HW platform available to test on if you are serious and for some (Apple - this is them) you need their HW and a $99 a year subscription to publish to their platforms into their stores - it adds up fast to be quite expensive for folk without a lot of disposable income!) with UE4 making headway fast to be competitive with Unity in that regard.
I just installed VS Community.
No one ased me to do this. I'm kinda doing it fer me riht now. But ift works out, i plan ro give it to my company for heir own use.
Maybe in the gaming world is Unity a common platform. It is not common in apps that aren't games. I guess you could do a UI using it but there are so many faster and better ways, Qt for instance.
Basically if you don't need 3d you don't need Unity.
If you want to start simple, you can read/write to a text file. If the text file is delimited properly, you can open Excel and import the text file. Having your application read/write to Excel is going to be a little more advanced.
C# is great for connecting components that others have developed into programs that run on Windows.
C++ is great for connecting components that others have developed or developing your own and building programs that run on Windows, Linux, Mac, Arduino, Pi, etc.
Choose wisely.
Not really. Unity is quite capable of UI & 2D functions. QT is just so-so and definitely not as portable.
C++ is not a good first language, but in my opinion, the Qt framework is best-of-breed. It delivers on the promise of compiling and running across Linux, Windows, and (admittedly no experience, but it is said) OSX. It has comprehensive utilities for all manner of things like threading and I/O. It is well thought out and properly object oriented. Slots/Signals was a brilliant idea. Documentation of all versions is excellent. There's a very powerful WYSIWYG GUI designer called... Designer... that makes it almost as easy as Visual Basic.
What platforms won't Qt build for? Windows, Linux, Mac, iOS and Android seems pretty comprehensive. I think it even supports some of the IOT OS's.
I'm sure you can make a UI in Unity but why would you add all that overhead to an app when you didn't have to?
My days as professional developer are in the past but I still write code from time to time and Qt is so much better than anything I've seen before. I just wish it used the STL more. I find it so very frustrating that all of these GUI frameworks start off by throwing away most of the C++ standard libraries.
+1
I was literally thinking that the day before yesterday, and not for the first time. I don't understand the motivation. Even the most obscure C++ compiler for some DO-178B hardened embedded platform only DoD uses is still going to have the STL...
Qt not as portable? If there is something else that runs unmodified on Web Assembly, QNX, Integrity, and bare metal, in addition to Linux, Android, OSX, and Windows, I'd really like to evaluate it.