Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-06-2004
Avatar de nefy
nefy nefy is offline
No confirmado
 
Registrado: nov 2003
Posts: 171
Poder: 0
nefy Va por buen camino
Como leer una linea especifica de un Txt?

Hola, pues es eso como leer una linea en especial. Ahorita leo la informacion de un Archivo con el clasico Readln sin embargo como son varias lineas debo de ejecutarlo varias veces pues de algunas lineas debo de tomar valores y de otras no. ejemplo:

Ruta de BD
C:\Datos

En esta seccion solo debo de tomar el valor de la segunda linea. Y asi como en este caso existen varios. Asi q mi duda es si existe otra forma q le pueda especificar exactamente q linea leer.

Salu2.
Responder Con Cita
  #2  
Antiguo 03-06-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Si las líneas no tienen ancho fijo o no hay un archivo índice, uses lo que uses necesitará leer todas las líneas para encontrar la buscada.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 03-06-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Por qué no usas un TStringList.LoadFromFile para cargar el archivo y luego simplemente acceder a la línea deseada con TStringList[Indice]?

// Saludos
Responder Con Cita
  #4  
Antiguo 03-06-2004
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Poder: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Otra alternativa

Segun lo que pude entender si este archivo contiene informacion de configuracion de tu programa, tal como :

- Ruta de archivos de datos
- directorios de trabajo
- valores por defecto
- Etc...

Puedes utilizar un archivo .INI, delphi tiene muchas formas de acceder este de manera muy facil...

Aqui te coloco un poco de codigo...

Código:
Var
   Vars:TStrings;
   strRutaDataBase, strXlsTemplate, strDBase
Begin
     Try

          Vars:=TStringList.Create;

          With TIniFile.Create( 'Miconfig.Ini' ) Do
          Begin
               ReadSectionValues('BaseDatos',Vars);

               strRutaDatabase:=Vars.Values['RutaDataBase']; 
               //C:\Apps\Contabilidad\data
               
               ReadSectionValues('Archivos',Vars);

               strXlsTemplate=Vars.Values['XlsTemplate'];  
               //SAI.XLS']
               strDBFiles=Vars.Values['DBFiles']; 
               //PARAMSIM.DBF

               Free;
          End;
     Finally
          Vars.Free;
     End;
Este seria el contenido del archivo Miconfig.Ini

[BaseDatos]
RutaDataBase=C:\Apps\Contabilidad\data

[Archivos]
XlsTemplate=SAI.XLS
DBFiles=PARAMSIM.DBF


Espero te sirva...
Saludos de Christian
Concepcion-Chile

El Domingo 06 jugamos con Brasil...Vamos Chileeeeeeeeeeeeeeeeeeee
!!!chi-le, chichichi, lelele, Viva Chileeeeeeeee!!!
Responder Con Cita
  #5  
Antiguo 03-06-2004
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 913
Poder: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Olvido

Código:
Var
   Vars:TStrings;
   strRutaDataBase, strXlsTemplate, strDBase:String;
Espero te sirva...
Saludos de Christian
Concepcion-Chile

El Domingo 06 jugamos con Brasil...Vamos Chileeeeeeeeeeeeeeeeeeee
!!!chi-le, chichichi, lelele, Viva Chileeeeeeeee!!!
Responder Con Cita
  #6  
Antiguo 04-06-2004
Amilius Amilius is offline
No confirmado
 
Registrado: ene 2004
Posts: 138
Poder: 0
Amilius Va por buen camino
Cita:
Empezado por nefy
Hola, pues es eso como leer una linea en especial. Ahorita leo la informacion de un Archivo con el clasico Readln sin embargo como son varias lineas debo de ejecutarlo varias veces pues de algunas lineas debo de tomar valores y de otras no. ejemplo:

Ruta de BD
C:\Datos

En esta seccion solo debo de tomar el valor de la segunda linea. Y asi como en este caso existen varios. Asi q mi duda es si existe otra forma q le pueda especificar exactamente q linea leer.

Salu2.
Tal cual lo estás haciendo está bien, son archivos de naturaleza secuencial, sin una estructura que permita usar "seek", es inevitable tener que leer secuencialmente hasta encontrar lo que buscas. El Tstringlist hará lo mismo (incluso leerá todo el archivo y lo colocará en memoria), con la diferencia que será mucho más cómodo programar con su ayuda.
Responder Con Cita
  #7  
Antiguo 04-06-2004
Avatar de nefy
nefy nefy is offline
No confirmado
 
Registrado: nov 2003
Posts: 171
Poder: 0
nefy Va por buen camino
Gracias a todos por sus respuestas perdonen la tardanza en contestar pero tuve q irme a casa a dormir. Finalmente decidir tomar el metodo de Roman (Gracias Roman) y su StringList y trabaja mejor q el ReadLn son unas cuantas lineas menos pero asi sientes un mayor control sobre tu aplicacion (al menos yo). Nunca he probado los InI pero espero aprender usarlos en cualquier ratillo. Gracias una vez mas.

Salu2.
Tecoman-Colima-Mexico
Responder Con Cita
  #8  
Antiguo 04-06-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por nefy
...Finalmente decidir tomar el metodo de Roman (Gracias Roman) y su StringList...
Cuidado con este método, solo será útil si el tamaño del archivo es relativamente pequeño.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #9  
Antiguo 04-06-2004
Avatar de nefy
nefy nefy is offline
No confirmado
 
Registrado: nov 2003
Posts: 171
Poder: 0
nefy Va por buen camino
Gracias por tu consejo, sin embargo dudo tenga problemas pues el archivo nunca pasa de 6 lineas y cada lineas con un tamaño no mayor de 30 caracteres.

Oye cambiando un poquitin de tema (a ver si no me regañan). Pero q debe saber un programador para q se considere Senior y no Junior?.
Salu2.
Responder Con Cita
  #10  
Antiguo 04-06-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por delphi.com.ar
Cuidado con este método, solo será útil si el tamaño del archivo es relativamente pequeño.
¿Más o menos como cuánto es pequeño?

Acabo de cargar las 30,000 líneas de Windows.pas en un abrir y cerrar de ojos.
Responder Con Cita
  #11  
Antiguo 04-06-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Aqui llamamos a los programadores Senior a programadores experimentados, y Junior a los que están experimentando
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #12  
Antiguo 04-06-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por roman
¿Más o menos como cuánto es pequeño?
Es como que no dije nada.. ¿No?
Hay que tener en cuenta que los TStrings cargarán el archivo directamente en memoria, la medida de "pequeño" o "grande" puede ser relativa a los recursos disponibles del sistema.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #13  
Antiguo 04-06-2004
Avatar de nefy
nefy nefy is offline
No confirmado
 
Registrado: nov 2003
Posts: 171
Poder: 0
nefy Va por buen camino
Talking Perdon pero aun no me has respondido

Cita:
Empezado por delphi.com.ar
Aqui llamamos a los programadores Senior a programadores experimentados, y Junior a los que están experimentando
No se si recuerdes pero eso ya me lo habias comunicado en un correo privado; y en mi pregunta especifico q es lo q debe de saber el Senior?.

Ejemplo:
-Dos años trabajado con Interbase o MySQL.
-Experiencia en Bases de Datos de Escritorio(Paradox, DBase, Access, FoxPro).
-Experiencia en conexiones Indy, es decir con Internet.
etc.

Obviamente al ser Delphi un lenguaje de proposito General, siempre existira una(s) rama(s) en la cual se tenga mas experiencia (BaseDatos, Internet, Operaciones Algebraicas, Graficos, etc.)

Espero haberme explicado.

Salu2.
Responder Con Cita
  #14  
Antiguo 04-06-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por nefy
No se si recuerdes pero eso ya me lo habias comunicado en un correo privado
¡Y con las mismas palabras!

Digamos que es un pre-filtro, cada persona conce sus conocimientos y limitaciones.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #15  
Antiguo 04-06-2004
Avatar de nefy
nefy nefy is offline
No confirmado
 
Registrado: nov 2003
Posts: 171
Poder: 0
nefy Va por buen camino
Pues creo q mas bien comprueban (tu compañia o tu) si llenan sus expectativas el futuro programador "Senior".

Salu2
Responder Con Cita
  #16  
Antiguo 04-06-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Normalmente le hacemos una evaluación, pero por eso lo llamo "pre-filtro", para evitar la perdida innecesaria de tiempo!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #17  
Antiguo 04-06-2004
Avatar de nefy
nefy nefy is offline
No confirmado
 
Registrado: nov 2003
Posts: 171
Poder: 0
nefy Va por buen camino
Me lo imaginaba.

Salu2.
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


La franja horaria es GMT +2. Ahora son las 22:32:55.


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