• Nieuwe artikelen

  • Nieuwe blogs

  • jkuiper

    by Published on 07-Jan-15 18:59
    Article Preview

    Op verschillende seminars zie ik leuke dingen van Smart Mobile uitkomen. Inmiddels is versie 2.1 gereleased en verwacht je een leuk product. Gisteren een demo-key aangevraagd voor professional. De enterprise heb ik niet nodig, omdat ik geen datasnap heb en daarvan de prijs nog veel te hoog vind voor een hobby gebruiker.
    Mijn doel is uiteindelijk een webpagina te maken, die gegevens uit een database haalt (via REST) en deze presenteert op het scherm. Uiteindelijk zal het een webpagina zijn, waarvan ik een naam kan selecteren en een frame kan tonen in de browser. Zo kan elke gebruiker zelf een keuze maken wat hij/zij wilt zien (www.caviawatch.nl). Maar eerst een product leren gebruiken. Anders kom je niet ver.
    Welk ontwikkeldialect gebruikt Smart Mobile? PASCAL! Dat is mooi. Ik werk al jaren met Delphi / Lazarus en kan dus wel wat programmeren om een redelijk programma te kunnen tonen. De installatie is simpel. Downloaden van de website, installeren en de demo-key invoeren. Deze key is 35 dagen geldig. Als je niets te doen hebt, heb je zat tijd om alles uit te vogelen. Programma opgestart en het eerste wat je ziet is de IDE. Deze is een beetje opgebouwd op basis van D7, maar ondanks alles neergezet als een single doc, waardoor het een look'n'feel krijgt van D2005+.

    Als eerste ga je kijken naar de demo's. Dat zijn er best wel veel, maar 95% is gerelateerd op client niveau. Ik wil juist op client/server werken, zodat ik resultaat van tabel vanuit mijn databaseserver krijgt in mijn browser. Daar zijn geen demo's van. Een enkele, die een tabel vult vanuit een button, maar ik kan niet zien waar die gegevens staan. Ik zie in de debuggerscherm dat er wel records worden aangemaakt, maar waar geplaatst worden en ik geen idee van.
    Maar het best leren doe je door eigen programma's te maken met behulp van de documentatie.
    Een nieuw visual project opgestart. De IDE komt met een leegscherm wat tevens je formulier is. Geen border, want het is geen echt venster, maar een pagina in je browser. Een beetje gekeken naar welke componenten aanwezig zijn en viel mij een beetje tegen. De standaard (common) componenten zijn een beetje hetzelfde als in Delphi/Lazarus. Ik begrijp alleen niet waarom er een aparte tabblad is voor mobile componenten. De datatab valt een beetje tegen. Daar staat alleen een grid en een chart in. Eigenlijk had ik ook componenten verwacht, zoals TDatabase en TDataset en DBComponenten, die visueel een SQLite database direct kan benaderen. Is een visual IDE niet gemaakt, om de ontwikkelaar het laten vereenvoudigen om met simpele handelingen uit te kunnen voeren. Ik weet dat je een database als MySQL/MariaDB, SQLServer, Firebird/Interbase of Oracle zomaar kan benaderen, omdat deze achter een firewall zitten, maar SQLite is eigenlijk een local database. Maar wie weet.

    Mijn eerste doelstelling: het tonen van een grid met data erin. Component W3Grid gepakt en deze op het formulier geplaatst. Dan zal je verwachten dat je, net zoals een TStringgrid, al een basis grid hebt. Maar het component is leeg. Sterker nog; je MOET zelf de bronbestand van de grid in de uses plaatsen. Vervolgens moet je het zelf declareren in de {private} sector van je formulier. Waarom doet de IDE dat niet voor je! Je moet de Grid zelf in runtime aanmaken. Ziet er dan zo uit:
    Delphi Code:
    1. procedure TForm1.InitializeForm;
    2. begin
    3.   inherited;
    4.   // this is a good place to initialize components
    5.   MyGrid := TW3Grid.Create(Self);
    6.   MyGrid.Visible := True;
    7.   Mygrid.Top := 20;
    8.   Mygrid.Left := 20;
    9.   MyGrid.HeaderHeight := 26;
    10.   MyGrid.RowHeight := 24;
    11. end;
    Dan heb je een Grid gedefineerd zonder kolommen. Deze moet je ook zelf aanmaken. ...
  • Nieuwste forumberichten

    Efje

    Veldwaarde binnen een groep ophogen met MYSQL.

    Door het antwoord van Rik ben ik mij in de Pivot gaan verdiepen. Daar kwam ik SQL functies tegen die ik nog niet echt kende zoals Group_concat, Rollup

    Efje Today, 23:30 Go to last post
    Bart B

    Abs(Variant)

    Bedankt voor het testen.
    Waarschijnlijk dus een "implementatie detail" en ongedocumenteerd.

    Bart

    Bart B Today, 18:02 Go to last post
    rvk

    Abs(Variant)

    Er wordt volgens mij ook ergens (op forum of mailinglist) gezegd dat het kan zijn dat het gewoon de eerste "fit" is die de compiler tegen komt.

    rvk Today, 17:59 Go to last post
    Bart B

    Abs(Variant)

    Op de fpc devel list zegt JM op mijn idee dat pas @runtime de juiste overload wordt gekozen:


    Dit zou suggereren dat Delphi altijd

    Bart B Today, 17:39 Go to last post
    rvk

    Abs(Variant)

    Nee, hoor, Abs(-1.5) geeft 1.5. Kijk maar: Showmessage(Abs(-1.5).ToString);


    Ja, maar nu ga je het hebben over een variant. Dat is

    rvk Today, 16:57 Go to last post
    Bart B

    Abs(Variant)

    Hallo,

    Maar weer eens een fpc vs delphi vraagje.
    In fpc geeft Abs(-1.5) als resultaat 2 (en niet 1.5), "hoort" dat zo?

    Bart B Today, 16:35 Go to last post