Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<ManagedForm databaseName="smarmotech" fileVersion="31400" gstVersion="31408" name="ManagedForm" uid="{d1f702e7-c6ca-44f8-bb14-31709bb7c5cb}">
|
||||
<AGSettings>
|
||||
<DynamicProperties version="2"/>
|
||||
</AGSettings>
|
||||
<Record name="s_topics" uid="{f02ed83d-91eb-4659-bd7d-d40b206ad653}">
|
||||
<RecordField colName="name" fieldIdRef="0" fieldType="TABLE_COLUMN" name="topics.name" sqlTabName="topics" uid="{7fb2db6b-06a4-4721-8a5f-a8f6b0c9d8c2}"/>
|
||||
<RecordField colName="parent" fieldIdRef="1" fieldType="TABLE_COLUMN" name="topics.parent" sqlTabName="topics" uid="{941ee7db-8898-4877-a3b4-ae53ab34b5bd}"/>
|
||||
<RecordField colName="dirname" fieldIdRef="2" fieldType="TABLE_COLUMN" name="topics.dirname" sqlTabName="topics" uid="{293e550f-98c1-4ca3-ab7a-a7ae0ba9a866}"/>
|
||||
</Record>
|
||||
<Record name="s_demos" uid="{2d1732a9-fbce-4d1c-9fa0-547fcb853886}">
|
||||
<RecordField colName="name" fieldIdRef="3" fieldType="TABLE_COLUMN" name="demos.name" sqlTabName="demos" uid="{40119f00-fbac-4c8d-b996-b7ba5042ee72}"/>
|
||||
<RecordField colName="program" fieldIdRef="4" fieldType="TABLE_COLUMN" name="demos.program" sqlTabName="demos" uid="{76f0919f-0d27-404f-ad86-dd09319f80fd}"/>
|
||||
<RecordField colName="args" fieldIdRef="5" fieldType="TABLE_COLUMN" name="demos.args" sqlTabName="demos" uid="{fde0c1e9-f75f-4ec4-bf7d-5858d417e7b8}"/>
|
||||
<RecordField colName="tipo" fieldIdRef="6" fieldType="TABLE_COLUMN" name="demos.tipo" sqlTabName="demos" uid="{1c3ae223-ebba-4dbd-b617-83cf85bbfb77}"/>
|
||||
<RecordField colName="basedatos" fieldIdRef="7" fieldType="TABLE_COLUMN" name="demos.basedatos" sqlTabName="demos" uid="{d3cd32a3-f1ce-4a1e-9c69-fcc2c974187d}"/>
|
||||
<RecordField colName="description" fieldIdRef="8" fieldType="TABLE_COLUMN" name="demos.description" sqlTabName="demos" uid="{2fc480cb-ac8e-4ca1-a19b-a264dcfb3dc5}"/>
|
||||
<RecordField colName="dirname" fieldIdRef="9" fieldType="TABLE_COLUMN" name="demos.dirname" sqlTabName="demos" uid="{5b9c5ecb-af16-4f29-b273-59992e7e3cbc}"/>
|
||||
<RecordField fieldIdRef="11" name="ruta" uid="{68fd195f-e9be-4215-a79f-977039eac256}"/>
|
||||
</Record>
|
||||
<Record name="record1" uid="{c4f319c7-1445-4bb2-8f50-36a5ce3675c1}">
|
||||
<RecordField colName="readme" fieldIdRef="10" name="readme" sqlTabName="formonly" uid="{50c3df19-89c8-427f-94eb-d606c1e5126c}"/>
|
||||
<RecordField colName="nombre_cia" fieldIdRef="12" name="nombre_cia" sqlTabName="formonly" table_alias_name="" uid="{d397b5f4-e48d-4846-9de7-a823a3004ade}"/>
|
||||
<RecordField colName="lusuario" fieldIdRef="13" name="lusuario" sqlTabName="formonly" table_alias_name="" uid="{6c2613c2-36fa-41ff-9c7f-0450ee35eacb}"/>
|
||||
<RecordField colName="usuario" fieldIdRef="14" name="usuario" sqlTabName="formonly" table_alias_name="" uid="{072f93d4-665e-4f04-a128-a98b1d658521}"/>
|
||||
<RecordField colName="lfecha" fieldIdRef="15" name="lfecha" sqlTabName="formonly" table_alias_name="" uid="{b8b4484e-7edd-44b3-b649-1196717c78ff}"/>
|
||||
<RecordField colName="fecha_sistema" fieldIdRef="16" name="fecha_sistema" sqlTabName="formonly" sqlType="DATE" table_alias_name="" uid="{c2457beb-cebf-4710-8115-41ae1ab8d02f}"/>
|
||||
<RecordField colName="ltasa" fieldIdRef="17" name="ltasa" sqlTabName="formonly" table_alias_name="" uid="{92e96527-8efd-4a92-bb33-178bfd627e11}"/>
|
||||
<RecordField colName="tasa" fieldIdRef="18" name="tasa" sqlTabName="formonly" table_alias_name="" uid="{db75a797-9b39-444a-b8e4-486b456cda42}"/>
|
||||
</Record>
|
||||
<Form gridHeight="26" gridWidth="153" name="demo" text="MBS">
|
||||
<Grid gridHeight="26" gridWidth="153" name="grid1" posX="0" posY="0">
|
||||
<Group gridHeight="5" gridWidth="36" name="group1" posX="2" posY="1">
|
||||
<Image gridHeight="1" gridWidth="10" image="logo.png" name="image1" posX="8" posY="2" stretch="both"/>
|
||||
</Group>
|
||||
<Group gridHeight="6" gridWidth="54" name="Group2" posX="40" posY="1">
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="nombre_cia" fieldId="12" gridHeight="1" gridWidth="48" name="nombre_cia" posX="3" posY="1" sqlTabName="formonly" tabIndex="-1" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="lusuario" fieldId="13" gridHeight="1" gridWidth="11" name="lusuario" posX="3" posY="2" sqlTabName="formonly" tabIndex="-1" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="usuario" fieldId="14" gridHeight="1" gridWidth="20" name="usuario" posX="16" posY="2" sqlTabName="formonly" tabIndex="-1" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="lfecha" fieldId="15" gridHeight="1" gridWidth="11" name="lfecha" posX="3" posY="3" sqlTabName="formonly" tabIndex="-1" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="fecha_sistema" fieldId="16" format="(ddd.) mmm. dd, yyyy" gridHeight="1" gridWidth="20" name="fecha_sistema" posX="16" posY="3" sqlTabName="formonly" sqlType="DATE" tabIndex="-1" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="ltasa" fieldId="17" gridHeight="1" gridWidth="11" name="ltasa" posX="3" posY="4" sqlTabName="formonly" tabIndex="-1" table_alias_name="" widget="Edit"/>
|
||||
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="tasa" fieldId="18" gridHeight="1" gridWidth="20" name="tasa" posX="16" posY="4" sqlTabName="formonly" tabIndex="-1" table_alias_name="" widget="Edit"/>
|
||||
</Group>
|
||||
<Label gridHeight="1" gridWidth="30" name="label1" posX="1" posY="7" style="title" text="Directorio MBS"/>
|
||||
<Tree gridHeight="10" gridWidth="48" idColumn="topics.name" name="tree1" parentIdColumn="topics.parent" posX="1" posY="8" totalRows="1" unitWidth="characters" width="39">
|
||||
<Edit colName="name" fieldId="0" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="37" name="topics.name" posX="0" posY="0" sqlTabName="topics" style="topics name" tabIndex="1" title="Modulos" widget="Edit"/>
|
||||
<Phantom colName="parent" fieldId="1" fieldType="TABLE_COLUMN" name="topics.parent" sqlTabName="topics" widget="Phantom"/>
|
||||
<Phantom colName="dirname" fieldId="2" fieldType="TABLE_COLUMN" name="topics.dirname" sqlTabName="topics" widget="Phantom"/>
|
||||
</Tree>
|
||||
<Table doubleClick="show" gridHeight="10" gridWidth="103" height="15" name="table1" posX="50" posY="8" totalRows="1" unitHeight="lines" unitWidth="characters" width="85">
|
||||
<Edit colName="name" fieldId="3" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="17" name="demos.name" posX="0" posY="0" sqlTabName="demos" tabIndex="2" title="Titulo" widget="Edit"/>
|
||||
<Edit colName="program" fieldId="4" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="9" name="demos.program" posX="17" posY="0" sqlTabName="demos" tabIndex="3" title="Programa" widget="Edit"/>
|
||||
<Edit colName="args" fieldId="5" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="10" name="demos.args" posX="26" posY="0" sqlTabName="demos" tabIndex="4" title="Arguments" widget="Edit"/>
|
||||
<FFImage colName="tipo" fieldId="6" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="5" name="demos.tipo" posX="36" posY="0" sqlTabName="demos" title="Type" unitWidth="characters" widget="FFImage" width="5"/>
|
||||
<Phantom colName="basedatos" fieldId="7" fieldType="TABLE_COLUMN" name="demos.basedatos" sqlTabName="demos" widget="Phantom"/>
|
||||
<Edit colName="description" fieldId="8" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="38" name="demos.description" posX="41" posY="0" sqlTabName="demos" tabIndex="6" title="Descripcion" widget="Edit"/>
|
||||
<Edit fieldId="11" gridHeight="1" gridWidth="8" hidden="true" name="ruta" posX="79" posY="0" scroll="true" tabIndex="-1" title="Ruta" widget="Edit"/>
|
||||
<Phantom colName="dirname" fieldId="9" fieldType="TABLE_COLUMN" name="demos.dirname" sqlTabName="demos" widget="Phantom"/>
|
||||
</Table>
|
||||
<TextEdit colName="readme" fieldId="10" fontPitch="fixed" gridHeight="6" gridWidth="124" name="readme" notEditable="true" posX="5" posY="19" scroll="true" sqlTabName="formonly" stretch="both" tabIndex="7" wantNoReturns="false" widget="TextEdit"/>
|
||||
</Grid>
|
||||
</Form>
|
||||
<DiagramLayout>
|
||||
<![CDATA[AAAAAgAAAEwAewBmADAAMgBlAGQAOAAzAGQALQA5ADEAZQBiAC0ANAA2ADUAOQAtAGIAZAA3AGQALQBkADQAMABiADIAMAA2AGEAZAA2ADUAMwB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAEwAewBjADQAZgAzADEAOQBjADcALQAxADQANAA1AC0ANABiAGIAMgAtADgAZgA1ADAALQAzADYAYQA1AGMAZQAzADYANwA1AGMAMQB9QHczM20zM3ZAQTMzXjMzYz9QYk3S8an8AQAAAEwAewAyAGQAMQA3ADMAMgBhADkALQBmAGIAYwBlAC0ANABkADEAYwAtADkAZgBhADAALQA1ADQANwBmAGMAYgA4ADUAMwA4ADgANgB9QGSZmc0ZmdRAXTMzfDMzhz9gYk3S8an8AQ==]]>
|
||||
</DiagramLayout>
|
||||
</ManagedForm>
|
||||
@@ -0,0 +1,200 @@
|
||||
# Property of Four Js*
|
||||
# (c) Copyright Four Js 1995, 2019. All Rights Reserved.
|
||||
# * Trademark of Four Js Development Tools Europe Ltd
|
||||
# in the United States and elsewhere
|
||||
#
|
||||
# Four Js and its suppliers do not warrant or guarantee that these
|
||||
# samples are accurate and suitable for your purposes. Their inclusion is
|
||||
# purely for information purposes only.
|
||||
|
||||
IMPORT os
|
||||
#IMPORT FGL demo_make_db
|
||||
IMPORT FGL demo_load
|
||||
SCHEMA smarmotech
|
||||
|
||||
DEFINE demos DYNAMIC ARRAY OF RECORD
|
||||
NAME, PROGRAM,args,tipo,basedatos,descripcion,dirname,ruta VARCHAR(255)
|
||||
END RECORD
|
||||
DEFINE topics DYNAMIC ARRAY OF RECORD
|
||||
NAME,parent,dirname VARCHAR(255)
|
||||
END RECORD,
|
||||
usuarios,clave VARCHAR(50),
|
||||
pperfil,pprinter1,pprinter2,ckprinter,pcodcia INT,
|
||||
cambia_c VARCHAR(10)
|
||||
|
||||
MAIN
|
||||
DEFINE readme,nombre_cia,usuario,fecha_sistema,opcion STRING,
|
||||
ptasa FLOAT
|
||||
call ui.Interface.loadStyles("menup")
|
||||
OPTIONS INPUT WRAP
|
||||
OPEN FORM main FROM "demo"
|
||||
DISPLAY FORM MAIN
|
||||
CALL autentificacion() RETURNING usuarios,clave,pperfil,pprinter1,pprinter2,ckprinter,cambia_c,pcodcia
|
||||
|
||||
SELECT a.nombre INTO nombre_cia FROM companias a WHERE a.cod_comp = pcodcia
|
||||
|
||||
# BUSCA EL NOMBRE DE LA EMPRESA
|
||||
SELECT a.nombre INTO nombre_cia FROM companias a
|
||||
SELECT a.prima INTO Ptasa FROM vetb00019 a WHERE disponible = "S"
|
||||
LET ptasa = 60
|
||||
|
||||
LET usuario = 'JOHNNY SOTO'
|
||||
LET fecha_sistema = TODAY
|
||||
|
||||
DISPLAY "Usuario" TO lusuario
|
||||
DISPLAY "Fecha" TO lfecha
|
||||
DISPLAY "Tasa" TO ltasa
|
||||
|
||||
DISPLAY ptasa TO tasa
|
||||
DISPLAY BY NAME fecha_sistema
|
||||
DISPLAY BY NAME nombre_cia
|
||||
DISPLAY usuarios TO usuario
|
||||
# CALL demo_load.load_demo()
|
||||
|
||||
CALL fetch_topics()
|
||||
DIALOG ATTRIBUTES(FIELD ORDER FORM, UNBUFFERED)
|
||||
DISPLAY ARRAY topics TO topics.*
|
||||
BEFORE ROW
|
||||
CALL fetch_demos(topics[arr_curr()].*)
|
||||
LET readme = readfile(os.Path.join(topics[arr_curr()].dirname, "README"))
|
||||
ON ACTION cambia ATTRIBUTE(TEXT="Cambia Clave",IMAGE='user')
|
||||
LET opcion = fgl_winquestion("Cambiar","Al cambiar la clave el sistema va a salir, debe volver a entrar con la clave nueva","NO","YES|NO","question",0)
|
||||
IF opcion = "YES" THEN
|
||||
CALL cambia_clave()
|
||||
EXIT PROGRAM
|
||||
END IF
|
||||
AFTER DISPLAY
|
||||
END DISPLAY
|
||||
DISPLAY ARRAY demos TO s_demos.*
|
||||
ON ACTION show
|
||||
IF arr_curr() > 0 THEN
|
||||
CALL run_demo(demos[arr_curr()].*)
|
||||
END IF
|
||||
ON ACTION cambia ATTRIBUTE(TEXT="Cambia Clave",IMAGE='user')
|
||||
LET opcion = fgl_winquestion("Cambiar","Al cambiar la clave el sistema va a salir, debe volver a entrar con la clave nueva","NO","YES|NO","question",0)
|
||||
IF opcion = "YES" THEN
|
||||
CALL cambia_clave()
|
||||
EXIT PROGRAM
|
||||
END IF
|
||||
AFTER DISPLAY
|
||||
END DISPLAY
|
||||
INPUT BY NAME readme
|
||||
END INPUT
|
||||
ON ACTION CANCEL
|
||||
EXIT DIALOG
|
||||
#IF int_flag THEN EXIT INPUT END if
|
||||
|
||||
END DIALOG
|
||||
|
||||
END MAIN
|
||||
|
||||
FUNCTION fetch_topics()
|
||||
DEFINE topic RECORD
|
||||
NAME,parent,dirname VARCHAR(255)
|
||||
END RECORD
|
||||
DEFINE n INT
|
||||
LET n = 0
|
||||
DECLARE topic CURSOR FOR SELECT * INTO topic.* FROM topics WHERE estado = 'online'
|
||||
ORDER BY orden,dirname
|
||||
FOREACH topic
|
||||
|
||||
LET n = n + 1
|
||||
LET topics[n].* = topic.*
|
||||
END FOREACH
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION fetch_demos(topic)
|
||||
DEFINE topic RECORD
|
||||
NAME,parent,dirname VARCHAR(255)
|
||||
END RECORD
|
||||
DEFINE demo RECORD
|
||||
NAME, PROGRAM,args,tipo,basedatos,descripcion,dirname,ruta VARCHAR(255)
|
||||
END RECORD
|
||||
DEFINE n INT
|
||||
|
||||
CALL demos.clear()
|
||||
LET n = 0
|
||||
DECLARE demo CURSOR FOR SELECT * INTO demo.* FROM demos
|
||||
WHERE dirname = topic.dirname AND estado = 'online'
|
||||
ORDER BY dirname
|
||||
FOREACH demo
|
||||
DISPLAY "demos ",demo.name," ", demo.dirname
|
||||
CASE demo.tipo
|
||||
WHEN "V"
|
||||
LET demo.tipo = "services"
|
||||
WHEN "B"
|
||||
LET demo.tipo = "file"
|
||||
END CASE
|
||||
LET n = n + 1
|
||||
LET demos[n].* = demo.*
|
||||
END FOREACH
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION run_demo(demo)
|
||||
DEFINE demo RECORD
|
||||
NAME, PROGRAM,args,tipo,basedatos,descripcion,dirname,ruta VARCHAR(255)
|
||||
END RECORD
|
||||
DEFINE cmd STRING
|
||||
DEFINE isUnix BOOLEAN
|
||||
|
||||
IF demo.program IS NULL THEN RETURN END IF
|
||||
|
||||
CASE demo.tipo
|
||||
WHEN "services"
|
||||
|
||||
-- Run the command: Check if there is a script to run the demo
|
||||
LET isUnix = fgl_getenv("WINDIR") IS NULL
|
||||
IF NOT isUnix THEN
|
||||
LET demo.dirname = unixToDosPath(demo.dirname)
|
||||
END IF
|
||||
LET cmd = os.Path.join(demo.dirname, demo.program), IIF(isUnix, ".sh", ".bat")
|
||||
IF os.Path.exists(cmd) THEN -- Script
|
||||
IF isUnix THEN
|
||||
LET cmd = "sh ", cmd
|
||||
END IF
|
||||
LET cmd = cmd, " ", demo.args
|
||||
ELSE -- 4gl program
|
||||
LET cmd = "cd ", demo.ruta CLIPPED, " && fglrun ", demo.program CLIPPED, " ", usuarios," ",clave," ",pperfil," ",
|
||||
pprinter1," "," ", pprinter2,
|
||||
" ",ckprinter
|
||||
END IF
|
||||
DISPLAY " comando ",cmd
|
||||
RUN cmd WITHOUT WAITING
|
||||
WHEN "file"
|
||||
|
||||
CALL showfile(os.Path.join(demo.dirname, demo.program))
|
||||
OTHERWISE
|
||||
-- Can't happen?
|
||||
END CASE
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION unixToDosPath(path)
|
||||
DEFINE path STRING
|
||||
DEFINE buf base.StringBuffer
|
||||
LET buf = base.StringBuffer.create()
|
||||
CALL buf.append(path)
|
||||
CALL buf.replace("/", "\\", 0)
|
||||
RETURN buf.toString()
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION showfile(fn)
|
||||
DEFINE fn STRING
|
||||
DEFINE txt STRING
|
||||
|
||||
OPEN WINDOW w WITH FORM "demodisp"
|
||||
ATTRIBUTE(TEXT = "File: [" || fn || "]", STYLE = "dialog")
|
||||
LET txt = readfile(fn)
|
||||
INPUT BY NAME txt WITHOUT DEFAULTS;
|
||||
LET int_flag = FALSE
|
||||
CLOSE WINDOW w
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION readfile(fn)
|
||||
DEFINE fn STRING
|
||||
DEFINE t TEXT
|
||||
DEFINE s STRING
|
||||
|
||||
LOCATE t IN FILE fn
|
||||
LET s = t
|
||||
RETURN s
|
||||
END FUNCTION
|
||||
@@ -0,0 +1,59 @@
|
||||
# Property of Four Js*
|
||||
# (c) Copyright Four Js 1995, 2019. All Rights Reserved.
|
||||
# * Trademark of Four Js Development Tools Europe Ltd
|
||||
# in the United States and elsewhere
|
||||
#
|
||||
# Four Js and its suppliers do not warrant or guarantee that these
|
||||
# samples are accurate and suitable for your purposes. Their inclusion is
|
||||
# purely for information purposes only.
|
||||
|
||||
DATABASE ordel
|
||||
LAYOUT(text="MBS")
|
||||
GRID
|
||||
{
|
||||
[label ]
|
||||
<tree t1 ><t t2 >
|
||||
Topic Demo Program Arguments Type Description
|
||||
[topic ][demo |prog |args |t |desc ]
|
||||
< >< >
|
||||
[readme ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
}
|
||||
END
|
||||
END
|
||||
|
||||
TABLES
|
||||
demos,
|
||||
topics
|
||||
|
||||
ATTRIBUTES
|
||||
LABEL label:text="Directorio MBS", STYLE="title";
|
||||
|
||||
TREE t1: IDCOLUMN = name, PARENTIDCOLUMN = parent;
|
||||
topic = topics.name;
|
||||
PHANTOM topics.parent;
|
||||
PHANTOM topics.dirname;
|
||||
|
||||
TABLE t2: DOUBLECLICK = show, HEIGHT = 15 LINES;
|
||||
demo = demos.name;
|
||||
prog = demos.program;
|
||||
args = demos.args;
|
||||
IMAGE t = demos.tipo;
|
||||
PHANTOM demos.basedatos;
|
||||
desc = demos.description;
|
||||
PHANTOM demos.dirname;
|
||||
|
||||
TEXTEDIT readme = FORMONLY.readme, STRETCH=BOTH, FONTPITCH=FIXED, NOTEDITABLE;
|
||||
|
||||
INSTRUCTIONS
|
||||
SCREEN RECORD s_topics(topics.*);
|
||||
SCREEN RECORD s_demos(demos.*);
|
||||
@@ -0,0 +1,90 @@
|
||||
# Property of Four Js*
|
||||
# (c) Copyright Four Js 1995, 2019. All Rights Reserved.
|
||||
# * Trademark of Four Js Development Tools Europe Ltd
|
||||
# in the United States and elsewhere
|
||||
#
|
||||
# Four Js and its suppliers do not warrant or guarantee that these
|
||||
# samples are accurate and suitable for your purposes. Their inclusion is
|
||||
# purely for information purposes only.
|
||||
|
||||
IMPORT os
|
||||
SCHEMA smarmotech
|
||||
|
||||
DEFINE xruta STRING
|
||||
FUNCTION load_demo()
|
||||
|
||||
DELETE FROM demos
|
||||
DELETE FROM topics
|
||||
|
||||
-- SQLite is known to be slow if INSERTs are not in a transaction
|
||||
BEGIN WORK
|
||||
CALL load_data_file("demo.data")
|
||||
# CALL load_data_file("extensions.data")
|
||||
# CALL load_data_file("extensions_2.data")
|
||||
# CALL load_data_file("extensions_3.data")
|
||||
# CALL load_data_file("extensions_4.data")
|
||||
COMMIT WORK
|
||||
|
||||
END FUNCTION
|
||||
|
||||
PRIVATE FUNCTION load_data_file(fn)
|
||||
DEFINE fn STRING
|
||||
DEFINE doc om.DomDocument
|
||||
DEFINE r om.DomNode
|
||||
IF os.Path.exists(fn) THEN
|
||||
LET doc = om.DomDocument.createFromXmlFile(fn)
|
||||
LET r = doc.getDocumentElement()
|
||||
|
||||
CALL walk_tree(r, "")
|
||||
END IF
|
||||
END FUNCTION
|
||||
|
||||
PRIVATE FUNCTION walk_tree(r, parentDir)
|
||||
DEFINE r om.DomNode
|
||||
DEFINE parentDir STRING
|
||||
|
||||
DEFINE n INT
|
||||
DEFINE demo RECORD LIKE demos.*
|
||||
DEFINE topic RECORD LIKE topics.*
|
||||
DEFINE p, c om.DomNode
|
||||
|
||||
IF r.getTagName() == "DDir" THEN
|
||||
LET topic.name = r.getAttribute("name")
|
||||
IF r.getAttributeString("dirname", "none") <> "none" THEN
|
||||
LET topic.dirname = r.getAttribute("dirname")
|
||||
ELSE
|
||||
LET topic.dirname = topic.name
|
||||
END IF
|
||||
# IF parentDir IS NOT NULL AND topic.dirname IS NOT NULL THEN
|
||||
LET topic.dirname = parentDir, "/", topic.dirname
|
||||
|
||||
# END IF
|
||||
LET p = r.getParent()
|
||||
LET topic.parent = p.getAttribute("name")
|
||||
INSERT INTO topics VALUES(topic.*)
|
||||
END IF
|
||||
LET c = r.getFirstChild()
|
||||
WHILE c IS NOT NULL
|
||||
|
||||
IF c.getTagName() == "Mbs" THEN
|
||||
IF c.getAttribute("name") <> "README" THEN
|
||||
LET n = n + 1
|
||||
LET demo.name = c.getAttribute("name")
|
||||
LET demo.program = c.getAttribute("program")
|
||||
LET demo.args = c.getAttribute("args")
|
||||
LET demo.tipo = c.getAttribute("type")
|
||||
LET demo.description = c.getAttribute("description")
|
||||
LET xruta = c.getAttribute('ruta')
|
||||
LET demo.basedatos = c.getAttribute('basedatos')
|
||||
IF xruta IS NOT NULL THEN
|
||||
LET demo.ruta = xruta
|
||||
END IF
|
||||
LET demo.dirname = topic.dirname
|
||||
INSERT INTO demos VALUES(demo.*)
|
||||
END IF
|
||||
ELSE
|
||||
CALL walk_tree(c, topic.dirname)
|
||||
END IF
|
||||
LET c = c.getNext()
|
||||
END WHILE
|
||||
END FUNCTION
|
||||
@@ -0,0 +1,42 @@
|
||||
# Property of Four Js*
|
||||
# (c) Copyright Four Js 1995, 2019. All Rights Reserved.
|
||||
# * Trademark of Four Js Development Tools Europe Ltd
|
||||
# in the United States and elsewhere
|
||||
#
|
||||
# Four Js and its suppliers do not warrant or guarantee that these
|
||||
# samples are accurate and suitable for your purposes. Their inclusion is
|
||||
# purely for information purposes only.
|
||||
|
||||
LAYOUT
|
||||
GRID
|
||||
{
|
||||
[txt ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
[ ]
|
||||
}
|
||||
END
|
||||
END
|
||||
|
||||
ATTRIBUTES
|
||||
TEXTEDIT txt=FORMONLY.txt, STRETCH=BOTH, FONTPITCH=FIXED;
|
||||
END
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<ManagedForm fileVersion="31400" gstVersion="3140a" name="ManagedForm" uid="{9b9d3551-051b-4906-984c-cae0bc00678d}">
|
||||
<AGSettings>
|
||||
<DynamicProperties version="2"/>
|
||||
</AGSettings>
|
||||
<Record name="record1" uid="{3ceb7140-c5a9-42ff-9911-951a997a72c2}">
|
||||
<RecordField colName="usuario" fieldIdRef="0" name="usuario" sqlTabName="formonly" uid="{6d1603e9-546c-4b78-8488-8b53d6c502cd}"/>
|
||||
<RecordField colName="clave" fieldIdRef="1" name="clave" sqlTabName="formonly" uid="{fdd82c23-75f1-4007-8d54-696a02276e39}"/>
|
||||
<RecordField fieldIdRef="2" name="logo" uid="{1f32f9b5-0146-4431-b5ca-d3d89c7c5665}"/>
|
||||
</Record>
|
||||
<Form gridHeight="8" gridWidth="40" name="inicial" text="INTRODUCCION CREDENCIALES">
|
||||
<Grid gridHeight="7" gridWidth="40" name="grid1" posX="0" posY="0">
|
||||
<FFImage fieldId="2" gridHeight="2" gridWidth="10" name="logo" posX="2" posY="1" title="ffimage1" widget="FFImage"/>
|
||||
<Label gridHeight="1" gridWidth="6" name="label1" posX="1" posY="4" text="Login:"/>
|
||||
<Edit colName="usuario" comment="Introducir su nombre de Usuario" fieldId="0" gridHeight="1" gridWidth="18" name="usuario" posX="11" posY="4" required="true" sqlTabName="formonly" tabIndex="1" widget="Edit"/>
|
||||
<Label gridHeight="1" gridWidth="9" name="label2" posX="1" posY="5" text="Password:"/>
|
||||
<Edit colName="clave" comment="Favor de introducir su clave" fieldId="1" gridHeight="1" gridWidth="18" invisible="true" name="clave" posX="11" posY="5" sqlTabName="formonly" tabIndex="2" widget="Edit"/>
|
||||
<Button gridHeight="1" gridWidth="4" image="fa-eye" name="show_password" posX="30" posY="5" tabIndex="-1"/>
|
||||
</Grid>
|
||||
</Form>
|
||||
<DiagramLayout>
|
||||
<![CDATA[AAAAAgAAAEwAewAzAGMAZQBiADcAMQA0ADAALQBjADUAYQA5AC0ANAAyAGYAZgAtADkAOQAxADEALQA5ADUAMQBhADkAOQA3AGEANwAyAGMAMgB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ==]]>
|
||||
</DiagramLayout>
|
||||
</ManagedForm>
|
||||
@@ -0,0 +1,34 @@
|
||||
----------------------------------------------------------------------------------
|
||||
-- File created from C:\Users\egarcia\OneDrive - MARMOTECH, S. A\Equipo Tecnologia\Fuentes\MARMOTECH\PROYECTO\mainmenu\inicial.4fd by Genero Studio
|
||||
-- WARNING! All changes made in this file will be lost!
|
||||
----------------------------------------------------------------------------------
|
||||
|
||||
SCHEMA formonly
|
||||
|
||||
LAYOUT (text=%"INTRODUCCION CREDENCIALES")
|
||||
GRID grid1
|
||||
{
|
||||
|
||||
[logo ]
|
||||
[ ]
|
||||
|
||||
[label1] [usuario ]
|
||||
[label2 |clave |show]
|
||||
|
||||
}
|
||||
END -- grid1
|
||||
END -- inicial
|
||||
|
||||
ATTRIBUTES
|
||||
IMAGE logo=formonly.logo;
|
||||
LABEL label1:label1, text=%"Login:";
|
||||
EDIT usuario=formonly.usuario, tabIndex=1, required, comment=%"Introducir su nombre de Usuario";
|
||||
LABEL label2:label2, text=%"Password:";
|
||||
EDIT clave=formonly.clave, tabIndex=2, invisible, comment=%"Favor de introducir su clave";
|
||||
BUTTON show:show_password, image="fa-eye";
|
||||
END -- ATTRIBUTES
|
||||
|
||||
INSTRUCTIONS
|
||||
SCREEN RECORD record1(formonly.usuario,formonly.clave,formonly.logo)
|
||||
END -- INSTRUCTIONS
|
||||
|
||||
Reference in New Issue
Block a user