Announcement

Collapse
No announcement yet.

PluriBASIC - Sale Price!

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • PluriBASIC - Sale Price!


    For a limited time, PluriBASIC will drop it's price from $ 79.95 to $49.95.

    PluriBASIC is an engine capable of using external compilers (like PowerBASIC) to generate application for various platforms. The targets include EXE and DLL for windows (via PowerBASIC), Console Java apps, Android apps (with support for DDT style coding) and PHP.

    All of them with the same PowerBASIC-like syntax.

    PluriBASIC can be used for various purposes, like WIndow's desktop applications, Support DLL's, Android apps, web backends for apps (in either built in PHP or EXE via PowerBASIC). The Java mode allows to quickly test Android functions without compiling the whole application -which takes longer to compile-, making development much faster.

    All of the target platforms (except Java console apps) support all the built-in MySQL functionality -which can be compiled using the exact same source code for any platform-. This makes the code portable, you can copy portions of code from an Android app, and compile it for PHP, or WIndows.

    Please let us know if you have questions or need an specific example! We will be glad to provide.

    Please support us by aquiring a license now!




    www.pluribasic.com

  • #2
    Good morning! This offer does not come often! Act now.
    www.pluribasic.com

    Comment


    • #3
      PluriBASIC's Android capabilities, support the following controls:

      CAMERA, BUTTON, LABEL, TEXTBOX, LISTVIEW, WEBVIEW, CHECKBOX, OPTION, RADIO, LISTBOX, IMAGE, IMAGEVIEW, VIDEOVIEW, GIFVIEW, TIMER, COMBOBOX, PROGRESSBAR, VIDEO (alias of video view)

      The DDT engine treats any screen as if it was a 360 x 640 screen for placing the controls. This is usually enough to arrange the controls on the screen and the results are uniform on any screen resolution. Of course, this is configurable and the real screen size can be read with SCREEN GET SIZE and the simulated resolution with SCREEN GET UNITS. The screen can be treated as if it was some other resulution with SCREEN SET UNITS, the real screen resolution will not change, but the control placement will respect this new simulated resolution for new controls (not for already placed controls).

      The SCREEN TRANSFORM statement can translate any metrics, for example, LATLNG to UNITS, CANVAS units to PIXELS... PIXELS to LATLNG... etc, any combination. By the way, the LATLNG applies to MAP dialogs:

      DIALOG NEW MAP hParent, "My Google map dialog", 10, 10, 340, 300, %WS_POPUP OR %WS_ROUNDED TO hDlg

      For example, suppose you create a MAP dialog with the example code above... get the %WM_MOUSEMOVE notification... you get the PIXEL coordinates of the touch with CB.x and CB.y, but you also get the UNIT coordinates of the touch with CB.dialogX and CB.dialogY.

      Suppose you want to know the LATitude and LONgitude coordinates that the user touched... you would simply:

      Code:
      LOCAL LAT AS DOUBLE
      LOCAL LON AS DOUBLE
      
      SCREEN TRANSFORM UNITS CB.dialogX, CB.dialogY TO LATLNG LAT, LNG
      
      ' At this point LAT and LNG contain the map latitude and longitude touched.
      Or you could also do this:

      Code:
      LOCAL LAT AS DOUBLE
      LOCAL LON AS DOUBLE
      
      SCREEN TRANSFORM PIXELS CB.x, CB.x TO LATLNG LAT, LNG
      
      ' At this point LAT and LNG contain the map latitude and longitude touched.
      This can also be used for backwards functionality... suppose you know the latitude and longitude position of something on the map, and you want to draw something on the screen... you can use

      SCREEN TRANSFORM LATLNG LAT, LNG TO CANVAS X, Y

      This way you can draw on the canvas overlay.

      Note: that you CAN draw objects directly on the map and the objects (circles, lines, polygons, rects, etc...) move and adjust to the map, while drawing in a canvas wont. The above example is only to give an example of units transformation. Try MAPVIEW ADD MARKER, MAPVIEW ADD CIRCLE, MAPVIEW ADD LINE... Etc.

      Maps are very configurable, you can set the angle, zoom, rotation, location etc, of a map with MAPVIEW SET...

      I will try to keep posting more info about this.

      Please support us by aquiring a license!
      Last edited by Brian Alvarez; 18 Jun 2017, 12:38 AM.
      www.pluribasic.com

      Comment


      • #4
        I stand corrected, for the moment, MAP dialogs cannot have the %WS_POPUP style. Im not sure why not, i will take a look tomorrow.
        www.pluribasic.com

        Comment


        • #5
          I just removed this limitation. It was possible to add popup map dialogs, but SCREEN TRANSFORM was just not designed to take into account the dialog position for units conversion. It works fine now.

          Also, thanks for reporting the issue with pre-filled STATIC variables. It is also fixed now.
          www.pluribasic.com

          Comment


          • #6
            This is a small example for a map application.

            Requisites:
            • A PluriBASIC project profile named "mapexample"
            • A Google Project configured. (see https://console.developers.google.com)
            • That the Google Project has the Google Maps API enabled.
            • That the PluriBASIC project (besides all normal stuff) has the API key set up.
            • That the app's package name is the same as the Google API is enabled for.
            • That the date and time on your device is setup correctly (Google maps use ssl).
            Here is the source code:
            http://www.pluribasic.com/MapFlag.zip

            Here is the compiled app:
            http://www.pluribasic.com/APP_mapflag.zip

            And here is a preview of the source code:

            Code:
            
            #COMPILE APK
            #DIM ALL
            #REPORT NONE
            #ENCODE NO
            #PROJECT "mapexample"
            #VERSION AUTO
            #DATABASE CLOSED
            #OPTIONS landscape
            
            ' An icon to be displayed in the desktop.
            #APPICON "Location.png"
            
            ' The name that is displayed in the desktop below the icon.
            #APPNAME "Map Example"
            
            ' Package name. Must be the same as your Google console permissions.
            #PACKAGE "com.pluribasic.MapExample"
            
            #RESOURCE bImage,     "location.png"
            #RESOURCE NormalFont, "Normal.ttf"
            
            TYPE FLAGTYPE
                Id      AS LONG
                Lat     AS DOUBLE
                Lon     AS DOUBLE
                Caption AS STRING
                Custom  AS STRING
                OBJECT  AS VARIANT
            END TYPE
            
            
            CALLBACK FUNCTION MapProc() AS LONG
            
            LOCAL CustomValue AS LONG
            LOCAL MarkObject  AS VARIANT
            STATIC Flag       AS FLAGTYPE
            
            SELECT CASE CB.MSG
            
                CASE %WM_CLICK
                    ' The user clicked on the map, lets add a marker!
            
                    ' Store the latitude and longitude 
                    Flag.lat = Cb.latitude
                    Flag.lon = Cb.longitude
            
                    ' Set a caption. Under some OS's it is not displayed.
                    Flag.caption  = "Marker caption"
                    Flag.custom   = "Some custom text, it is for internal use, so you can add anything here."
            
                    ' Assign an individual ID.                          
                    Flag.Id       = RND(1, 9999999)
            
                    ' Add the marker.                                                                 V--- this is optional
                    MAPVIEW ADD MARKER Flag.caption, Flag.Lat, Flag.Lon, bImage, Flag.id, Flag.custom TO Flag.Object
            
                    ' Make a noise.
                    BEEP
            
            
                CASE %WM_MARKERCLICK
            
                    ' A marker was clicked.    
                    MarkObject  = CB.OBJECT
                    CustomValue = cB.WPARAM
            
                    MSGBOX "Flag with ID # " & STR$(cB.WPARAM) & " was touched." & $CRLF & _
                           "The title is: " & cb.title & $CRLF & _
                           "The associated text is: " & Cb.tag & $CRLF & _
                           "And it will now be deleted...", %MB_ICONINFORMATION, "Marker touched"
            
                    MAPVIEW DEL MARKER CB.OBJECT
            
            END SELECT
            
            END FUNCTION
            
            FUNCTION MAIN AS LONG
            
            LOCAL hDlg     AS LONG
            LOCAL Lat, Lon AS DOUBLE
            
            ' This is a typical map setup.
            
            DIALOG NEW MAP 0, "Map dialog", 0, 0, 640, 360, %WS_GRAPHIC or %WS_TOUCHES TO hDlg
            
            ' Map can be rotated.
            MAPVIEW SET ROTABLE %TRUE
            
            ' This is the map default font.
            MAPVIEW SET FONT NormalFont, 14, RGB(0, 0, 0), %TRUE
            
            ' The map is in Satellite mode.
            MAPVIEW SET MODE %SATELLITE
            
            ' Gets the local GPS location if available.
            CALL GPSCOORDS(Lat, lon)
            
            'MAPVIEW SET ZOOM     18       ' This is asynchronous.
            'MAPVIEW SET location Lat, lon ' So, calling this immediately will overwrite the zoom change animation.
            
            ' So, it is better to do this. It animates the zoom and location change in one go.
            MAPVIEW SET ALL 18, Lat, Lon
            
            DIALOG SHOW MODAL hDlg CALL MapProc()
            
            END FUNCTION
            I almost forgot, Please support us by aquiring a license!

            Enjoy.
            www.pluribasic.com

            Comment


            • #7
              Very interesting. Maybe in next few days if I can afford it, might pick up a copy. Looks very powerful.
              Chris Boss
              Computer Workshop
              Developer of "EZGUI"
              http://cwsof.com
              http://twitter.com/EZGUIProGuy

              Comment

              Working...
              X