Mi primera Aplicación con Fivetouch

Mi primera Aplicación con Fivetouch

Postby jtscalpe » Sat Sep 16, 2017 10:50 am

Buenas a todos.

En 1995 comencé una aplicación con clipper 5.2 especializada en la gestión comercial para Ferreterías con un IDE propio, diseñador de pantallas con radiobuttom y check y todo eso, posteriormente empezé a utilizar Harbour y por supuesto ahora envia Mails, Genera eFacturas y las firma, funciona con LibbreOffice y MicrosoftOffice, Fotografias de Productos, Fichas tecnicas de productos, Tablet de Firma, Informes con Fastreport, etiquetadoras y .... todas esas cosas, está instalada en bastantes ferreterías y tiendas multiprecios y tiendas donde se trabaje con stoks y ahora me gustaría introducir una app para moviles y otra para tablet.

La App de moviles se necesita para el personal en el propio establecimiento, para regularizar inventario, realizar ventas con la correspondiente firma del cliente y mostrando claro está la foto del producto, imprimir etiquetas con codigo de barras, realizar pedidos de compra, ubicar productos y pocas cosas más.

La App de tablet sobre todo es para personal que está fuera del establecimiento y sobre todo está dedicado a la venta externa, por lo tanto, lo que se necesitaría es la posibilidad de pedidos de cliente con foto de productos y firma del cliente, también saber que es lo que mas consume el cliente, los recibos pendientes de cobro, las incidencias o faltas del cliente, etc...

Por lo tanto después de estudiar como hacerlo he visto el producto de fivetouch, puesto que como el tiempo es valioso para todos, necesitaba todo esto y por supuesto lo mas rápido posible, en principio parece que funciona con Android, IOS y Windows.

Así que voy a empezar primero la aplicación para dispositivos móviles y voy a ir documentándola en el foro, por supuesto que cometeré muchos fallos e iré cambiando cosas y volviendo atrás, supongo que estamos familiarizados, espero también por favor que me ayudéis puesto que soy nuevo en esto, también espero que le sirva a mas gente.

El primer módulo será el menú Rad_Main.prg y por cierto no se como subir la foto para que veais como funciona con android


#include "FiveTouch.ch"

Function Main()
Local lOk := .F.
Public cConexion

// Inicializacion RDD DBFCDX Nativo***
REQUEST DBFCDX , DBFFPT
RDDSETDEFAULT( "DBFCDX" )

// DATOS DE INICIALIZACION***
SET DATE FRENCH
SET CENTURY ON
SET DATE FORMAT "dd-mm-yy"

lOk := Conexion( IpConexion, Puerto, Contraseña )

If !lOk
MsgInfo('No existe Conexion')
Else
AbrirTablas()
WndPrincipal()
Endif

Return(NIL)
//--------------------------------------------------------------------------
Function WndPrincipal()
Local oPrincipal
Local aBtn[6]

DEFINE DIALOG oPrincipal TITLE "Radio JJG" ;
SIZE ScreenWidth(), ScreenHeight()

@ (( ScreenHeight()/6 ) * 0) +10, 020 BUTTON aBtn[1] PROMPT "Ventas" OF oPrincipal ;
SIZE ScreenWidth()-40, ( ScreenHeight()/6 )-40 ACTION MsgInfo( 'Ventas' )
aBtn[1] :SetStyleSheet( " font-size: 36px" )

@ (( ScreenHeight()/6 ) * 1)+10, 020 BUTTON aBtn[2] PROMPT "Reposici¨®n" OF oPrincipal;
SIZE ScreenWidth()-40, ( ScreenHeight()/6 )-40 ACTION MsgInfo( 'Reposici¨®n' )
aBtn[2] :SetStyleSheet( " font-size: 36px" )

@ (( ScreenHeight()/6 ) * 2)+10, 020 BUTTON aBtn[3] PROMPT "Etiquetas" OF oPrincipal;
SIZE ScreenWidth()-40, ( ScreenHeight() /6 )-40 ACTION MsgInfo( 'Etiquetas' )
aBtn[3] :SetStyleSheet( " font-size: 36px" )

@ (( ScreenHeight()/6 ) * 3)+10, 020 BUTTON aBtn[4] PROMPT "Inventario" OF oPrincipal;
SIZE ScreenWidth()-40, ( ScreenHeight()/6 )-40 ACTION MsgInfo('Inventario')
aBtn[4] :SetStyleSheet( " font-size: 36px" )

@ (( ScreenHeight()/6 ) * 4)+10, 020 BUTTON aBtn[5] PROMPT "Cambio Sec/Fam" OF oPrincipal;
SIZE ScreenWidth()-40, ( ScreenHeight()/6 )-40 ACTION MsgInfo( 'Cambios Sec/Fam' )
aBtn[5] :SetStyleSheet( " font-size: 36px" )

@ (( ScreenHeight()/6 ) * 5)+10, 020 BUTTON aBtn[6] PROMPT "Cancel" OF oPrincipal ;
SIZE ScreenWidth()-40, ( ScreenHeight()/6 )-40 ACTION oPrincipal:End()
aBtn[6] :SetStyleSheet( " font-size: 36px" )

ACTIVATE DIALOG oPrincipal CENTERED

Return( NIL )
//--------------------------------------------------------------------------
Function AbrirTablas()

DbCloseAll()

USE ( cConexion+'DBF/'+'F_ARTCLA') INDEX ( cConexion+'DBF/'+'F_ARTCLA') ALIAS 'F_ARTCLA' NEW SHARED
USE ( cConexion+'DBF/'+'F_ARTICU') INDEX ( cConexion+'DBF/'+'F_ARTICU') ALIAS 'F_ARTICU' NEW SHARED
USE ( cConexion+'DBF/'+'F_CLIENT') INDEX ( cConexion+'DBF/'+'F_CLIENT') ALIAS 'F_CLIENT' NEW SHARED
USE ( cConexion+'DBF/'+'F_DESVIA') INDEX ( cConexion+'DBF/'+'F_DESVIA') ALIAS 'F_DESVIA' NEW SHARED
USE ( cConexion+'DBF/'+'F_MOSTRA') INDEX ( cConexion+'DBF/'+'F_MOSTRA') ALIAS 'F_MOSTRA' NEW SHARED
USE ( cConexion+'DBF/'+'F_PEDIDO') INDEX ( cConexion+'DBF/'+'F_PEDIDO') ALIAS 'F_PEDIDO' NEW SHARED
USE ( cConexion+'DBF/'+'F_TIPIVA') INDEX ( cConexion+'DBF/'+'F_TIPIVA') ALIAS 'F_TIPIVA' NEW SHARED READONLY
USE ( cConexion+'DBF/'+'F_ETIQUE') INDEX ( cConexion+'DBF/'+'F_ETIQUE') ALIAS 'F_ETIQUE' NEW SHARED READONLY
USE ( cConexion+'DBF/'+'F_DIRCTE') INDEX ( cConexion+'DBF/'+'F_DIRCTE') ALIAS 'F_DIRCTE' NEW SHARED READONLY
USE ( cConexion+'DBF/'+'F_PROMOC') INDEX ( cConexion+'DBF/'+'F_PROMOC') ALIAS 'F_PROMOC' NEW SHARED READONLY
USE ( cConexion+'DBF/'+'F_DESCUE') INDEX ( cConexion+'DBF/'+'F_DESCUE') ALIAS 'F_DESCUE' NEW SHARED READONLY
USE ( cConexion+'DBF/'+'F_ESTART') INDEX ( cConexion+'DBF/'+'F_ESTART') ALIAS 'F_ESTART' NEW SHARED READONLY

Return( NIL )
//-----------------------------------------------------------------------------------
Function Conexion( cNetServer, nNetPort, cNetPass )
Local lConect := .F.

//--------------------------------------------------------------------
// Conexi¨®n a Tablas a traves de Ip o dynddns
//--------------------------------------------------------------------
lConect := Netio_Connect( cNetServer, nNetPort,, cNetPass )
If lConect
cConexion := "net:" + cNetServer + ":" + hb_ntos( nNetPort ) + ":" + cNetPass + ":/"
Endif

//--------------------------------------------------------------------
// Conexi¨®n a Tablas en Disco Local o Disco de Red
//--------------------------------------------------------------------
If !lConect
cConexion := 'C:\FERRO\'
If HB_DirExists( cConexion )
lConect := .T.
Endif
Endif

Return( lConect )
//------------------------------------------
jtscalpe
 
Posts: 18
Joined: Thu Sep 07, 2017 6:20 pm

Re: Mi primera Aplicación con Fivetouch

Postby ruben Dario » Mon Oct 09, 2017 1:33 am

Hola jtscalpe
Quiero empezar , me gustaria compilar tu ejemplo, tu me puedes decir, que debo tener instalado para crear el APK, se puede crear desde Windows

Gracias
Ruben Dario Gonzalez
Cali-Colombia
User avatar
ruben Dario
 
Posts: 916
Joined: Thu Sep 27, 2007 3:47 pm
Location: Colombia


Return to FiveTouch

Who is online

Users browsing this forum: No registered users and 1 guest