Archives for : Projecten

BMI Calculator – Mijn eerste TDD applicatie.

Hier ben ik weer na maanden niks gepost te hebben. Ik heb in de tussentijd niet stil gezeten. Heb mezelf Test Driven Development (TDD) geleerd. Ik raak steeds meer bedreven in TDD toe te passen bij software development.

Ik ben ook het boek C++ How to program International 9th edition aan het lezen. Een van de zogenaamde ‘Making a difference’ oefeningen uit hoofdstuk 2 was het maken van een BMI Calculator. Ik heb deze oefening verder uitgewerkt tot een volwaardige windows desktop applicatie.

Ik heb twee klassen ontwikkeld. De ene is een klasse die de berekening en gelijk een controle op de ingevoerde data uitvoert. De andere is een heel eenvoudige klasse die aan de hand van de uitkomst van de berekening aangeeft in welke classificatie die uitkomst thuis hoort.

De ontwikkeling m.b.v. TDD heb ik gedaan in de CodeBlocks IDE met de TDM GCC C++ 9.2.0 compiler. Ik heb het Google Test Framework gebruikt om de unit tests te schrijven. Nadat ik de twee klassen heb ontwikkeld, heb ik in C++ Builder 10.3.3 Community Edition de GUI en een event-handler gecodeerd.

In de nabije toekomst wil ik ook in C++ Builder DUnit gebruiken om unit tests te maken. Zodat ik ook de C++ code in C++ Builder kan testen.

Je kan de BMI Calculator downloaden op https://software.coolcppstuff.nl

Een nieuwe IP2Geo gemaakt in C++ Builder 10.3 Rio Community

Na bijna een jaar niets meer te hebben gepost, ben ik van plan weer regelmatig te gaan posten. Ik begin dit artikel met IP2Geo. Ik weet het, ik heb eerder zo’n applicatie gemaakt en beschikbaar gesteld op mijn downloadsite. Maar die versie werkte niet meer omdat de web service die het gebruikte offline is gegaan.

De nieuwe versie maakt gebruik van de API van IPStack.com. Deze API ontsluit veel meer gegevens dan ik nu toon in deze eerste versie van IP2Geo. Ik ben van plan binnenkort een nieuwe versie beschikbaar te stellen die veel meer informatie toont.  De huidige versie is in het Engels. Maar gebruik is heel makkelijk. Je typt een IP-adres in en klikt op de knop met de naam ‘Lookup’. Je kan IP-adressen invullen in IP v4 en IP v6 formaat.

IP2Geo gecompileerd in C++ Builder 10.3 Community

Ik breid dit artikel nog verder uit. Dit is een eerste opzet. Je kan IP2Geo downloaden op https://software.coolcppstuff.nl

Werkend aan de volgende release van Weerstation/Weatherstation 2.0

Hoi,

Voor wie het interesseert: ik ben weer actief begonnen met het ontwikkelen van Weerstation 2.0. Gisteren ben ik er eens ingedoken of er een manier was om Weerstation 2.0 te vertalen naar het engels. Na enig zoeken heb ik een port gevonden van GNU GetText, genaamd dxgettext. Je kan een snapshot  downloaden met de laatste verbeteringen.

Ik heb in C++ Builder Starter 10.2.1 Tokyo van gnugettext.pas een library gemaakt. Stel dan wel in Project->Options->Pre-compiled headers de eerste twee opties op ’true’. Anders genereerd C++ Builder geen gnugettext.hpp en kun je niks met de library.  Verder heb ik TinyXML 2 gebruikt voor het parsen van de XML-data van de OpenWeatherMap web service. Het heeft even geduurd voordat ik de XML-parser code werkend heb gekregen.

Coderen in C++

Alles heb ik gecodeerd in C++. Ik ben al bijna 6 jaar bezig met het programmeren in C++. Sommige dingen snap ik nog steeds niet helemaal. Maar mijn code probeer ik wel steeds te verbeteren. Ik gebruik nog steeds de C++ 1998/2003 standaard. Al heb ik al een boek dat de C++ 2011 standaard behandeld. Ik ben er nog niet aan toegekomen om het boek te lezen.  In de nabije toekomst wil ik alle code van Weerstation 2.0 vertalen naar C++ 2011 code. Mijn huidige C++ compiler (C++ Builder Starter) ondersteund al de C++ 2011 standaard met de CLANG-compiler. De code aanpassen aan de C++ 2014 en/of de nieuwe C++ 2017 zal t.z.t. zeker plaatsvinden indien mijn C++ compiler dit ondersteund.

Zelf aan de slag

Wil je zelf aan de slag met C++ dan zijn er verschillende manieren om C++ te leren. Online op www.learncpp.com of een Nederlandstalig boek zoals Aan de slag met C++ (Dit behandeld de laatste C++ 2011 standaard). De C++ Builder Starter versie die ik gebruik is gratis te downloaden (na registratie) op https://www.embarcadero.com/products/cbuilder/starter/free-download

Moeilijke taal

C++ is wel een van de moeilijkste talen om te leren. Geeft dus niet gelijk op als je iets niet snapt. Google het eens. Er is heel veel informatie te verkrijgen op het internet.

Hiermee besluit ik deze post.

Groetjes,

Don

Nieuwe downloadsite Cool C++ Stuff Software

Hallo,

Ik heb een nieuwe downloadsite opgezet waar je al mijn software kunt downloaden.

Je kunt het via de volgende link bereiken: http://software.coolcppstuff.nl

Veel plezier met C00l C++ Stuff Software!

Het project Weerstation 2.0

Ruim een jaar geleden ben ik gestart met een programmeerproject, namelijk Weerstation 2.0. Een eenvoudig programma waar je het huidige weer en de 3 daagse verwachting voor bijna elke plaats op deze aardbol kunt weergeven.

Ik wilde dat het een compact programma zou worden dat native draait op Windows. Dus heb ik gekozen het in C++ te schrijven. Met behulp van een oude versie van C++ Builder: Turbo C++ Explorer 2006. Aangezien dit een gratis versie is en ik geen geld heb voor het nieuwe C++ Builder 10 Seattle. Wat wel allerlei leuke nieuwigheden aan boord heeft zoals C++ 11/14 ondersteuning.

Ik moet het met C++ 1998/2003 ondersteuning doen. Dit is geen ramp. Aangezien ik C++ leer uit een wat gedateerd boek. Ik wil voor toekomstige versies wel gebruik maken van een modernere ontwikkelomgeving, mits ik de financiële middelen kan vrijmaken.

Als je me wilt helpen bij de ontwikkeling van dit programma, kun je via onderstaande link de actuele alfa versie van Weerstation 2.0 downloaden. Op dezelfde website staat een link naar MantisBT, een bugtracker waar je bugs kunt rapporteren.

Weerstation 2.0 alfa in de IDE van Turbo C++ 2006 Explorer

Weerstation 2.0 alfa in de IDE van Turbo C++ 2006 Explorer

Weerstation 2.0 in actie.

Weerstation 2.0 Alfa…. een project in ontwikkeling.

 

Weerstation 2.0 Download website