Clipper On Line • Ver Tópico - Introducir datos en dbf/Insira os dados em dbf

Introducir datos en dbf/Insira os dados em dbf

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Introducir datos en dbf/Insira os dados em dbf

Mensagempor JoseCM » 29 Mar 2021 21:38

Hola a todos, estoy empezando a aprender a usar harbour con hwgui y estoy siguiendo los tutoriales que hay por ahi pero no consigo introducir los datos en la base de datos.
He seguido los pasos del turorial de Kresin y en lo que respecta a la interfaz gráfica muy bien, pero en ninguno pone como introducir los datos recogidos en get en una base de datos,
solo reflejarlos en pantalla.

He creado una base de datos con dos campos -- NOMBRE Y TELEFONO -- para hacer pruebas y como no he visto nada en tutoriales de hwgui de como introducir los registros e mirado
en tutoriales de clipper y he usado:

append blank
replace nombre whith nom
replace telefono with tlf
commit

Pero parece que esto no funciona y estoy atascado, si alguien tan amable pudiera decirme como hacerlo se lo agradeceria, por cierto estoy en debian.

Un saludo y gracias de un novato que le esta gustando harbour :).

Google translate
----------------------
Olá a todos, estou começando a aprender como usar o Harbor com o hwgui e estou seguindo os tutoriais por aí, mas não consigo colocar os dados no banco de dados.
Tenho seguido os passos do Kresin turorial e no que diz respeito à interface gráfica muito bem, mas ele não informa como inserir os dados coletados em entrar em um banco de dados.
apenas espelhe-os na tela.

Criei um banco de dados com dois campos - NOME E TELEFONE - para fazer testes e como não vi nada nos tutoriais hwgui sobre como entrar nos cadastros e olhei em
em tutoriais de clipper e eu usei:

append blank
replace nombre whith nom
replace telefono with tlf
commit

Mas parece que isso não funciona e estou preso, se alguém tão gentil pudesse me dizer como fazer eu agradeceria, a propósito, estou no debian.

Uma saudação e obrigado de um novato que está gostando do porto :).
JoseCM
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 7
Data de registro: 16 Mar 2021 18:33
Cidade/Estado: Valencia/España
Curtiu: 5 vezes
Mens.Curtidas: 1 vez

Introducir datos en dbf/Insira os dados em dbf

Mensagempor Itamar M. Lins Jr. » 31 Mar 2021 12:04

Olá!
Se puder aguardar, farei um exemplo de DBF e MARIADB. Que irá funcionar no Linux e no Windows.
Estou muito ocupado, mas ainda essa semana eu posto o exemplo.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6944
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 311 vezes
Mens.Curtidas: 505 vezes

Introducir datos en dbf/Insira os dados em dbf

Mensagempor JoseCM » 31 Mar 2021 14:03

Muchas gracias Itamar M. Lins Jr, no te preocupes no tengo ninguna prisa, de todas formas sigo mirando por el foro y haciendo pruebas, pero a la hora de intentar introducir los datos en la base de datos sigue dándome errores ya que voy totalmente a ciegas ya que estoy intentando aprender por mi mismo y no hay mucha información por ahí.

Por cierto lo de MARIADB me gusta, he leido algo sobre bases de datos con mariadb y no estaría mal aprender también.

Un saludo y gracias.

Google Translate
-----------------------

Muito obrigado Itamar M. Lins Jr, não se preocupe não estou com pressa, mesmo assim fico dando uma olhada no fórum e fazendo testes, mas ao tentar inserir os dados no banco de dados fica dando erros pois vou totalmente to cego, pois estou tentando aprender sozinho e não há muita informação por aí.

A propósito, gosto do MARIADB, li algo sobre bancos de dados com o mariadb e não seria ruim aprender também.

Saudações e obrigado.
JoseCM
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 7
Data de registro: 16 Mar 2021 18:33
Cidade/Estado: Valencia/España
Curtiu: 5 vezes
Mens.Curtidas: 1 vez

Introducir datos en dbf/Insira os dados em dbf

Mensagempor Itamar M. Lins Jr. » 01 Abr 2021 02:27

Olá!
Exemplo CRUD atualizado para MariaDB e DBF.
Funciona no Linux e Windows sem mudar o código.

#require "rddsql" 
#require "sddodbc" //SQLMIX

#include "hwgui.ch"
#include "set.ch"
#include "dbinfo.ch"

REQUEST HB_CODEPAGE_UTF8EX
REQUEST DBFCDX, DBFFPT

//For MariaDB via SQLMIX
REQUEST SQLMIX, SDDODBC

MEMVAR cName, nIdContact, cPhantom
MEMVAR oName, oIdContact, oPhantom
MEMVAR lAdd

Function Test
   Local oMain
   

   INIT WINDOW oMain MAIN TITLE "GRUD DBF - MariaDB" AT 100, 100 SIZE 400, 300
   
   MENU OF oMain
   
      MENU TITLE "&Files"
         MENUITEM "&Contacts DBF" ACTION Contacts_DBF()
         SEPARATOR
         MENUITEM "&Contacts MariaDB" ACTION Contacts_MariaDB()
         SEPARATOR

      MENUITEM "&Exit" ACTION oMain:Close()   
      ENDMENU
     
      MENU TITLE "&Help"
         MENUITEM "&About" ACTION hwg_Msginfo( HwG_Version(), "About" )
      ENDMENU
     
   ENDMENU
   
   ACTIVATE WINDOW oMain
 
Return Nil

Function Contacts_DBF
   Local oDlg, oBrw, oTab, oFontDlg, oFontBrw //Controls of Dialog
   Local oBtnDel, oBtnSave, oBtnAdd, oBtnOnOff //Controls of Dialog
   Local aStructure, lSQL := .F.

   Private nIdContact, cName, cPhantom := space(1)  //Fields of DataBase
   Private lAdd := .F.

   rddSetDefault("DBFCDX")
   Set Autopen On
   hb_cdpSelect("UTF8EX")

   aStructure := { { "idcontact" ,"+",04,0} ,; //Auto increment
                   { "name"      ,"c",60,0} }

   If !hb_vfexists("contacts.dbf")     
      If dbcreate("contacts.dbf",aStructure,"DBFCDX",.t.,"ctc") //Create and open with shared mode
         index on field->name tag tgName
         ctc->( dbappend() )
         ctc->name := "JOSÉ DE ASSUMPÇÃO"
         ctc->( dbappend() )
         ctc->name := "MARIA ANTONIETA"
         ctc->( dbappend() )
         ctc->name := "SNOOPY"
         ctc->( dbappend() )
         ctc->name := "POPEYE"
         ctc->(DbDelete())
         
         ctc->( dbCloseArea() )
      Else
         hwg_MsgStop("Error Creating DBF")
         cancel
      EndIf
   EndIf

   PREPARE FONT oFontDlg NAME "Z003" Width 0 Height 16
   PREPARE FONT oFontBrw NAME "Courier" Width 0 Height 14

   Use contacts new shared alias "ctc"

INIT DIALOG oDlg CLIPPER NOEXIT TITLE "Contacts" AT 0,0 size 1024,500 Font oFontDlg STYLE DS_CENTER
   @ 10,080 browse oBrw DataBase Of oDlg size 360,400 Font oFontBrw ;
   On PosChange {|| UpdateGets() }

   oBrw:Alias:="ctc"

   Add Column {||iif(ctc->(Deleted()),"Yes","No" ) } to oBrw ;
   Header "Del" Length 3

   Add Column FieldBlock("idcontact") to oBrw ;
   Header "Cont_ID" Length 10

   Add Column FieldBlock("name") to oBrw ;
   Header "Name" length 100

   @ 370,005 Tab oTab Items {} size 600,430 of oDlg

      BEGIN PAGE "Contacts" of oTab

         FieldsGet()
         
         @ 010,010 GroupBox "ID" size 120,60
         @ 020,030 Get oIdContact var nIdContact Picture "9999999999" size 090,30 STYLE ES_RIGHT

         @ 010,080 GroupBox "Name" size 500,60
         @ 020,100 Get oName var cName size 470,30 //ToolTip "Name of contact"

         @ 020,160 Get oPhantom var cPhantom size 0,0 //Phantom get to validate last get

      END Page Of oTab

   @ 370,440 button oBtnSave   Caption "Save"   on click {||SaveContact(oDlg,lSQL)} size 90,50
   @ 470,440 button oBtnAdd    Caption "Add"    on click {||NewContact()}           size 90,50
   @ 570,440 button oBtnDel    Caption "Del"    on click {||DelContact(oDlg,lSQL)}  size 90,50
   @ 670,440 button oBtnOnOff  Caption "On Off" on click {||DelOnOff(oDlg)}         size 90,50

oDlg:Activate()

ctc->( dbCloseArea() )
Return nil

Static Function MakeVars()
   nIdContact := 0 //Auto increment
   cName      := space(60)
return .T.

Static Function FieldsGet()
   nIdContact := ctc->idcontact
   cName      := ctc->name
return .T.

Static function RefreshGets()
   oIdContact : Refresh()
   oName      : Refresh()
return .T.

Static function UpdateGets()
   FieldsGet()
   RefreshGets()
return .T.

Static function DelContact(oDlg,lSQL)
Local cSQl

   If lSQL
      cSQL := "DELETE FROM contacts WHERE idcontact = " + hb_ntos(ctc->idcontact) 
      If rddInfo( RDDI_EXECUTE, cSQL )
         Hwg_msgInfo("Record deleted.")
         ctc->(dbCloseArea())
         dbUseArea( .T., , "SELECT * FROM contacts", "ctc" )         
      Else
         Hwg_MsgStop("Fail erase record.")
      EndIf
   Else
      IF ctc->( RLOCK() )
         If ctc->(deleted())
            ctc->(dbRecall())
            hwg_MsgInfo("Record recovered.")
         Else
            ctc->(DbDelete())
            hwg_MsgInfo("Record deleted.")
         EndIf
      EndIf
   EndIf

   oDlg:oBrw:Refresh()

return .T.

Static Function NewContact()
   lAdd := .T.
   MakeVars()
   oName:SetGet(cName)
   oName:SetFocus()
   hwg_edit_SetPos( oName:Handle, 0) //Set 1 position edit of get

return .T.

Static function SaveContact(oDlg,lSQL)
Local cSQL
   cName := oName:Value

   If empty(cName)
      hwg_msgStop("Please enter with a name")
      oName:SetFocus()
      hwg_edit_SetPos( oName:Handle, 0) //Set 1 position edit of get
      return .t.       
   EndIf

   If lAdd

      If lSQL

         cSQL := "INSERT INTO contacts (name) values ('" + cName + "')"
         If rddInfo( RDDI_EXECUTE, cSQL  )   
            ctc->(dbCloseArea())  //Close table contact
            dbUseArea( .T., , "SELECT * FROM contacts", "ctc" ) //need open contacts table becouse new data.
         Else   
            hwg_msginfo('Fail to add data')
         EndIF

      Else

         ctc->( dbappend() )
         If NetErr()
            hwg_MsgStop("Error on append.")
            return .F.
         EndIf   

      EndIf

   Else

      If lSQL
      Else   
         If !ctc->(dbRLock())
            hwg_MsgStop("Error on replace.")
         EndIf
      EndIf

   EndIf
     
   If lSQL
      If lAdd
      Else
         cSQL := "UPDATE contacts SET name = '" + cName + "' WHERE idcontact = " + hb_ntos(ctc->idcontact)
         If rddInfo( RDDI_EXECUTE, cSQL  )   
            Hwg_MsgInfo("contact: " + hb_ntos(ctc->idcontact) + " updated.")
            ctc->(dbCloseArea())
            dbUseArea( .T., , "SELECT * FROM contacts", "ctc" )
         Else
            Hwg_MsgStop("Fail contact update.")
         EndIf
      EndIf   
   Else
      ctc->name := cName
   EndIf

   lAdd := .F.
   oDlg:oBrw:Refresh()
   
return .T.

Static Function DelOnOff(oDlg)
   Local lSetDeleted := Set( _SET_DELETED )
   iif(lSetDeleted, Set( _SET_DELETED, .F.), Set( _SET_DELETED, .T.) )
   oDlg:oBrw:Refresh()

return .T.

Function Contacts_MariaDB
   Local oDlg, oBrw, oTab, oFontDlg, oFontBrw //Controls of Dialog
   Local oBtnDel, oBtnSave, oBtnAdd, oBtnOnOff //Controls of Dialog
   Local nTab, lSQL := .T., nConnection
   Private nIdContact, cName, cPhantom := space(1)  //Fields of DataBase
   Private lAdd := .F.

   rddSetDefault( "SQLMIX" )
   nConnection := rddInfo( RDDI_CONNECT, { "ODBC", "Server=127.0.0.1;Driver={MariaDB};dsn=;User=itamar;password=@itamar;database=test;" } )
   
   IF nConnection == 0
      hwg_msgstop("Unable connect to server" +hb_eol() + rddInfo( RDDI_ERRORNO ) + hb_eol() + rddInfo( RDDI_ERROR ) )
      RETURN .F.
   ENDIF
   
    //hwg_msginfo("Number of conection:" + hb_ntos(nConnection))
    If !rddInfo( RDDI_EXECUTE, "CREATE DATABASE IF NOT EXISTS `test`" )     
       Hwg_msginfo("Fail to create database test of MariaDB")
    EndIf
    If !rddInfo( RDDI_EXECUTE, "USE `test`" )
       Hwg_msginfo("Fail to conect on database test of MariaDB")
    EndIF

    dbUseArea( , , "SELECT COUNT(*) as nTot FROM information_schema.tables WHERE table_schema = 'test' AND table_name = 'contacts' ",'RS' )
    nTab := rs->nTot
    rs->(dbCloseArea())

    If nTab > 0
       If hwg_MsgYesNo("Erase table contacts ?")
          If rddInfo( RDDI_EXECUTE, "DROP TABLE contacts" )
             nTab := 0
          Else 
             hwg_MsgStop("Fail to erase table contacts.")             
          EndIF
       EndIf
    EndIf

    If empty(nTab) //make table contacts
       If rddInfo( RDDI_EXECUTE, "CREATE TABLE contacts ( idcontact MEDIUMINT NOT NULL AUTO_INCREMENT, NAME CHAR(60) NOT NULL, PRIMARY KEY (idcontact) )" )
          Hwg_msginfo("Table contacts create on MariaDB")
       Else
          Hwg_msginfo("Fail to make table contacts")
       EndIf

       If rddInfo( RDDI_EXECUTE, "INSERT INTO contacts (name) values ('JOSÉ DE ASSUMPÇÃO'),('MARIA ANTONIETA'), ('SNOOPY'), ('POPEYE')" )
          Hwg_MsgInfo("Data add")
       Else
          Hwg_MsgInfo("Fail to add data.")
       EndIf
    EndIf
   
    dbUseArea( .T., , "SELECT * FROM contacts", "ctc" )

   PREPARE FONT oFontDlg NAME "Z003" Width 0 Height 16
   PREPARE FONT oFontBrw NAME "Courier" Width 0 Height 14

INIT DIALOG oDlg CLIPPER NOEXIT TITLE "Contacts using SQLMIX and MariaDB" AT 0,0 size 1024,500 Font oFontDlg STYLE DS_CENTER

   @ 10,080 browse oBrw DataBase Of oDlg size 360,400 Font oFontBrw ;   
   On PosChange {|| UpdateGets() }

   oBrw:Alias:="ctc"

   Add Column {||iif(ctc->(Deleted()),"Yes","No" ) } to oBrw ;
   Header "Del" Length 3

   Add Column FieldBlock("idcontact") to oBrw ;
   Header "Cont_ID" Length 10

   Add Column FieldBlock("name") to oBrw ;
   Header "Name" length 100

   @ 370,005 Tab oTab Items {} size 600,430 of oDlg

      BEGIN PAGE "Contacts" of oTab

         FieldsGet()
         
         @ 010,010 GroupBox "ID" size 120,60
         @ 020,030 Get oIdContact var nIdContact Picture "9999999999" size 090,30 STYLE ES_RIGHT

         @ 010,080 GroupBox "Name" size 500,60
         @ 020,100 Get oName var cName size 470,30 //ToolTip "Name of contact"

         @ 020,160 Get oPhantom var cPhantom size 0,0 //Phantom get to validate last get

      END Page Of oTab

   @ 370,440 button oBtnSave   Caption "Save"   on click {||SaveContact(oDlg,lSQL)} size 90,50
   @ 470,440 button oBtnAdd    Caption "Add"    on click {||NewContact()}           size 90,50
   @ 570,440 button oBtnDel    Caption "Del"    on click {||DelContact(oDlg,lSQL)}  size 90,50
   @ 670,440 button oBtnOnOff  Caption "On Off" on click {||DelOnOff(oDlg)}         size 90,50

   oDlg:bActivate:={||oBrw:top(),oBrw:Refresh() }

oDlg:Activate()

ctc->( dbCloseArea() )
Return nil



Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6944
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 311 vezes
Mens.Curtidas: 505 vezes

Introducir datos en dbf/Insira os dados em dbf

Mensagempor JoseCM » 01 Abr 2021 13:03

Un saludo y muchas gracias por tu ejemplo Itamar M. Lins Jr.

Te comento, he compilado el ejemplo que me has puesto y me devuelve errores.

Google Translate
-----------------------

Saudações e muito obrigado pelo exemplo Itamar M. Lins Jr.

Deixe-me dizer, eu compilei o exemplo que você me deu e ele retorna erros.

hbmk2 a.hbp
Harbour 3.2.0dev (r2101261627)
Copyright (c) 1999-2020, https://harbour.github.io/
a.prg(19) Warning W0001  Ambiguous reference 'NAME'
a.prg(59) Warning W0002  Ambiguous reference, assuming memvar 'CPHANTOM'
a.prg(60) Warning W0002  Ambiguous reference, assuming memvar 'LADD'
a.prg(90) Warning W0001  Ambiguous reference 'NIDCONTACT'
a.prg(90) Warning W0001  Ambiguous reference 'NIDCONTACT'
a.prg(90) Warning W0001  Ambiguous reference 'NIDCONTACT'
a.prg(90) Warning W0001  Ambiguous reference 'OIDCONTACT'
a.prg(90) Warning W0001  Ambiguous reference 'OIDCONTACT'
a.prg(93) Warning W0001  Ambiguous reference 'CNAME'
a.prg(93) Warning W0001  Ambiguous reference 'CNAME'
a.prg(93) Warning W0001  Ambiguous reference 'CNAME'
a.prg(93) Warning W0001  Ambiguous reference 'ONAME'
a.prg(93) Warning W0001  Ambiguous reference 'ONAME'
a.prg(95) Warning W0001  Ambiguous reference 'CPHANTOM'
a.prg(95) Warning W0001  Ambiguous reference 'CPHANTOM'
a.prg(95) Warning W0001  Ambiguous reference 'CPHANTOM'
a.prg(95) Warning W0001  Ambiguous reference 'OPHANTOM'
a.prg(95) Warning W0001  Ambiguous reference 'OPHANTOM'
a.prg(100) Warning W0001  Ambiguous reference 'OBTNADD'
a.prg(100) Warning W0001  Ambiguous reference 'OBTNADD'
a.prg(102) Warning W0001  Ambiguous reference 'OBTNONOFF'
a.prg(102) Warning W0001  Ambiguous reference 'OBTNONOFF'
a.prg(110) Warning W0001  Ambiguous reference 'NIDCONTACT'
a.prg(111) Warning W0001  Ambiguous reference 'CNAME'
a.prg(115) Warning W0001  Ambiguous reference 'NIDCONTACT'
a.prg(116) Warning W0001  Ambiguous reference 'CNAME'
a.prg(120) Warning W0001  Ambiguous reference 'OIDCONTACT'
a.prg(121) Warning W0001  Ambiguous reference 'ONAME'
a.prg(145) Warning W0001  Ambiguous reference 'LADD'
a.prg(147) Warning W0001  Ambiguous reference 'ONAME'
a.prg(147) Warning W0001  Ambiguous reference 'CNAME'
a.prg(148) Warning W0001  Ambiguous reference 'ONAME'
a.prg(149) Warning W0001  Ambiguous reference 'ONAME'
a.prg(154) Warning W0001  Ambiguous reference 'CNAME'
a.prg(156) Warning W0001  Ambiguous reference 'ONAME'
a.prg(160) Warning W0001  Ambiguous reference 'LADD'
a.prg(162) Warning W0001  Ambiguous reference 'OPHANTOM'
a.prg(169) Warning W0001  Ambiguous reference 'LADD'
a.prg(176) Warning W0001  Ambiguous reference 'OPHANTOM'
a.prg(178) Warning W0001  Ambiguous reference 'CNAME'

No code generated.
hbmk2[a]: Error: Running Harbour compiler (built-in). 1
(/usr/local/bin/harbour) -n2 a.prg -q -m -n -es2 -DHBMK_HAS_HWGUI=1 -w -d__LINUX__ -d__GTK__ -o/tmp/hbmk_56m0ki.dir/ -i/usr/local/include/harbour -i/usr/share/hwgui/include


La verdad es que son errores muy parecidos al los que me esta dando al hacer pruebas yo, por lo que no se si sera que tengo mal configurado el .hbp o igual es otra cosa, te dejo aquí como está configurado por si acaso tuviera un error.

Google Translate
-----------------------
A verdade é que são erros muito parecidos com os que estou recebendo ao fazer testes eu mesmo, então não sei se será que estou com o .hbp configurado incorretamente ou é outra coisa, deixo-vos aqui como fica configurado caso eu tenha erro.

a.hbp
-----------
-stop={win}

/usr/share/hwgui/hwgui.hbc

-n -w
-lm
-static
-d__LINUX__ -d__GTK__

-oa

a.prg

JoseCM
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 7
Data de registro: 16 Mar 2021 18:33
Cidade/Estado: Valencia/España
Curtiu: 5 vezes
Mens.Curtidas: 1 vez

Introducir datos en dbf/Insira os dados em dbf

Mensagempor Itamar M. Lins Jr. » 01 Abr 2021 15:28

Ola!
Remove a linha:
-n -w

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6944
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 311 vezes
Mens.Curtidas: 505 vezes

Introducir datos en dbf/Insira os dados em dbf

Mensagempor JoséQuintas » 01 Abr 2021 18:37

Apenas comentário:

O default do Harbour é -w3, mas pode ser usado o -w0.

Com -w3 a checagem é máxima, e gera alerta pra qualquer coisa suspeita, incluindo variáveis não declaradas, que foi o alerta que apareceu.
Pode pensar nisso mais pra frente, após essa fase inicial.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18127
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Introducir datos en dbf/Insira os dados em dbf

Mensagempor JoseCM » 02 Abr 2021 11:45

Saludos Itamar M. Lins Jr.

Borrando -n -w ya he podido compilar sin problemas y ademas he echo un miniprogramita y ya he conseguido introducir datos en un dbf aunque me falta saber como refrescar las variables al volver al get, pero bueno ya lo iré averiguando.

Así que muchas gracias Itamar M. Lins Jr por tu ayuda.

JoséQuintas gracias por tu comentario lo tendré encuenta.

Google Translate
-----------------------

Saudações Itamar M. Lins Jr.

Excluindo -n -w Já consegui compilar sem problemas e também fiz um miniprograma e já consegui inserir dados em um dbf embora ainda precise saber como atualizar as variáveis ​​ao retornar ao get, mas bem, vou descobrir.

Então, muito obrigado Itamar M. Lins Jr pela ajuda.

JoséQuintas obrigado pelo seu comentário que vou ter em consideração.
JoseCM
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 7
Data de registro: 16 Mar 2021 18:33
Cidade/Estado: Valencia/España
Curtiu: 5 vezes
Mens.Curtidas: 1 vez

Introducir datos en dbf/Insira os dados em dbf

Mensagempor Itamar M. Lins Jr. » 07 Abr 2021 19:39

Ola!
O exemplo logo acima, foi atualizado.
Para DBF e MariaDB funcionando.
Screenshot_20210407_194322.png

Usando o VSCODE com sintaxe Harbour no Linux, apenas um click para instalar e mais outro para adicionar o pluguin.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6944
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 311 vezes
Mens.Curtidas: 505 vezes

Introducir datos en dbf/Insira os dados em dbf

Mensagempor JoseCM » 09 Abr 2021 13:52

Muchas gracias Itamar M. Lins Jr.

Voy a pegarle un vistazo y probar.

Saludos.

Google Tranlate
---------------------

Muito obrigado Itamar M. Lins Jr.

Vou dar uma olhada e testar.

Saudações.
JoseCM
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 7
Data de registro: 16 Mar 2021 18:33
Cidade/Estado: Valencia/España
Curtiu: 5 vezes
Mens.Curtidas: 1 vez




Retornar para HwGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 1 visitante


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro