Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-03-2022
pabje pabje is offline
Miembro
 
Registrado: dic 2021
Posts: 10
Poder: 0
pabje Va por buen camino
Eliminar el encabezdo ID de un archivo txt

Hola

Quisiera saber como sacar el encabezado ID de un archivo de texto.

Estoy haciendo un reporte con el editor de Visual Studio. El tema es cuando yo exporto el reporte como archivo de texto con extensión txt, me sale en la primera linea la palabra ID y yo no quiero que salga el ID, que directamente aparezca el primer registro.

Desde diseño yo elimine el encabezado y en pdf no sale el ID, pero en txt si sale. Necesigo si o si exportarlo a txt porque el cliente me pide con esa extensión.
Responder Con Cita
  #2  
Antiguo 22-03-2022
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
O sea, según entiendo tienes un fichero de texto así:

Cita:
id
1234
514
5345
21342
234
Y quieres que no salga "id", supongo que en la exportación tendrás una opción para no exportar el encabezado.
Y a las malas puedes quitarlo tú mismo cuando lo exportes, hay diversas maneras de hacerlo, aunque haría falta saber con más detalle cómo lo estás haciendo tú, porque lo del "reporte visual studio"... ni idea.
Responder Con Cita
  #3  
Antiguo 22-03-2022
pabje pabje is offline
Miembro
 
Registrado: dic 2021
Posts: 10
Poder: 0
pabje Va por buen camino
Gracias por responder

No encuentro un opcion al exportar el encabezado ID cuando exporto txt. Como decía yo elimine el titulo ID durante el diseño.
Cuando exporte a PDF no me sale, pero en txt si me sale .

Ahi dejo una imagen cuando intento exportar y no veo una opción. Hago clic en CSV y despues cambio a txt la extensión
https://drive.google.com/file/d/1eZk...ew?usp=sharing

Dejo una imágen como queda el archivo al exportarla en txt.
https://drive.google.com/file/d/12_N...ew?usp=sharing

Si me pueden seguir ayudando para encontrar una solución.

Última edición por Neftali [Germán.Estévez] fecha: 23-03-2022 a las 08:33:24. Razón: Corregir las URLs
Responder Con Cita
  #4  
Antiguo 23-03-2022
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pues entonces haz lo que te he comentado antes, abres el fichero exportado, eliminas la primera línea y listo.
Responder Con Cita
  #5  
Antiguo 23-03-2022
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.278
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Es raro que no se pueda eliminar eso al exportar el fichero, que debería ser la opción lógica.
Si aun así no puedes, pues eliminar la primera línea es sencillo (imagino que quieres hacerlo desde Delphi).

Si no son ficheros muy grandes, puedes usar un TStrings (TStringList) que posee los métodos LoadFromFile y SaveToFile. Símplemente lo lees (LoadFromfile), eliminas la primera línea (Delete(0)) y lo vuelves a guardar (SaveToFile).

Si son ficheros que pueden ser muy grandes el método anterior puede ser lento y se puede optar por usar TStreams o leer el fichero de otra forma.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 23-03-2022
pabje pabje is offline
Miembro
 
Registrado: dic 2021
Posts: 10
Poder: 0
pabje Va por buen camino
Son reportes hecho en sql server con setencias sql server incrustadas en el Data Set de cada reporte ,usando Reporting Services u otra herramieta de reportes de Visual Studio 2010



El tema es que el cliente no va a querer eliminar la linea donde figura el ID. Directamente al exportar ya no debe incluir El ID que viene en la primer línea. Además mi jefe me pide esto que directamente o automáticamente al hace clic en el botón de exportación del editor de reportes, no aparezce el ID en el archivo txt.

Busqué bastante en google sobre esto, pero hasta ahora no encontrè información sobre este tema.

Cita:
Si aun así no puedes, pues eliminar la primera línea es sencillo (imagino que quieres hacerlo desde Delphi).
No quiero hacerlo desde Delphi, sino desde el editor de Reportes o con sentencias Sql Server en el DataSet del reporte o con una opción que trae el editor de reportes para eliminar ese ID en la primer línea que por cierto hasta ahora no lo encontré. Eso me pide mi jefe.

Cita:
Si no son ficheros muy grandes, puedes usar un TStrings que posee los métodos LoadFromFile y SaveToFile. Símplemente lo lees (LoadFromfile), eliminas la primera línea (Delete(0)) y lo vuelves a guardar (SaveToFile).
Si esto delphi, no me sirve.

La exportación en pdf no hay problema, no sale el ID de la primera línea. Es lógico porque en el diseño del reporte yo elimine el encabezado o el título ID del reporte.
En cambio al exportarlo en txt me sale el ID. Intenté variso mètodos, pero nada funcionó para sacar automáticamente(sin que el cliente tenga que hacerlo)el ID al hace clic en el botón de exportación del editor.

Dejo un ejemplo de uno de los reportes con sentencia sql server dentro del DataSet. Intente agregar codigo desde acá pero no solucionó el problema.

Cita:
Select
Replace(
Replace(
Replace(
Convert(varchar(8),@year+ @periodo + '31')
+ '|' + Convert(varchar(5),jrnentry)-- "Codigo_unico_Operacion"
+ '|' + 'M' + CONVERT(VARCHAR(5),ROW_NUMBER() OVER (PARTITION by jrnentry ORDER BY registroImpuesto))--"Correlativo"
+ '|' + CONVERT(VARCHAR(3),CASE isnull(ns.nsaIF_Type_Nit, ' ') WHEN ' ' THEN 0 ELSE ns.nsaIF_Type_Nit END)--" tipo de documento del cliente"
+ '|' + CASE isnull(ns.nsaIF_Type_Nit, ' ') WHEN ' ' THEN CONVERT(VARCHAR(1),0) ELSE CONVERT(VARCHAR(25),RTRIM(registroImpuesto)) END-- "Número de documento del cliente
+ '|' + CASE isnull(ns.nsaIF_Type_Nit, ' ') WHEN ' ' THEN CONVERT(VARCHAR(1),0) ELSE CONVERT(VARCHAR(65),RTRIM(ORMSTRNM)) END-- "Nombre y apellido dle cliente"
+ '|' + CONVERT(VARCHAR(10),trxdate,103)-- "Fecha de emisión"
+ '|' + Convert(varchar(14),CAST( neto AS NUMERIC(14,2)))--"Monto de cada cuenta"
+ '|' + '1' --"estado de la operación"
+ '|'
+ '|'
+ '|'
+ '|'
+ '|'
+ '|'
+ '|'
+ '|'
+ '|','"',''), CHAR(10), ' '), CHAR(13), ' ')
from dbo.vwLocAndinaGLLibroDiario gl
inner join vwLocAndinaGLCuentasPucyGP pu on pu.actindx = gl.actindx
left outer join nsaIF02666 ns ON ns.CUSTNMBR =gl.ORMSTRID
where openYear = @year
and mes <= @periodo
and puc2 in(12,13)
order by jrnentry
Si tienen otras sugerencias. Desde ya le agredezco a todos ustedes por responder.
Responder Con Cita
  #7  
Antiguo 23-03-2022
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Entonces, si he entendido bien, se trata de un reporte creado con una herramienta que están usando tus clientes, y que no tiene nada que ver con delphi, ni con un programa que estás creando/editando tú... ¿es eso?
Responder Con Cita
  #8  
Antiguo 23-03-2022
pabje pabje is offline
Miembro
 
Registrado: dic 2021
Posts: 10
Poder: 0
pabje Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Entonces, si he entendido bien, se trata de un reporte creado con una herramienta que están usando tus clientes, y que no tiene nada que ver con delphi, ni con un programa que estás creando/editando tú... ¿es eso?

Si es una herramienta como reporting servives, un editor de reportes que funciona con Visual Studio 2010 que está instalado en el servidor del cliente y que permite construir los reportes para el cliente.



No tiene nada que ver con delphi, ni con un programa que estoy creando o editando.


Si tienen un sugerencias de como resolver ya sea con código sql server o desde una opción del editor. Yo he intentado casi todo esto y no se soluciono el problema. Tal vez ustedes me pueden ayudar con una nueva idea .


Esperando su respuesta. Gracias.
Responder Con Cita
  #9  
Antiguo 23-03-2022
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No conozco ese "reporting services"
Responder Con Cita
  #10  
Antiguo 30-03-2022
marco3k marco3k is offline
Miembro
 
Registrado: feb 2015
Posts: 60
Poder: 10
marco3k Va por buen camino
Cita:
Empezado por pabje Ver Mensaje
Gracias por responder

No encuentro un opcion al exportar el encabezado ID cuando exporto txt. Como decía yo elimine el titulo ID durante el diseño.
Cuando exporte a PDF no me sale, pero en txt si me sale .

Ahi dejo una imagen cuando intento exportar y no veo una opción. Hago clic en CSV y despues cambio a txt la extensión
https://drive.google.com/file/d/1eZk...ew?usp=sharing

Dejo una imágen como queda el archivo al exportarla en txt.
https://drive.google.com/file/d/12_N...ew?usp=sharing

Si me pueden seguir ayudando para encontrar una solución.
Solo una observación, si dices que cambias (supongo manualmente) de csv a txt y entonces no es tan automático esa parte, en todo caso sino quieres usar Delphi, puedes usar C# o VB (desde Visual Studio) para que haga esa tarea de cambiar de csv a txt y de paso borrar el encabezado "ID" tal como te lo comento casimiro.
Otra observación sería que hagas un reporte simple de pocas columnas y probar si sigue saliendo algun encabezado al exportar a CSV. Y probar desmenuzando columna a columna tu consulta real y asi como una forma de depuración probar en que parte sale el ID.
Suerte.
Responder Con Cita
  #11  
Antiguo 30-03-2022
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Lo que pides "no se puede".

Estas dependiendo de una herramienta (GUI) que no tiene la opción que quieres. No hay como saltar eso.

La solución es usar otra herramienta, o procesar el archivo posterior a su exportación (mejor), o llamar a las apis del reporting service directamente.

Ya que igual tienes que cambiar la extension, es algo muy simple. Haces un programa en delphi/python/etc que haga ambas a la vez o lo haces con magia de linea de comandos.
__________________
El malabarista.
Responder Con Cita
  #12  
Antiguo 30-03-2022
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Por ejemplo, con un .bat (no lo he probado, debes ajustarlo a tus datos)
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas al eliminar un archivo CFPA86 Varios 5 09-04-2011 17:18:59
Eliminar registro en archivo binario tamarinda C++ Builder 2 06-03-2008 20:59:25
eliminar extencion de un archivo... Greco Varios 2 14-11-2007 22:32:36
Eliminar registros de un archivo xml jgutti Varios 0 25-05-2004 22:51:38
Eliminar parte de un archivo de texto miguelb Varios 1 20-05-2003 16:34:49


La franja horaria es GMT +2. Ahora son las 00:14:29.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi