Função compativel com ExtractStrings

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Eros
Usuário Nível 3
Usuário Nível 3
Mensagens: 291
Registrado em: 19 Dez 2008 19:23
Localização: Goiania

Função compativel com ExtractStrings

Mensagem por Eros »

Existe no clipper 5.2 ou em suas bibliotecas auxiliares alguma função que tem funcionalidade semelhante ou igual a ExtractStrings do delphi ??

ExtractStrings em delhi tem a finalidade de facilitar na importação de um arquivo texto, onde as informações em cada linha são separados por algum caractere (exemplo do sped que usa "|" pipe separando campos de dados).

Alguém saberia informar se existe função similar nas bibliotecas do clipper ??

Obs (A pergunta se refere a clipper, nao harbour)
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Função compativel com ExtractStrings

Mensagem por alxsts »

Olá!

Creio que o mais indicado neste caso é o comando APPEND FROM.
[]´s
Alexandre Santos (AlxSts)
Eros
Usuário Nível 3
Usuário Nível 3
Mensagens: 291
Registrado em: 19 Dez 2008 19:23
Localização: Goiania

Função compativel com ExtractStrings

Mensagem por Eros »

Obrigado pela dica.. testando, foi o mais próximo que encontrei mesmo.. mas já ajuda..

Na verdade, é para criar uma rotina de importação de dados do sped fiscal.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Função compativel com ExtractStrings

Mensagem por Toledo »

Amigos, segue um exemplo do que pode fazer:

Código: Selecionar todos

cText:="Funcao|compativel|com|ExtractStrings"
aRet:=SPLIT(cText,"|")
For i=1 to Len(aRet)
 ? aRet[i]
Next
retu

Function SPLIT(cStr,cDelim)
Local _Var1,_Var2, _aVar3:={}
If (PCount() < 2)
  cDelim:= ","
EndIf
Do While .T.
  _Var2:= At(cDelim,cStr)
  If (_Var2 > 0)
     _Var1:= Left(cStr,_Var2-1)
     cStr:= SubStr(cStr,_Var2+Len(cDelim))
  Else
     _Var1:= cStr
     cStr:=""
  EndIf
  AADD(_aVar3,_Var1)
  If Empt(cStr)
    Exit
  Endif
Enddo
Return _aVar3
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Eros
Usuário Nível 3
Usuário Nível 3
Mensagens: 291
Registrado em: 19 Dez 2008 19:23
Localização: Goiania

Função compativel com ExtractStrings

Mensagem por Eros »

Valeu Toledo.. muito boa.. obrigado !
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Função compativel com ExtractStrings

Mensagem por rochinha »

Amiguinhos,

Ufahh!! custei para encontrar.

Tempos atrás tinha colocando uma postagem onde tinha uma função que fazia o mesmo que a do Toledo, só que com outra codificação.

Só para registro:

Código: Selecionar todos

function StringToArray( cString, cSeparator )
	LOCAL nPos
	LOCAL aString := {}
	DEFAULT cSeparator := ";"
	cString := ALLTRIM( cString ) + cSeparator
	DO WHILE .T.
	   nPos := AT( cSeparator, cString )
	   IF nPos = 0
	      EXIT
	   ENDIF
	   AADD( aString, SUBSTR( cString, 1, nPos-1 ) )
	   cString := SUBSTR( cString, nPos+1 )
	ENDDO
RETURN ( aString )
A função reversa:

Código: Selecionar todos

function ArrayToString( aArray, cSeparator )
	   LOCAL nPos
	   DEFAULT cSeparator := ";"
	   cString := ""
	   FOR nPos = 1 TO LEN(aArray)
	       cString := cString + aArray[nPos] + cSeparator
	   NEXT
RETURN ( cString )
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Responder