LetoDb e Harbour, como usar.
Moderador: Moderadores
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
LetoDb e Harbour, como usar.
Hi elrosa,
These errors mean that are missing these functions. I don't know LetoDb, but I know that you need Harbour version 3.2 or 3.4. You are using the Harbour 3.0.
See this topic too: Letodb no linux ubuntu 12.04.
These errors mean that are missing these functions. I don't know LetoDb, but I know that you need Harbour version 3.2 or 3.4. You are using the Harbour 3.0.
See this topic too: Letodb no linux ubuntu 12.04.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
LetoDb e Harbour, como usar.
Bom dia, everybody...
Quando o executável está no cliente a aula aqui ministrada pelo prof.Itamar transformou o Letodb em algo bem fácil, pois o próprio programa no PC do cliente seta as variáveis necessárias...
A pergunta é: Como usar o Letodb se o executavel estiver no servidor, juntamente com os dados e não no PC do cliente ?
Grato pela atenção...
Quando o executável está no cliente a aula aqui ministrada pelo prof.Itamar transformou o Letodb em algo bem fácil, pois o próprio programa no PC do cliente seta as variáveis necessárias...
Código: Selecionar todos
Function Main
LOCAL cPath
request leto
rddsetdefault( "LETO" )
set date format "dd/mm/yy"
cPath:= "//25.77.144.122:2812/"
carq="CLIE01"
use (cpath+carq) new
browse()
close
RETU
Grato pela atenção...
lugab
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
LetoDb e Harbour, como usar.
Ola!
É por isso que precisamos aprender outras coisas, antes. O BASICÃO!
TCP/IP o que é isso ? O que é LOCALHOST ? O que é IP FIXO o que é IP DINAMICO ? O que é PORTA TCP ? O que é protocolo UDP e protocolo TCP ?...
Como pode ver o nome "google.com" é convertido para 172.217.2.174
Como o letodb tanto faz vc usar "google.com" ou "172.217.2.174"
Saudações,
Itamar M. Lins Jr.
É por isso que precisamos aprender outras coisas, antes. O BASICÃO!
TCP/IP o que é isso ? O que é LOCALHOST ? O que é IP FIXO o que é IP DINAMICO ? O que é PORTA TCP ? O que é protocolo UDP e protocolo TCP ?...
Todo PC "com placa de rede e com protocolo TCP/IP versão 4 ativado" possui um número e um nome. Você pode setar ou com número ou com nome o Letodb.A pergunta é: Como usar o Letodb se o executavel estiver no servidor, juntamente com os dados e não no PC do cliente ?
Código: Selecionar todos
C:\fontes\SCI_WIN>ping google.com
Disparando google.com [172.217.2.174] com 32 bytes de dados:
Resposta de 172.217.2.174: bytes=32 tempo=619ms TTL=53
Resposta de 172.217.2.174: bytes=32 tempo=600ms TTL=53
Resposta de 172.217.2.174: bytes=32 tempo=612ms TTL=53
Resposta de 172.217.2.174: bytes=32 tempo=572ms TTL=53
Estatísticas do Ping para 172.217.2.174:
Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% de
perda),
Aproximar um número redondo de vezes em milissegundos:
Mínimo = 572ms, Máximo = 619ms, Média = 600ms
Como o letodb tanto faz vc usar "google.com" ou "172.217.2.174"
Código: Selecionar todos
Então, cPath:= "//25.77.144.122:2812/"
ou cPath := "172.217.2.174:2812" ou cPath := "google.com:2812"
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
LetoDb e Harbour, como usar.
Itamar, o que te fiz pra merecer uma resposta prepotente e que não tinha como objetivo responder diretamente a minha pergunta ?
Eu admito que não sou da área, que conheço pouquíssimo sobre o quesito conexões, que o pouco que sei e que aprendi aqui no fórum ,
foi "consertar e atualizar para harbour um antigo sistema em clipper" que eu herdei qdo assumi uma loja da família..
Então, eu vou insistir na pergunta, pra ver se eu ganho uma ajuda real, uma resposta direta...
Aqui nesse tópico eu aprendi a acessar os DBFs via LetdoDB quando o "Teste.exe" se encontra no meu PC de cliente. Nesse caso,
o próprio teste.exe apresenta as linhas de conexão.
A minha questão é "quando além dos DBFs, o "Teste.exe" também está instalado no servidor Letodb"
Eu gostaria de executar esse Teste.exe do servidor a partir do meu PC ( eu acho q não é possível, mas...) eu peço a ajuda de quem possa responder de forma direta....
Eu admito que não sou da área, que conheço pouquíssimo sobre o quesito conexões, que o pouco que sei e que aprendi aqui no fórum ,
foi "consertar e atualizar para harbour um antigo sistema em clipper" que eu herdei qdo assumi uma loja da família..
Então, eu vou insistir na pergunta, pra ver se eu ganho uma ajuda real, uma resposta direta...
Aqui nesse tópico eu aprendi a acessar os DBFs via LetdoDB quando o "Teste.exe" se encontra no meu PC de cliente. Nesse caso,
o próprio teste.exe apresenta as linhas de conexão.
A minha questão é "quando além dos DBFs, o "Teste.exe" também está instalado no servidor Letodb"
Eu gostaria de executar esse Teste.exe do servidor a partir do meu PC ( eu acho q não é possível, mas...) eu peço a ajuda de quem possa responder de forma direta....
lugab
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
LetoDb e Harbour, como usar.
Ola!
É qui nois é meio assim "acavalado". Mas veja que eu disse "precisamos" eu também não sei. E estou aprendendo.
Agora é que caiu a ficha aqui... eu acho.
No seu executável vc vai ler um arquivo qualquer com a configuração. Pode passar o IP via arquivo ".ini" ou via parâmetro.
No .PRG vc faz assim ou como achar melhor.
Ou lendo o arquivo .ini com as funções do harbour, eu uso Hwgui, então faço assim:
Se cServidor for "empty" então eu faço acesso local mesmo.
Desculpa ai os coices...
Porque vc compila no seu executável o IP(cPath), não faça assim porque vc está engessando o seu .exe.
Tive que fazer uma analise, reprocessar, loop etc...para entender a sua pergunta. E ainda estou com dúvida se entendi.
Vc até pode fazer da forma que vc usa, mas precisa usar algum nome ao invés de usar números(192.168.0.10) por exemplo uma rede com 5 maquinas.
"servidor", "cpu1', "cpu2", "cpu3" ...
Se vc compilar o teste.exe para abrir a maquina de nome "servidor", vai dar certo também.
Saudações,
Itamar M. Lins Jr.
É qui nois é meio assim "acavalado". Mas veja que eu disse "precisamos" eu também não sei. E estou aprendendo.
Agora é que caiu a ficha aqui... eu acho.
No seu executável vc vai ler um arquivo qualquer com a configuração. Pode passar o IP via arquivo ".ini" ou via parâmetro.
Código: Selecionar todos
c:\xyz>teste.exe //192.168.1.20:2812/
Código: Selecionar todos
function main(cPath)
hb_default(@cPath,"localhost")
Código: Selecionar todos
cServidor := Hwg_GetIni('Config','Servidor' ,,cIniFile)
Código: Selecionar todos
//Fragmento de código para dar uma ideia.
BEGIN SEQUENCE WITH {| oErr | Break( oErr ) }
If lRddLeto
If Leto_File(cServidor+cDB)
DbUseArea(.T.,"LETO",cServidor+cDB,Apel,.T.,.F.,'PTISO')
Else
hwg_Msgstop('LetoDb Não Localizou o Arquivo: ' + cServidor + cDB)
lRet := .F.
EndIf
Else
DbUseArea(.T.,'DBFCDX',dDados+cDB,Apel,.T.,.F.,'PTISO')
EndIf
Porque vc compila no seu executável o IP(cPath), não faça assim porque vc está engessando o seu .exe.
Tive que fazer uma analise, reprocessar, loop etc...para entender a sua pergunta. E ainda estou com dúvida se entendi.
Vc até pode fazer da forma que vc usa, mas precisa usar algum nome ao invés de usar números(192.168.0.10) por exemplo uma rede com 5 maquinas.
"servidor", "cpu1', "cpu2", "cpu3" ...
Se vc compilar o teste.exe para abrir a maquina de nome "servidor", vai dar certo também.
Código: Selecionar todos
cPath:="//servidor:2812/"
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
LetoDb e Harbour, como usar.
Ola!
Só mais umas coisinhas...
Um computador tem no mínimo 2(DOIS) IP's o que identifica ela na rede que pode ser local "LAN" (Local Area Network) ou a Internet "mundial" que é WAN (Wide Area Network) e mais outro localhost.
O Primeiro IP é ela mesma (não passa pela placa de REDE) pode até desligar a placa ou 127.0.0.1(loopbak) ou podemos usar a palavra "localhost". Para testar qualquer serviço que está usando o protocolo TCP/IP usamos a palavra localhost ou o número 127.0.0.1 que são a mesma coisa. Quando usamos algum NOME é para identificar ela na REDE LOCAL(LAN) e quando queremos acessar ela ou disponibilizar algo tipo servidor Apache ou MYSQL ou os DBF'´s via LetoDbf na WAN temos que criar o DOMÍNIO no nível mundial, usamos o NO-IP, DynDNS que irão gerar o NOME aceito na grande rede(internet). Assim, cpu1casa.ddns.net será atribuído a algum IP válido na Internet e este IP é fornecido por algum provedor de internet ao nosso MODEM. Atrás do modem pode ter "n" IP's na faixa 192.167.... na frente do modem só tem 1 IP.
Para compartilhar ou disponibilizar, criar aplicações "for qualquer coisa", algo na internet, precisamos ter essas noções e quem manda na internet são os navegadores, quase a totalidade que acessamos é via algum navegador ou serviços similares ao WTS (Windows Terminal Service).
Quero saber se o LetoDB está rodando na minha maquina ?
Isso vai funcionar mesmo se o FIREWALL do windows estiver barrando o LetoDB.
Agora se o LetoDB está em outro CPU tanto faz ser LAN ou WAN ai temos que ABRIR no firewall do windows a porta 2812(em questão) e/ou "se for o caso" ABRIR no MODEM a porta TCP/IP 2812 e direcionar ela para o IP LAN da maquina servidora tanto faz ser Letodb, MySql...
Saudações,
Itamar M. Lins Jr.
Só mais umas coisinhas...
Um computador tem no mínimo 2(DOIS) IP's o que identifica ela na rede que pode ser local "LAN" (Local Area Network) ou a Internet "mundial" que é WAN (Wide Area Network) e mais outro localhost.
O Primeiro IP é ela mesma (não passa pela placa de REDE) pode até desligar a placa ou 127.0.0.1(loopbak) ou podemos usar a palavra "localhost". Para testar qualquer serviço que está usando o protocolo TCP/IP usamos a palavra localhost ou o número 127.0.0.1 que são a mesma coisa. Quando usamos algum NOME é para identificar ela na REDE LOCAL(LAN) e quando queremos acessar ela ou disponibilizar algo tipo servidor Apache ou MYSQL ou os DBF'´s via LetoDbf na WAN temos que criar o DOMÍNIO no nível mundial, usamos o NO-IP, DynDNS que irão gerar o NOME aceito na grande rede(internet). Assim, cpu1casa.ddns.net será atribuído a algum IP válido na Internet e este IP é fornecido por algum provedor de internet ao nosso MODEM. Atrás do modem pode ter "n" IP's na faixa 192.167.... na frente do modem só tem 1 IP.
Para compartilhar ou disponibilizar, criar aplicações "for qualquer coisa", algo na internet, precisamos ter essas noções e quem manda na internet são os navegadores, quase a totalidade que acessamos é via algum navegador ou serviços similares ao WTS (Windows Terminal Service).
Quero saber se o LetoDB está rodando na minha maquina ?
Código: Selecionar todos
IF ( leto_Connect( "localhost",,,30000 ) ) < 0 //Default is 120.000 aka 2 minutes.
//ou
IF ( leto_Connect( "127.0.0.1",,,30000 ) ) < 0 //Default is 120.000 aka 2 minutes.
...
Agora se o LetoDB está em outro CPU tanto faz ser LAN ou WAN ai temos que ABRIR no firewall do windows a porta 2812(em questão) e/ou "se for o caso" ABRIR no MODEM a porta TCP/IP 2812 e direcionar ela para o IP LAN da maquina servidora tanto faz ser Letodb, MySql...
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
-
vcatafesta
- Usuário Nível 1

- Mensagens: 27
- Registrado em: 21 Fev 2015 00:22
- Localização: Pimenta Bueno/RO
- Contato:
LetoDb e Harbour, como usar.
Olá pessoal,
Alguém tem idéia de como resolver esse erro no letodb?
ou deste
att
Alguém tem idéia de como resolver esse erro no letodb?
Código: Selecionar todos
Error TERM/2014 Create error: //127.0.0.1:2812/TEXTO.TXT
(OS Error 123)Código: Selecionar todos
Error TERM/2014 Create error: TESTE.TXT
(OS Error 3)
Quit Retry Defaultatt
Harbour, C, C++, Ruby, Python, Go, Delphi, Haskell, Html, PHP, mingw, gtwvg, multithread, dbfcdx, letodb
=================================================
Senhor, sem Ti, nada podemos fazer!
=================================================
Senhor, sem Ti, nada podemos fazer!
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
LetoDb e Harbour, como usar.
Ola!
Já procurou na internet que erro é esse ?
Se é do LETO ou do OS ? Permissões, nomes errados... de pastas...arquivos...
Saudações,
Itamar M. Lins Jr.
Já procurou na internet que erro é esse ?
Se é do LETO ou do OS ? Permissões, nomes errados... de pastas...arquivos...
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
-
vcatafesta
- Usuário Nível 1

- Mensagens: 27
- Registrado em: 21 Fev 2015 00:22
- Localização: Pimenta Bueno/RO
- Contato:
LetoDb e Harbour, como usar.
Olá Itamar,
Esse erro TERM/2014 se dá no ambiente do Letodb.
quanto ao erro 3 - Doserror 3 - Path not found.
SET(24, "TESTE.TXT", .F.)
quanto ao erro 23 - Doserror 123 - 123 Illegal character or invalid file-system name.
SET(24, cPath + "TESTE.TXT", .F.)
O arquivo dbleto.ini está adequadamente configurado, inclusive tudo funciona normal no ambiente leto, criação de tabelas, indice, etc.
Não encontrei qualquer menção na internet a respeito da resolução desse erro:
(SET(24, (xarquivo), .F.) ou SET PRINT TO (xArquivo) no ambiente Leto.
Acredito eu, que seja a mesma situação que ocorre com Fcreate() no ambiente Leto, função essa
que foi substituida, no ambiente Leto pela Leto_Fcreate().
Examinando os fontes do Leto, observei que Leto_Set(), retorna Set(), sem qualquer outro tratamento de criação de arquivo TERM no ambiente Leto.
no Harbour a função em C, para SET_PRINTFILE
Resultando que Set(24,..), não tem tratamento adequado no ambiente Leto.
Esse erro TERM/2014 se dá no ambiente do Letodb.
quanto ao erro 3 - Doserror 3 - Path not found.
SET(24, "TESTE.TXT", .F.)
quanto ao erro 23 - Doserror 123 - 123 Illegal character or invalid file-system name.
SET(24, cPath + "TESTE.TXT", .F.)
O arquivo dbleto.ini está adequadamente configurado, inclusive tudo funciona normal no ambiente leto, criação de tabelas, indice, etc.
Não encontrei qualquer menção na internet a respeito da resolução desse erro:
(SET(24, (xarquivo), .F.) ou SET PRINT TO (xArquivo) no ambiente Leto.
Acredito eu, que seja a mesma situação que ocorre com Fcreate() no ambiente Leto, função essa
que foi substituida, no ambiente Leto pela Leto_Fcreate().
Examinando os fontes do Leto, observei que Leto_Set(), retorna Set(), sem qualquer outro tratamento de criação de arquivo TERM no ambiente Leto.
Código: Selecionar todos
//server.prg
FUNCTION leto_Set( nSet, xPar1, xPar2 )
RETURN Set( nSet, xPar1, xPar2 )
Código: Selecionar todos
static void open_handle( PHB_SET_STRUCT pSet, const char * file_name,
HB_BOOL fAppend, HB_set_enum set_specifier )
{
HB_STACK_TLS_PRELOAD
PHB_ITEM pError = NULL;
PHB_FILE handle, * handle_ptr;
HB_ERRCODE uiError;
const char * szDevice = NULL, * def_ext;
char * szFileName = NULL;
char ** set_value;
HB_BOOL fPipe = HB_FALSE, fStripEof;
HB_TRACE( HB_TR_DEBUG, ( "open_handle(%p, %s, %d, %d)", ( void * ) pSet, file_name, ( int ) fAppend, ( int ) set_specifier ) );
switch( set_specifier )
{
case HB_SET_ALTFILE:
uiError = 2013;
set_value = &pSet->HB_SET_ALTFILE;
handle_ptr = &pSet->hb_set_althan;
def_ext = ".txt";
break;
case HB_SET_PRINTFILE:
uiError = 2014;
set_value = &pSet->HB_SET_PRINTFILE;
handle_ptr = &pSet->hb_set_printhan;
def_ext = ".prn";
break;
case HB_SET_EXTRAFILE:
uiError = 2015;
set_value = &pSet->HB_SET_EXTRAFILE;
handle_ptr = &pSet->hb_set_extrahan;
def_ext = ".prn";
break;
default:
return;
}
if( file_name && file_name[ 0 ] != '\0' )
{
#if defined( HB_OS_UNIX )
fPipe = file_name[ 0 ] == '|';
if( fPipe )
szFileName = hb_strdup( file_name );
else
#endif
{
szDevice = is_devicename( file_name );
if( szDevice )
{
szFileName = hb_strdup( szDevice );
def_ext = NULL;
#if defined( HB_OS_WIN ) || defined( HB_OS_DOS )
fAppend = HB_TRUE;
#endif
}
else
szFileName = hb_strdup( file_name );
}
}
/* free the old value before setting the new one (CA-Cl*pper does it).
* This code must be executed after setting szFileName, [druzus]
*/
close_handle( pSet, set_specifier );
if( *set_value )
{
hb_xfree( *set_value );
*set_value = NULL;
}
if( ! szFileName )
return;
fStripEof = fAppend && szDevice == NULL && ! fPipe;
/* Open the file either in append (fAppend) or truncate mode (! fAppend), but
always use binary mode */
/* QUESTION: What sharing mode does Clipper use ? [vszakats] */
do
{
if( fPipe )
handle = hb_filePOpen( szFileName + 1, "w" );
else
handle = hb_fileExtOpen( szFileName,
hb_stackSetStruct()->HB_SET_DEFEXTENSIONS ? def_ext : NULL,
( ! fStripEof || set_specifier == HB_SET_PRINTFILE ? FO_WRITE : FO_READWRITE ) |
FO_DENYWRITE | FXO_SHARELOCK |
( fAppend ? FXO_APPEND : FXO_TRUNCATE ) |
( szDevice ? 0 : FXO_DEFAULTS ),
NULL, pError );
if( handle == NULL )
{
pError = hb_errRT_FileError( pError, HB_ERR_SS_TERMINAL, EG_CREATE, uiError, szFileName );
if( hb_errLaunch( pError ) != E_RETRY )
break;
}
}
while( handle == NULL );
if( pError )
hb_itemRelease( pError );
if( handle != NULL && fStripEof )
{
/* Position to EOF */
if( hb_fileSeek( handle, 0, FS_END ) > 0 )
{
/* Special binary vs. text file handling - even for UN*X, now
that there's an HB_SET_EOF flag. */
/* PRINTFILE is always binary and needs no special handling. */
if( set_specifier != HB_SET_PRINTFILE )
{
/* All other files are text files and may have an EOF
('\x1A') character at the end (both UN*X and non-UN*X,
now that theres an HB_SET_EOF flag). */
char cEOF = '\0';
hb_fileSeek( handle, -1, FS_END ); /* Position to last char. */
hb_fileRead( handle, &cEOF, 1, -1 ); /* Read the last char. */
if( cEOF == '\x1A' ) /* If it's an EOF, */
hb_fileSeek( handle, -1, FS_END ); /* Then write over it. */
}
}
}
/* user RT error handler can open it too so we have to
* close it again if necessary
*/
if( handle == NULL )
{
hb_xfree( szFileName );
szFileName = NULL;
}
close_handle( pSet, set_specifier );
*handle_ptr = handle;
if( *set_value )
hb_xfree( *set_value );
*set_value = szFileName;
}
int hb_setUpdateEpoch( int iYear )
{
if( iYear >= 0 && iYear < 100 )
{
int iEpoch = hb_setGetEpoch();
int iCentury = iEpoch / 100;
if( iYear < iEpoch % 100 )
++iCentury;
iYear += iCentury * 100;
}
return iYear;
}
Harbour, C, C++, Ruby, Python, Go, Delphi, Haskell, Html, PHP, mingw, gtwvg, multithread, dbfcdx, letodb
=================================================
Senhor, sem Ti, nada podemos fazer!
=================================================
Senhor, sem Ti, nada podemos fazer!
-
vcatafesta
- Usuário Nível 1

- Mensagens: 27
- Registrado em: 21 Fev 2015 00:22
- Localização: Pimenta Bueno/RO
- Contato:
LetoDb e Harbour, como usar.
Ninguém?!?!?!
Harbour, C, C++, Ruby, Python, Go, Delphi, Haskell, Html, PHP, mingw, gtwvg, multithread, dbfcdx, letodb
=================================================
Senhor, sem Ti, nada podemos fazer!
=================================================
Senhor, sem Ti, nada podemos fazer!
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
LetoDb e Harbour, como usar.
Ola!
OOOOxi... que isso rapaz.... que está querendo ?
Esses erros ai não tem nada a ver com o Letodbf.
No caso do SET ele o letodbf passa a bola para o harbour... não tem necessidade de reinventar a roda...
O SET(...) é do Harbour não do letodbf.
Mostre os seus códigos, como está fazendo...? e não como está entendendo.
Saudações,
Itamar M. Lins Jr.
OOOOxi... que isso rapaz.... que está querendo ?
Quem disse que é da forma que vc está "entendendo" ?Resultando que Set(24,..), não tem tratamento adequado no ambiente Leto.
Esses erros ai não tem nada a ver com o Letodbf.
No caso do SET ele o letodbf passa a bola para o harbour... não tem necessidade de reinventar a roda...
O SET(...) é do Harbour não do letodbf.
Mostre os seus códigos, como está fazendo...? e não como está entendendo.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
-
vcatafesta
- Usuário Nível 1

- Mensagens: 27
- Registrado em: 21 Fev 2015 00:22
- Localização: Pimenta Bueno/RO
- Contato:
LetoDb e Harbour, como usar.
Justamente Itamar!
O codigo é simplesmente uma chamada para imprimir para arquivo.
O Leto está passando a "bola" de todas as chamadas a SET() para o Harbour,
inclusive a Set(24, (xArquivo). .F.) ou Set Print To (xArquivo).
Ocorre que essa chamada é para TERM, e em ambiente leto gera erro, e como mencionei
anteriormente.
Penso eu, que para imprimir para arquivo em ambiente Leto, faltaria um tratamento
para o Set(24,...), da mesma forma que foi com o FCreate, agora em ambiente Leto Leto_Fcreate,
entendeu?
att
O codigo é simplesmente uma chamada para imprimir para arquivo.
Código: Selecionar todos
Set(24, (xArquivo), .F.) ou Set Print to (xarquivo)
inclusive a Set(24, (xArquivo). .F.) ou Set Print To (xArquivo).
Ocorre que essa chamada é para TERM, e em ambiente leto gera erro, e como mencionei
anteriormente.
Penso eu, que para imprimir para arquivo em ambiente Leto, faltaria um tratamento
para o Set(24,...), da mesma forma que foi com o FCreate, agora em ambiente Leto Leto_Fcreate,
entendeu?
att
Harbour, C, C++, Ruby, Python, Go, Delphi, Haskell, Html, PHP, mingw, gtwvg, multithread, dbfcdx, letodb
=================================================
Senhor, sem Ti, nada podemos fazer!
=================================================
Senhor, sem Ti, nada podemos fazer!
LetoDb e Harbour, como usar.
Olá, já verificou as permissões na pasta ?
Outra coisa mostra o seu letodb.ini pra gente dar uma comparada.
Deixa eu entender isso, você tá querendo gerar um arquivo no servidor letodb ? é isso ?
Outra coisa mostra o seu letodb.ini pra gente dar uma comparada.
Deixa eu entender isso, você tá querendo gerar um arquivo no servidor letodb ? é isso ?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
LetoDb e Harbour, como usar.
Ola!
Não precisa do Letodbf para pegar o erro.
Saudações,
Itamar M. Lins Jr.
Não precisa do Letodbf para pegar o erro.
Esse erro vai ocorrer sem uso do letodbf. Simule ele ai sem usar o Letodbf que vai ocorrer.Set(24, (xArquivo), .F.) ou Set Print to (xarquivo)
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
