Kodeeksempler

Jeg har noen kodeeksempler som for det meste er tilpasset mitt halvferdige program. Alle eksemplene er skrevet for å være instruktive, enkle å forstå og ikke for å være mest mulige effektive.

Som pensjonist har jeg ganske god tid til å drive med det jeg vil, og jeg bestemte meg for å lage en «Photoshop»-klone 🙂 Ikke fordi jeg er misfornøyd med PhotoShop, eller fordi jeg tror jeg kan lage et mye, bedre program, men mest fordi programmering er en av mine hobby.

Pr i dag ser programmet slik ut:

Gamlisens Program

I RAD Studio ser det under kodearbeidet slik ut:

På bildet ovenfor kan du se prosjektet består av et hovedprogram og en DLL, DLL-en er for dynamisk lasting av menyene, og under applikasjonen kan du se at det allerede nå er testet ut en del filtre.

Det har foreløpig stoppet opp lite grann fordi jeg ble litt (ganske meget egentlig 🙁 ) skuffet over at det grafiske biblioteket til Firemonkey gjør om alle bilder til 32 Bits RGB internt (Dette gjelder i hvert fall i dag, 16.Jan 2020).

Så et lite video-eksempel laget i Lightwave, modellen i Modeler og animasjonen i Layout. Husker ikke sikert, men tror det hele ble satt sammen i  Adobe Premiere Pro, eller Corel VideoStudio.

Du kan faktisk kjøre den i fullscreen ved å klikke på den lille firkanten til høyre for høyttaleren. Du må da selvfølgelig trykke Esc-tasten for å komme ut av Fullscreen modus 🙂

Denne videoen er litt over 25 MB, ikke store greiene m.a.o men det funker, og det var faktisk mulig å laste den ned 🙂

Internasjonalisering og stilendring

Neste trinn var å få til en praktisk løsning på internasjonalisering og endring av stil («Style») og farger ved runtime. Hva med en PhotoShop Clone? Hehe, litt over hva jeg kan få til, antagelig, men et skall med tomme menyer er jo mulig 🙂

Det tok forøvrig over én måned bare å taste inn all menyteksten. All teksten ligger nå i string-lister som kan deles ut til en oversetter. Den oversatte teksten legges inn i en DLL som kompileres og linkes.

Resultatet ble ikke så verst, om jeg skal si det selv ut fra bildene nedenfor 🙂

Det siste bildet viser dessuten noen fotofiltre vi får med i C++ Builder 🙂

Test av verktøy (første inntrykk)

Når jeg foretar slike tester, er det (for meg) viktig å ta med et første inntrykk, men likevel (prøve å) være klar over at det egentlig bare er et førsteinntrykk, dvs. stor sjangse for at konklusjonene blir feil, jeg MÅ være klar over at på dette tidspunkt er dette er stort sett bare synsing.

Nå har jeg advart deg 🙂 Vi får alltid et førsteinntrykk , det gjelder ALLE former for møter, vi må bare være klar over det. Hva er så mitt første inntrykk av disse verktøyene? Jeg skal prøve å forklare.

Installasjon og klargjøring

Igjen: Dette er helt sikkert farget av mitt tidligere bruk av disse verktøyene, så ta det for det det er verdt.

  • Visual Studio (Microsoft), community versjonen
  • C++ Builder (Embarcadero), community versjonen
  • Android Studio, Open Source
  • QT, Open Source

Microsoft er Microsoft. Er det noen som greier å gjøre installasjon av verktøy (programmer) enkelt for brukerne, er det dem. De har sin(e) egne compiler(e), verktøyet vet hvor alt finnes, alt bare funker.

C++ builder har også sin egen compiler, derfor vet også dette settet hvor alt finnes. Det sitter fremdeles mange minner og mye begeistring igjen fra gode, gamle Borland. Dette sette ble også installert uten spesielle problemer. Jeg laget et veldig enkelt programeksempel, og det kunne kjøres direkte under Windows 10 uten flere dikkedarer.

Android studio lot seg også installere uten særlig vanskeligheter. Jeg installerte vel omtrent full pakke og alt funket rett ut av boksen. Dette ble min første «hello world» app for mobilen.

Du vil kanskje fikle litt for å sette opp (koble til) mobilen, inn i div menyer for å tillate mobilen å koble til maskinen, men såpass bør vi gamle programmerere få til 🙂

QT Gav meg noen problemer under installasjonen, kanskje mest fordi den ikke har sin egen compiler. Du MÅ fortelle QT hvor språkverktøyene finnes. Det fant de fleste, men jeg har fremdeles noen problemer med å angi Microsoft sin compiler. Denne spiller ikke rett ut av boksen, du må gjennom en deployment fase.