Pagina1 van 2

Delphi – Beschadigde Data terug halen uit DBF Databases

Delphi – Beschadigde Data terug halen uit DBF Databases
0

dBase bestanden, en een aantal clone varianten van dit formaat, wordt al jaren gebruikt en is zeker geen onbekende voor ontwikkelaars die tools zoals Delphi en Lazarus Pascal gebruiken.

Soms kan het echter voorkomen dat je de data van een DBF bestand niet kunt benaderen, b.v. door een afwijkend DBF formaat.
In dit artikel, gesponsord door Devart, laten we zien hoe de data terug kunt halen met UniDAC.

Merk op: ik heb in het verleden producten van Devart gebruikt, en met name MyDAC (database access voor MySQL), en kan alleen maar zeggen dat hun producten snel, betrouwbaar en flexibel zijn – aanrader dus.

Merk wel op dat de Devart componenten commerciële producten zijn, maar en is een Trial versie beschikbaar (zonder beperkingen) en er is een helemaal gratis Express versie beschikbaar (met wat limitaties voor wie commerciële producten maakt). Hoe dan ook: ik kan hun producten zeer aanraden. Een aantal Devart producten (met name database producten) zijn niet alleen voor Windows geschikt, maar ook voor software ontwikkeling m.b.t. macOS applicaties en andere plattformen.

Lazarus Pascal – Items naar Trash voor Windows, Linux and macOS

Lazarus Pascal – Items naar Trash voor Windows, Linux and macOS
0

In dit korte artikel laat ik je zien hoe ik een functie voor Lazarus Pascal heb gemaakt, waarmee je cross platform (Windows, Linux, macOS) bestanden of directories naar de TrashCan of Recycle Bin kunt verplaatsen.

Omdat het me toch wat moeite kostte om alles voor elk platform te vinden, leek het me een goed idee om de gevonden informatie en de unit die ik gemaakt heb, hier te plaatsen. Hopelijk heeft iemand er wat aan, of heeft iemand suggestie ter verbetering.
Voor het gemak heb ik de unit ook downloadbaar gemaakt waarin de functie voor macOS, Linux en macOS is te vinden.

MacOS – Bootable macOS installatie media maken

MacOS – Bootable macOS installatie media maken
0

In dit artikel laat ik je de stappen zien om zelf macOS installatie media aan te maken …

Zoals veel Mac gebruikers al weten; een nieuwe macOS versie kan met de nodige problemen komen. Soms is de impact minimaal en soms is het een regelrechte ramp.

Catalina is zo’n ramp geval (niet voor iedereen) met name door gewijzigde veiligheidsvoorzieningen en het gebrek aan ondersteuning voor 32 bit applicaties.
Een aantal van mijn veel gebruikte programma’s weigeren ineens dienst te doen, en als ontwikkelaar baart me dat natuurlijk zorgen.

Met deze gedachte maak ik altijd eerst een virtuele machine van de “oude” versie van macOS zodat ik nog terug kan vallen naar die oude versie, nadat ik mijn Mac heb geupgrade naar de meest actuele versie.
Dit komt met wat kleine uitdagingen, en Apple heeft (in hun wijsheid) maar geen eenvoudige DMG of ISO beschikbaar waarmee we al dit zonder moeite hadden kunnen doen. We moeten dat dus zelf gaan maken.

N.b.: Ik beschrijf hier de methode om een bootable USB stick te maken (b.v. voor een verse installatie van jouw Mac) en als DMG bestand (b.v. voor het maken van een Virtuele Machine).

MacOS – SMJobBless: Elevated Privileges met Lazarus Pascal

MacOS – SMJobBless: Elevated Privileges met Lazarus Pascal
1

Zoals sommige al weten, heb ik ooit eens ApplePi-Baker gemaakt, en met de start aan een nieuwe versie wilde ik eigenlijk een betere applicatie bouwen die niet alleen maar een zogenaamde front-end is voor command-line utilities zoals “dd” en “diskutil“. Om dit correct te kunnen doen, moet ik ineens gebruik maken van een zogenaamde Privileged Hulp Programma om root access te krijgen. Daarbij hebben we dan SMJobBless enzo nodig.

Vroeger was het best makkelijk om een backup applicatie te bouwen. Simpel weg de drive openen, lezen en naar een image schrijven. Maar dat kan tegenwoordig niet meer …

Met alle “hack happy” criminelen, moeten bedrijven zoals Apple en Microsoft het steeds veiliger (en dus moeilijker) maken om administratie toegang te krijgen (root access). Uiteraard vind ik een beter veiligheid wenselijk, maar het is wel jammer dat nu meer dan de helft van de tijd die in het ontwikkelen van een programma gaat, gebaseerd is op het aanpassen aan deze nieuwe wijzigingen.

Apple heeft er wel een mechanisme voor, “SMJobBless” of “Privileged Helper“, maar de documentatie is niet al te best. Daarnaast focust Apple natuurlijk alleen maar op Objective C en Swift – welke ik zelf maar prut vindt, en dan hebben we het nog niet over het feit hoe “leuk” ik XCode vindt (not!) – Ik geef de voorkeur aan de taal Pascal en werk dan het liefste in een IDE zoals Lazarus Pascal.

Na heel veel zoeken en uitproberen heb ik het dan eindelijk voor elkaar en in dit artikel beschrijf ik mijn bevindingen.

Let op – Ik ben absoluut geen expert op dit gebied, en probeer je zoveel mogelijk te laten zien van wat ik heb ondervonden. Aangezien, blijkbaar, nog niemand dit gedaan heeft in Lazarus Pascal, zullen er vast punten van verbetering zijn. Laat suggesties en ideëen gerusten horen in de opmerkingen onder het artikel.

Bash Script – Press Any Key To Continue

Bash Script – Press Any Key To Continue
0

In dit artikel een korte beschrijving hoe ik “Press Any Key to Continue” (Druk een toets om verder te gaan) in een Bash script (Linux/MacOS X) heb geïmplementeerd.

Ik werk niet iedere dag met scripts in Bash (Terminal of Shell) dus ik gebruik dit meteen als referentie voor mezelf. In mijn geval wilde ik een script hebben welke Lazarus Pascal update van SVN, en vervolgens het hele zaakje gaat compileren en linken. Echter; ik wilde eerst zien wat er geüpdate was vanuit SVN door een eenvoudige “Press Any Key To Continue” in het script, zodat ik eerst kon lezen wat er nieuw was voor er vanalles over het scherm zou flitsen.

Omdat ik het e.e.a. moest uitzoeken om dit te vinden, leek het me handig dit in een minuscuul artikeltje te proppen. Dan hebben anderen er ook wat aan.

Hoe maak je lege dummy bestanden aan

Hoe maak je lege dummy bestanden aan
3

Soms heb je zo een bestand nodig om mee te rommelen, some 1, some meer of soms een heleboel, gewoon om jouw programma testen of iets dergelijks.

Nu zou je natuurlijk bestanden kunnen aanmaken met b.v. een tekst-editor, door lege bestanden op te slaan – maar er zijn eenvoudigere truuks.

In dit artikel laat ik je zien hoe je snel en eenvoudig lege dummy bestanden kunt aanmaken onder Windows (incl. DOS en PowerShell), Linux en macOS.

Lazarus Pascal – Custom Fonts voor MacOS Applicaties

Lazarus Pascal – Custom Fonts voor MacOS Applicaties
0

Ik neem even aan dat ik niet de enige ben die soms een custom (eigen) font wil gebruiken in eigen Lazarus Pascal applicaties. Ik gebruik ze vaak om mooiere icoontjes en symbolen weer te geven in plaats van de soms wat wazige bitmap afbeeldingen. Als je een eigen font gebruikt dan zien deze symbolen er niet alleen beter uit maar schalen ook nog eens bijzonder netjes.

Omdat ik met symbolen aan de slag ga, gebruik ik meestal een TTF font die ik met IcoMoon heb aangemaakt.
IcoMoon is overigens een geweldige website waar je jouw eigen TTF font (of zelfs SVG of PNG afbeeldingen van symbolen) kunt maken voor het gebruik op een website (Tweaking4All gebruikt ze ook) of … in jouw eigen applicaties.

Er zijn legio voorbeelden hoe je dit met Lazarus Pascal onder Windows kunt doen, daarom richt zicht dit artikel specifiek op Lazarus Pascal onder macOS.

Lazarus Pascal – Ophalen van Yahoo Weersvoorspelling

Lazarus Pascal – Ophalen van Yahoo Weersvoorspelling
0

Zoals een aantal bezoekers al weet; ik prul graag met Lazarus Pascal, een gratis ontwikkelomgeving voor het ontwikkelen van programma’s voor Windows, MAcOS X en Linux, wat veel weg heeft van Delphi.

In een van mijn projecten wilde ik de weersvoorspelling van Yahoo integreren. Ik moest dus uitvogelen hoe je de Yahoo Weer API kunt gebruiken en omdat het me even moeite koste, leek het me handig voor anderen om er een kleine unit voor te maken. Je kunt de unit gratis gebruiken, of er van leren hoe het e.e.a. met Yahoo Weer werkt.

Deze unit gebruikt Synapse, wat gratis is, en fcl-json, wat standaard al bij Lazarus zit.

Lazarus Pascal – Unit voor automatisch starten van jouw programma (Windows/MacOSX)

Lazarus Pascal – Unit voor automatisch starten van jouw programma (Windows/MacOSX)
0

Wanneer je programma’s ontwikkeld, dan kan het soms handig zijn dat je de eindgebruiker een eenvoudige methode biedt om het betreffende programma automatisch te laten opstarten als het systeem opstart. Bij de Mac heten deze items “LoginItems” en onder Windows heten ze “Autorun items”.

Omdat ik zelf een paar programma’s heb geschreven die dit nodig hebben, en omdat een van de meest recente zelfs op Windows en MacOS X moest werken, leek het me handig een unit te maken die hiervoor functies biedt. Niet alleen handig voor mijn eigen programma’s maar ook handig voor anderen …

Ben dus vrij in het gebruik van de code. Deze unit biedt de mogelijkheid om een programma toe te voegen, verwijderen en om te kijken of het programma al automatisch start. De unit is geschreven voor Lazarus Pascal en werkt dus met Windows en MacOS X.

Lazarus – Simpel informatie aan lijsten toevoegen met AddObject

Lazarus – Simpel informatie aan lijsten toevoegen met AddObject
1

Sommige componenten in Lazarus Pascal (en Delphi), en dan vooral die componenten die met lijsten van strings werken, staan het vaak toe om aanvullende informatie toe te voegen aan de individuele regels door middel van objecten. Met name de functie “AddObject” is hier uitstekend voor, maar wordt helaas vaak over het hoofd gezien.

Met deze optie kun je dus meer informatie aan een regel in een lijsten koppelen, die niet meteen zichtbaar is in de lijst.

In dit korte artikel, laat ik je zien hoe je snel en eenvoudig meer informatie kunt toevoegen, zonder veel extra werk.

App Transport Security Exceptions opgelost (iOS 9+, OS X 10.11+)

App Transport Security Exceptions opgelost (iOS 9+, OS X 10.11+)
3

Omdat ik continue op zoek ben naar de “beste” en “eenvoudigste” manier om applicaties voor meerdere platvormen te ontwikkelen (tot dusver is Lazarus Pascal is de winnaar), besloot ik Delphi 10 Seattle eens een poging te geven. Na dat ik bijgekomen was van de hart stilstand (na het lezen van de prijs), besloot ik de goedkopere variant, AppMethod te proberen. Vergeet niet dat AppMethod dan wel goedkoper mag zijn/lijken, het is nog steeds rete duur!

AppMethod is eigenlijk een interessant en bijzonder product (net als Delphi 10), en ondersteund Windows (32/64 bit), Mac OS X (ik gok even 32 bit), Android, en iOS (32 bit en 64 bit). Applicatie ontwikkeling en deployment is super makkelijk.

De eerste test die ik deed was een webpagina laden (van NZBGet), wat op alle platvormen prima werkte,… behalve voor iOS 9, waarbij de melding “The resource could not be loaded because the App Transport Security policy requires the use of a secure connection” verscheen.

Na flink wat zoekwerk vond ik het “waarom” en hoe je dit kunt oplossen – deze informatie is zeer zeker ook handig voor andere ontwikkelomgevingen.

Hoe installeer je Lazarus Pascal op Raspberry Pi 2 (Raspbian)

Hoe installeer je Lazarus Pascal op Raspberry Pi 2 (Raspbian)
25

Voor wie vaker op Tweaking4All is geweest, zal vast wel gemerkt hebben dat ik een Lazarus Pascal fan ben. Ik gebruik het om kleine gratis programma’s te bouwen voor meerdere besturingssystemen zoals Windows, MacOS X and Linux (indien mogelijk).

Dus waarom niet ook op een Raspberry Pi (Raspbian)? Lazarus ondersteund Rapid Application Development zoals Delphi dat ook doet, en dit zou dus ideaal zijn voor een platform zoals de Raspberry Pi. Zeker nu de Raspberry Pi  2 Model B snel genoeg lijkt te zijn.

Daar komt dan nog bij, dat mijn zwager (Hey Sjampie!) en ik graag op basis van een Raspberry Pi 2 een alarm systeem willen gaan bouwen, met een TouchScreen en een zooi sensoren. Lazarus Pascal zou hiervoor ideaal kunnen zijn.

Tot grote teleurstelling, kostte me het toch erg veel moeite om Lazarus op mijn nieuwe Raspberry Pi 2 Model B aan de gang te krijgen… dus in dit artikel, op basis van van alles wat ik op het Internet bij elkaar heb geraapt, hoe je dat kunt doen.

Automatische MySQL Backup m.b.v. Replicatie

Automatische MySQL Backup m.b.v. Replicatie
2

De laatste paar dagen ben ik aan het rommelen geweest met het opzetten van een tweede QNAP NAS als een backup machine voor mijn primaire QNAP. M.b.v. realtime synchronisatie worden nu alle files van mijn QNAP TS-869 Pro automatisch gekopieerd naar mijn backup QNAP (een QNAP TS-569L). Jammer alleen dat de mannen van QNAP even vergeten zijn een optie voor een backup van de MySQL database(s) in te bakken.

Gelukkig heeft MySQL zelf een aantal opties om een backup van de ene database server naar een andere database server te kopiëren … een daarvan wordt “Replication” genoemd en iedere wijziging in de “Master” (bron) wordt automatisch overgnomen door de “Slave” (de backup database server). Dit mechanisme werkt erg goed en de Slave hoeft niet eens in constante verbinding te staan met de Master om de wijzigen over te nemen.

In dit artikel laat ik je zien hoe ik dit voor mijn twee MySQL servers (QNAP) heb gedaan …

MySQL Export en Import Data: Maak een Database backup

MySQL Export en Import Data: Maak een Database backup
0

MySQL is een van de meest gebruikte database engines, en dat is niet alleen omdat het gratis is, maar ook omdat het snel en betrouwbaar is. Dat wil niet zeggen dat je nooit een backup moet maken.

Er zijn verschillende redenen waarom je een backup (export) wilt maken. Bijvoorbeeld voor als de server crashed, een snapshot voor je veranderingen maakt of omdat je de database wilt verhuizen naar een andere server.

Het maken van een backup is niet altijd even “duidelijk” – daarom in dit artikel een beschrijving van 3 methoden voor MySQL Export en Import van data voor backup en restore doeleinden.

ASCII HTML Tabel – Alle HTML en DOS ASCII Tekens

ASCII HTML Tabel – Alle HTML en DOS ASCII Tekens
3

Ik heb jaren al een oude Microsoft DOS 6.0 handboek op m’n bureau liggen, alleen maar als referentie voor ASCII karakter codes.

Toen ik jaren geleden in HTML begon te prullen maakte ik een ASCII tabel voor de oude WeetHet website. Maar die tabel had wat tekortkomingen en nu heb ik dan eindelijk de tijd eens genomen om een betere versie te maken.

In de tabel kun je alle 256 ASCII (DOS) karakters terug vinden met de HTML tegenhanger … inclusief decimale en hexadecimale waarden, HTML codes zowel in tekst als nummers, beschrijving van de karakters en zelfs de oude DOS karakters voor het tekenen met blokken …

1 2