Los foros del Guille

Si no encuentras respuesta, puedes buscar en el sitio del Guille

Google
 

MKN Reservas (Maro - Kayak Nerja)


Kayak Maro - Rutas y alquiler de kayak y tabla
Selecciona el foro y pulsa en mostrar:     Mostrar 
De tu inter�s (algunos de los avisos publicados)

01/feb./2019

Como te avisé, desde el 1 de febrero de 2019

No se podrán escribir nuevos mensajes ni editar los existentes

En breve solo se mostrarán los mensajes con respuestas.
Posiblemente para el 1 de marzo, solamente se mostrarán los que tengan respuestas y estén marcados como respuesta válida.

  Foro: VB6.General Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 40760 - lectura por linea de archivo plano
IDAsuntoFechaNick 
40760 lectura por linea de archivo plano24/04/08 17:35Lestat2492   
Como puedo hacer para realizar una lectura de un archivo plano para poder detectar y almacenar en una variable el tipo de delimitador usado, ... es decir tengo mi archivo que comienza Ej: asi ----------------;(el delimitador es un punto y coma en este ejemplo), cuando llegue la lectura al primer delimitador dejo de ejecutar la instruccion y almaceno el delimitador en una variable.


Gracias de antemano.
IDAsuntoFechaNick 
40789 Re: lectura por linea de archivo plano (Resp: 40760)25/04/08 06:38juanjoa   
Eso sólo lo podrás hacer si conoces el ancho de los campos (al menos del primero) ya que en un archivo puede haber comas, punto y coma, etc.. que no sean precisamente el delimitador de campos.

Supongamos que el primer campo tiene 5 caracteres:

Open App.Path & "\MiArchivo.txt" For Input As #1
Line Input #1, s
Close #1
sSeparador = Mid(s, 6, 1)
(ambas variables son Strings)

Por cierto, ¿solucionaste lo de modificar el registro?

Un saludo
[Editado: juanjoa, 25/04/2008 08:20:23]


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
40796 Re: lectura por linea de archivo plano (Resp: 40760)25/04/08 10:08Lestat2492   
Gracias, .... y lo de modificar el registro no logro entender como hacerlo. no encontre mucho para informarme. Podrias ayudarme con algun ejemplo. (la consulta anterior viene enlazada con esto porque yo debo saber que tipo de delimitador tengo para poder modificarlo.)
te dejo mi correo por si tienes algun ejemplo para ayudarme.

[email protected]

Muchas Gracias


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
40798 Re: lectura por linea de archivo plano (Resp: 40796)25/04/08 10:45juanjoa   
Bueno, mejor que enviártelo por correo, lo pongo aquí por si a alguién más le es de utilidad:

Option Explicit

Private Declare Function RegCreateKey Lib
     "advapi32.dll" Alias "RegCreateKeyA"
     (ByVal hKey As
     Long, ByVal
     lpSubKey As String,
     phkResult As Long)
     As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA"
     (ByVal hKey As
     Long, ByVal
     lpValueName As String, ByVal Reserved
     As Long, ByVal dwType As Long, lpData As Any,
     ByVal cbData As
     Long) As Long
Private Declare Function RegCloseKey Lib
     "advapi32.dll" (ByVal hKey As Long) As Long

Const HKEY_LOCAL_MACHINE = &H80000002
Const REG_SZ = 1

Sub ModifRegistro(HKLM As
     Long, sPath As
     String, sClave As
     String, sValor As
     String)
Dim lRet As Long, hKey As Long
lRet = RegCreateKey(HKLM, sPath, hKey)
lRet = RegSetValueEx(hKey, sClave, 0, REG_SZ, ByVal sValor, Len(sValor))
lRet = RegCloseKey(hKey)
End Sub

Private Sub Command1_Click()
Dim sSep As String
sSep = "Delimited(<img src='imagenes/smiles/rielagrima.png'
     border='0' alt='rielagrima' />"  ' aquí pones el
     delimitador de campos
' opciones: Delimited(<img
     src='imagenes/smiles/rielagrima.png' border='0' alt='rielagrima' />, Delimited(<img
     src='imagenes/smiles/guinio.png' border='0' alt='guinio' />, Delimited(#)...
     etc.
' para separación con tabulador = TabDelimited
ModifRegistro HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Jet\4.0\Engines\Text", "Format", sSep
MsgBox "Modificado el registro"
End Sub

Un saludo

Nota: En las funciones API no debes hacer el salto de línea (no sé porque ha salido así, yo lo puse todo seguido) en todo caso, si quieres ponerlo en varias líneas utiliza el guión bajo ( _ ) al final de cada línea.

La verdad es que es una chapuza de editor ¡casi todo ha salido mal! Habrá que quejarse a El Guille.


[Editado: juanjoa, 25/04/2008 10:46:58]
[juanjoa, 25/04/2008 10:53:15]


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
40799 Re: lectura por linea de archivo plano (Resp: 40798)25/04/08 10:57Lestat2492   
Muchisimas Gracias, y disculpa por molestarte tanto enque estoy aprendiendo y esto de manejar API's me resulta complicado de entender, hay algun tutarial o manual parapoder estudiar un poco el tema?.

Mil gracias el codigo.

Pablo.


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
40800 Re: lectura por linea de archivo plano (Resp: 40799)25/04/08 11:06juanjoa   
Bueno, yo te recomiendo que te bajes la API-Guide (busca en Google), tiene bastantes funciones API y con ejemplos.

¿Entendiste el código? sobre todo la parte comentada, a mí me salen cosas raras.

Un saludo


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
40801 Re: lectura por linea de archivo plano (Resp: 40800)25/04/08 12:13Lestat2492   
Si se entiende, muchisimas gracias.

Saludos,

Pablo.


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.

 
(c) Guillermo 'guille' Som, 2005-2026  - foros.elGuille v1.0.6.3 (01/Jun/2021 12:45 GMT +2)  - (ASP.NET v4.0.30319.42000)
 
La hora GMT del servidor es: 09/06/2026 13:58:27 GMT