Comunicação Tcip com Hardwares
Moderador: Moderadores
- Nascimento
- Usuário Nível 4

- Mensagens: 763
- Registrado em: 19 Jul 2008 12:11
- Localização: OLINDA-PE
Comunicação Tcip com Hardwares
não sei se os amigos ja fizeram algo parecido, há algumas placas no mercado , modulos arduinos que são comunicação tc-ip
algum amigo tem um pequeno exemplo do uso de comunicação tc-ip para hardware?
por exemplo um modulo w5500 ele é rede e não conversão de serial para rede..
algum amigo tem um pequeno exemplo do uso de comunicação tc-ip para hardware?
por exemplo um modulo w5500 ele é rede e não conversão de serial para rede..
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina
clipper 5.3 /harbour/minigui
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Comunicação Tcip com Hardwares
Na prática isso não existe.Nascimento escreveu:não sei se os amigos ja fizeram algo parecido, há algumas placas no mercado , modulos arduinos que são comunicação tc-ip
algum amigo tem um pequeno exemplo do uso de comunicação tc-ip para hardware?
Tá olhando de forma errada.
O que existe são programas que atendem comunicação TCP/IP, e a comunicação segue esse padrão.
O servidor MySQL aceita conexões TCP/IP protocolo MySQL, geralmente usando um cliente MySQL
O servidor SQLServer aceita conexões TCP/IP protocolo SQLServer, geralmente usando um cliente SQLServer.
Um webservice aceita conexões TCP/IP no protocolo webservice, geralmente usando uma classe pra webservice.
O hbnetio do harbour aceita conexão TCP/IP no protocolo hbnetio/harbour, compilando hbnetio no EXE.
TCP/IP é apenas um meio de comunicação, não é a comunicação propriamente dita.
E o hardware em questão tem conexão TCP/IP que vai aceitar protocolo
E nesse protocolo vai precisar qual cliente/classe
E vai precisar quais parâmetros
deve ter no manual
As possibilidades são infinitas.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Nascimento
- Usuário Nível 4

- Mensagens: 763
- Registrado em: 19 Jul 2008 12:11
- Localização: OLINDA-PE
Comunicação Tcip com Hardwares
eu sei amigo quintas, ele recebe e envia requisições via http , com ip/porta/comando
no hardware tem funções que esperam envio de comandos estilo http
acho que é mais ou menos isso , e não achei manual, é chinesa "aliexpress" , lá so tem um comentário basico de funcionamento
veja que ela usa 485 que ja sei usar, mais no quadro atual preciso usar tcp-ip
https://pt.aliexpress.com/item/10050042 ... pt=glo2bra
no hardware tem funções que esperam envio de comandos estilo http
acho que é mais ou menos isso , e não achei manual, é chinesa "aliexpress" , lá so tem um comentário basico de funcionamento
veja que ela usa 485 que ja sei usar, mais no quadro atual preciso usar tcp-ip
https://pt.aliexpress.com/item/10050042 ... pt=glo2bra
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina
clipper 5.3 /harbour/minigui
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Comunicação Tcip com Hardwares
Provavelmente, depois que ligar no roteador e digitar isso, tem acesso a manual e tudo mais.Porta do controlador de rede ip: 192.168.1.4
Número da porta: 30000 digite http://192.168.1.4/30000 na barra de endereços do navegador, você pode controlar o interruptor correspondente, pressione e segure "reset" até que a luz se apague. Em seguida, ele irá restaurar o ip padrão de fábrica e número de porta
No caso de configuração errada, o reset volta a esse default.
É que pode até alterar essa porta/endereço.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Comunicação Tcip com Hardwares
Basicamente igual fazemos no roteador, que digitamos o endereço e vém as coisas pra mexer.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Comunicação Tcip com Hardwares
Da China também.
Mas WI-FI.
Controle remoto universal pra tudo que é aparelho, podendo controlar pelo celular ou Alexa.
É só esse trocinho, e só liga na fonte de alimentação, o resto é por wi-fi.
Parecido com esse, só muda que é wi-fi, e não por cabo.
Mas o programa do fabricante faz o resto.
Mas WI-FI.
Controle remoto universal pra tudo que é aparelho, podendo controlar pelo celular ou Alexa.
É só esse trocinho, e só liga na fonte de alimentação, o resto é por wi-fi.
Parecido com esse, só muda que é wi-fi, e não por cabo.
Mas o programa do fabricante faz o resto.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Nascimento
- Usuário Nível 4

- Mensagens: 763
- Registrado em: 19 Jul 2008 12:11
- Localização: OLINDA-PE
Comunicação Tcip com Hardwares
N amigo esse hardware fica esperando os comandos
Ip/porta/comando
Para ligar e desligar os relés
Sei que são comandos via HTTP, mais deixa quieto vou pesquisar mais , vlw
Pq vi que vc n entendeu , n quero 1 alexa quero enviar comandos pelo harbour
Ip/porta/comando
Para ligar e desligar os relés
Sei que são comandos via HTTP, mais deixa quieto vou pesquisar mais , vlw
Pq vi que vc n entendeu , n quero 1 alexa quero enviar comandos pelo harbour
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina
clipper 5.3 /harbour/minigui
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Comunicação Tcip com Hardwares
Olá!
HTTP Só PELO APACHE ou IIS ou NGINX etc... HTTP é protocolo de HIPERTEXTO. Tudo na internete precisa do TCP/IP. Que é quem LEVA e TRAZ os PACOTES...
Para receber comandos HTTP é <html> bla,bla,bla</html>
O resto que pode está no HTTP é jogado para o programa que irá realizar as outras operações.(PHP/Mod_harbour/Java,Python...)
Saudações,
Itamar M. Lins Jr.
Não está misturando as coisas ?Sei que são comandos via HTTP, mais deixa quieto vou pesquisar mais , vlw
HTTP Só PELO APACHE ou IIS ou NGINX etc... HTTP é protocolo de HIPERTEXTO. Tudo na internete precisa do TCP/IP. Que é quem LEVA e TRAZ os PACOTES...
Para receber comandos HTTP é <html> bla,bla,bla</html>
O resto que pode está no HTTP é jogado para o programa que irá realizar as outras operações.(PHP/Mod_harbour/Java,Python...)
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- carlaoonline
- Usuário Nível 3

- Mensagens: 190
- Registrado em: 24 Ago 2014 22:38
- Localização: Porto Alegre-RS
Comunicação Tcip com Hardwares
Bom dia!
Essa placa nada mais é do que um Arduino (ou similar) que vem integrado um modulo 8 relés e um módulo Ethernet que propicia que ele se transforme em um Servidor Web (gera uma site que pode ser acessado pela internet)
Para que ela funcione, obrigatoriamente o modem da sua operadora de internet tem que aceitar a liberação de portas IPV4 nas configurações NAT (ou DMZ).
Recomendo usar o Esp32 (similar Arduino) é uma das mais rápidas e já vem com módulo WiFi integrado, aceita tb o módulo Ethernet (pra usar cabo de rede se quiser)
É feito a programação em "C" em um editor de texto (o do próprio Arduino) e gravado nessa placa, essa programação possui as configurações onde você deverá colocar o número da porta escolhida (a mesma que tem que liberar no modem) bem como as configurações de endereço IP, máscara de Sub Rede e Geteway padrão.
E exatamente como o Quintas falou:
Nessa programação também deverá ser criada a página que o usuário verá ao digitar no navegador o endereço seguido da porta escolhida:
A programação é muito simples (é em C), só pra ter uma ideia (caso não tenha ainda) a parte da programação que cria o site "SE FOSSE EM HARBOUR" seria mais ou menos assim:
Segue abaixo um exemplo de código para Esp32 que cria um Web Server usando a porta 3000 e apresentando ao usuário quatro botões para Ligar/Desligar luz da Sala ou do Quarto.
Nesse exemplo, o Relé da sala deverá estar ligado no pino 2 da placa e o da cozinha no pino 4
Quando o usuário clicar no botão "Ligar luz da sala" o módulo energizará o pino 2 que ligará o relé correspondente
Essa placa nada mais é do que um Arduino (ou similar) que vem integrado um modulo 8 relés e um módulo Ethernet que propicia que ele se transforme em um Servidor Web (gera uma site que pode ser acessado pela internet)
Para que ela funcione, obrigatoriamente o modem da sua operadora de internet tem que aceitar a liberação de portas IPV4 nas configurações NAT (ou DMZ).
Recomendo usar o Esp32 (similar Arduino) é uma das mais rápidas e já vem com módulo WiFi integrado, aceita tb o módulo Ethernet (pra usar cabo de rede se quiser)
É feito a programação em "C" em um editor de texto (o do próprio Arduino) e gravado nessa placa, essa programação possui as configurações onde você deverá colocar o número da porta escolhida (a mesma que tem que liberar no modem) bem como as configurações de endereço IP, máscara de Sub Rede e Geteway padrão.
E exatamente como o Quintas falou:
Nessa programação também deverá ser criada a página que o usuário verá ao digitar no navegador o endereço seguido da porta escolhida:
JoséQuintas escreveu:Número da porta: 30000 digite http://192.168.1.4/30000 na barra de endereços do navegador
A programação é muito simples (é em C), só pra ter uma ideia (caso não tenha ainda) a parte da programação que cria o site "SE FOSSE EM HARBOUR" seria mais ou menos assim:
Código: Selecionar todos
...
? "<!DOCTYPE html>"
? "<html>"
? "<head>"
? " <title>Luz da Sala</title>"
? "</head>"
? "<body>"
? " <h1>Meu Site Simples</h1>"
? " <button>Liga a lâmpada</button>"
? " <button>Desliga a Lâmpada</button>"
? "</body>"
? "</html>"
...
Segue abaixo um exemplo de código para Esp32 que cria um Web Server usando a porta 3000 e apresentando ao usuário quatro botões para Ligar/Desligar luz da Sala ou do Quarto.
Nesse exemplo, o Relé da sala deverá estar ligado no pino 2 da placa e o da cozinha no pino 4
Quando o usuário clicar no botão "Ligar luz da sala" o módulo energizará o pino 2 que ligará o relé correspondente
Código: Selecionar todos
#include <WiFi.h>
const char* ssid = "nomedarede"; //coloque o nome da sua rede WiFi
const char* password = "senhadarede"; //coloque a senha da sua rede WiFi
WiFiServer server(3000); //cria um servidor web na porta 3000
IPAddress ip(192, 168, 1, 50); //define o endereço IP do ESP32
void setup() {
Serial.begin(115200);
pinMode(2, OUTPUT); //define o pino 2 como saída para o relé da luz da sala
pinMode(4, OUTPUT); //define o pino 4 como saída para o relé da luz da cozinha
WiFi.config(ip); //configura o endereço IP do ESP32
WiFi.begin(ssid, password); //conecta-se à rede WiFi
while (WiFi.status() != WL_CONNECTED) { //espera a conexão ser estabelecida
delay(1000);
Serial.println("Conectando-se à rede WiFi...");
}
Serial.println("Conexão WiFi estabelecida");
server.begin(); //inicia o servidor web
Serial.println("Servidor web iniciado");
}
void loop() {
WiFiClient client = server.available(); //verifica se há conexões de clientes
if (client) { //se houver uma conexão
Serial.println("Novo cliente conectado");
String request = client.readStringUntil('\r'); //lê a requisição do cliente
Serial.println(request); //imprime a requisição no monitor serial
if (request.indexOf("/ligarsala") != -1) { //se o botão "Ligar luz da sala" for pressionado
digitalWrite(2, HIGH); //liga o relé da luz da sala
} else if (request.indexOf("/desligarsala") != -1) { //se o botão "Desligar luz da sala" for pressionado
digitalWrite(2, LOW); //desliga o relé da luz da sala
} else if (request.indexOf("/ligarcozinha") != -1) { //se o botão "Ligar luz da cozinha" for pressionado
digitalWrite(4, HIGH); //liga o relé da luz da cozinha
} else if (request.indexOf("/desligarcozinha") != -1) { //se o botão "Desligar luz da cozinha" for pressionado
digitalWrite(4, LOW); //desliga o relé da luz da cozinha
}
//envia a página HTML ao cliente
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.println("<!DOCTYPE html>");
client.println("<html>");
client.println("<head>");
client.println("<title>Controle de Luzes</title>");
client.println("</head>");
client.println("<body>");
client.println("<h1>Controle de Luzes</h1>");
client.println("<button onclick=\"location.href='/ligarsala'\">Ligar luz da sala</button>");
client.println("<button onclick=\"location.href='/desligarsala'\">Desligar luz da sala</button>");
client.println("<button onclick=\"location.href='/ligarcozinha'\">Ligar luz da cozinha</button>");
client.println("<button onclick=\"location.href='/desligarcozinha'\">Desligar luz da cozinha</button>");
client.println("</body>");
client.println("</html>");
delay(10);
client.stop(); //encerra a conexão com o cliente
Serial.println("Cliente desconectado");
}
}
- Nascimento
- Usuário Nível 4

- Mensagens: 763
- Registrado em: 19 Jul 2008 12:11
- Localização: OLINDA-PE
Comunicação Tcip com Hardwares
É eu vivo misturando as coisas. Aff tempos atrás
Foi com modbus. Em fim como eu falei
Vou pesquisar mais , ate em outras linguagens
Ao menos da uma ideia de como fazer
No harbour
Foi com modbus. Em fim como eu falei
Vou pesquisar mais , ate em outras linguagens
Ao menos da uma ideia de como fazer
No harbour
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina
clipper 5.3 /harbour/minigui
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Comunicação Tcip com Hardwares
Não entendeu nada.Nascimento escreveu: Em fim como eu falei
Vou pesquisar mais , ate em outras linguagens
Ao menos da uma ideia de como fazer
No harbour
Liga esse troço no roteador, e acessa pelo roteador.
Provavelmente vai encontrar todo manual.
Não se trata de procurar manual, e sim de já ligar e acessá-lo, pra ver as instruções.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Nascimento
- Usuário Nível 4

- Mensagens: 763
- Registrado em: 19 Jul 2008 12:11
- Localização: OLINDA-PE
Comunicação Tcip com Hardwares
ta bom mestre quintas é eu que não entendi, estou dizendo desde ontem que não tem manual as infos que tem esta na pagina
a comunicação é via ip, ip/porta/comando
e eu que não entendi nada?, sei que abre o soquete no harbour, só preciso entender como , mais deixa queto.....
se puder até apagar esse post agradeço pq não tem info importante nem uma só encheção de linguiça
a comunicação é via ip, ip/porta/comando
e eu que não entendi nada?, sei que abre o soquete no harbour, só preciso entender como , mais deixa queto.....
se puder até apagar esse post agradeço pq não tem info importante nem uma só encheção de linguiça
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina
clipper 5.3 /harbour/minigui
- Nascimento
- Usuário Nível 4

- Mensagens: 763
- Registrado em: 19 Jul 2008 12:11
- Localização: OLINDA-PE
Comunicação Tcip com Hardwares
exato amigo ai é na ide arduino, porém eu ja tenho a placa , o que eu precisaria era de fazer o HARBOUR se comunicar com ela, mais aqui ta dificil até de explicar , como disse deixa queto...Segue abaixo um exemplo de código para Esp32 que cria um Web Server usando a porta 3000 e apresentando ao usuário quatro botões para Ligar/Desligar luz da Sala ou do Quarto.
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina
clipper 5.3 /harbour/minigui
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Comunicação Tcip com Hardwares
Olá!
A placa é um CPU, com um servidor WEB.
Para se comunicar tem que usar a IDE. Gravar os arquivo em ".C", ".H"... Só assim. Não é usando SOCKET com o Harbour.
Mas essa placa tem uma porta //192.168.0.1:3000/ que vc consegue acesso via CELULAR/COMPUTADOR NORMAL.
SE nessa porta TEM a PAGINA WEB com as POSSÍVEIS CONFIGURAÇÕES da PLACA eu não sei. Como se fosse a PAGINA WEB ai do ROTEADOR, para mexer nas senhas e outras configurações.
Isso é um MINI COMPUTADOR. Tem desses com saída de vídeo e teclado. Os tais Shields que compra e vai encaixando nela.
O Harbour é o de menos nesse processo.
Saudações,
Itamar M. Lins Jr.
Veja bem, eu já entendi ai o processo.o que eu precisaria era de fazer o HARBOUR se comunicar com ela
A placa é um CPU, com um servidor WEB.
Para se comunicar tem que usar a IDE. Gravar os arquivo em ".C", ".H"... Só assim. Não é usando SOCKET com o Harbour.
Mas essa placa tem uma porta //192.168.0.1:3000/ que vc consegue acesso via CELULAR/COMPUTADOR NORMAL.
SE nessa porta TEM a PAGINA WEB com as POSSÍVEIS CONFIGURAÇÕES da PLACA eu não sei. Como se fosse a PAGINA WEB ai do ROTEADOR, para mexer nas senhas e outras configurações.
Isso é um MINI COMPUTADOR. Tem desses com saída de vídeo e teclado. Os tais Shields que compra e vai encaixando nela.
O Harbour é o de menos nesse processo.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Comunicação Tcip com Hardwares
Acho que exagerou sobre IDE.Itamar M. Lins Jr. escreveu:Veja bem, eu já entendi ai o processo.
A placa é um CPU, com um servidor WEB.
Para se comunicar tem que usar a IDE. Gravar os arquivo em ".C", ".H"... Só assim. Não é usando SOCKET com o Harbour.
Mas essa placa tem uma porta //192.168.0.1:3000/ que vc consegue acesso via CELULAR/COMPUTADOR NORMAL.
SE nessa porta TEM a PAGINA WEB com as POSSÍVEIS CONFIGURAÇÕES da PLACA eu não sei. Como se fosse a PAGINA WEB ai do ROTEADOR, para mexer nas senhas e outras configurações.
Contém um servidor web, e vai ser tudo via protocolo web.
hbtip deve ser o suficiente.
Só imagino que deva ter alguma senha, ou algo especial, senão qualquer invasor teria acesso.
Igual meu controle remoto universal, ou chave liga/desliga
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/