Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-07-2013
force1758 force1758 is offline
Miembro
 
Registrado: jul 2010
Posts: 37
Poder: 0
force1758 Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
Hola.

Para lo que quieres solo necesitas una pequeña modificación a tu código:

Código Delphi [-]
AssignFile (MiFichero,(C:\nombre.txt'));
Reset (MiFichero);
While not Eof(MiFichero) do begin
  ReadLn(MiFichero,valorsting);
  ShowMessage(valorsting);
end;

Esto va leyendo el fichero linea a linea hasta el final, ya puedes adaptarlo a tus necesidades.

Saludos
Si lo se pero no me sirve por que yo necesito es cojer la información de cada linea y colocarle una variable ya que cada linea se convertira en un valor espero haberme explicado .
Responder Con Cita
  #2  
Antiguo 11-07-2013
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por force1758 Ver Mensaje
Si lo se pero no me sirve por que yo necesito es cojer la información de cada linea y colocarle una variable ya que cada linea se convertira en un valor espero haberme explicado .
Pues eso es exactamente lo que te han explicado en ese código.
Responder Con Cita
  #3  
Antiguo 11-07-2013
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: 19.449
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
La otra opción es utilizar TStrings, pero no me queda claro porqué no te sirve lo que te han comentado.
¿Puedes explicarte mejor?
__________________
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
  #4  
Antiguo 11-07-2013
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.216
Poder: 24
newtron Va camino a la fama
Bueeeeeeeeeeeeeeeeeeeeeno.... a ver si esto es lo que quieeeeeeeeeeres....

Código Delphi [-]
var
MiFichero : TextFile;
valor :dword;
valor1 :dword;
valorsting : TStringList;
sAux: String;
begin
  valorsting: TStringList.Create;
  AssignFile (MiFichero,(C:\nombre.txt'));
  Reset (MiFichero);
  While not MiFichero.eof do begin
    Readln(MiFichero,sAux);
    valorsting.add(sAux);
  end;
  .....

end;

de esta manera te encontrarás en la variable valorsting[N] los valores de cada una de las lineas del fichero de texto, recuerda hacer un "free" a la variable valorsting cuando ya no la necesites para liberarla de la memoria.

(seguro que alguno de estos "listillos" tiene una forma más simple, efectiva o que use menos recursos para hacer esto, lo estoy viendo...)
__________________
Be water my friend.
Responder Con Cita
  #5  
Antiguo 11-07-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola force1758.

Estos son algunas de las formas que podes leer un archivo de texto por líneas (newtron y Neftali ya te mencionaron y ejemplificaron las dos mas ortodóxas)

Con Readln
Código Delphi [-]
var
  txt : TextFile;
  line: string;
begin
  AssignFile(txt, 'C:\nombre.txt');
  Reset(txt);
  while not eof(txt) do
  begin
    Readln(txt,line);
    Memo1.Lines.Add(line); // hacer algo con las lineas
  end;
  CloseFile(txt);
end;

Con TStrings:
Código Delphi [-]
begin
  with TStringList.Create do
  try
    LoadFromFile('C:\nombre.txt');
  finally
    Memo1.Text := Text; // hacer algo con las lineas
    Free;
  end;
end;

Con FileStream:
Código Delphi [-]
var
 s  : string;
begin
  with TFileStream.Create('C:\nombre.txt',fmOpenRead) do
  try
    Seek(0,soFromBeginning);
    SetLength(s, Size);
    Read(Pointer(s)^, Size);
  finally
    Free;
    Memo1.Text := s; // hacer algo con las lineas
  end;
end;

Con MemoryStream
Código Delphi [-]
var
  s : string;
begin
  with TMemoryStream.Create do
  try
    LoadFromFile('C:\nombre.txt');
    Seek(0, soFrombeginning);
    SetLength(s,Size);
    Read(Pointer(s)^, Size);
  finally
    Free;
    Memo1.Text := s;
  end;
end;
Y las combinaciones que con ellas se te ocurran y sea posible implementar.

Saludos.

Edito: Si comparas tu primer código con el de newtron, verás que ademas de no usar un ciclo para la lectura, estás usando Read y no Readln.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 11-07-2013 a las 19:34:01.
Responder Con Cita
  #6  
Antiguo 11-07-2013
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Esto es un curso completo de lectura de ficheros de texto
Responder Con Cita
  #7  
Antiguo 11-07-2013
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.216
Poder: 24
newtron Va camino a la fama
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Esto es un curso completo de lectura de ficheros de texto
....este ecfisa.... siempre igual......
__________________
Be water my friend.
Responder Con Cita
  #8  
Antiguo 11-07-2013
force1758 force1758 is offline
Miembro
 
Registrado: jul 2010
Posts: 37
Poder: 0
force1758 Va por buen camino
Hola bueno voy haber si me explico mejor así con el codigo lo que quiero en si es crear una función que lea cada linea del archivo luego separar esas lineas en valores sin utilizar tmemo, ni form , ni edit ya que esta es una dll la cual yo utilizarlo en ejecución de mi aplicación



Código Delphi [-]
Function leerText (Const valor: Array [1..5] of String):string;
var
MiFichero : TextFile;
valorsting : String;

begin
AssignFile (MiFichero,(C:\nombre.txt'));
Reset (MiFichero);
Read(MiFichero,valorsting);// aqui leo es siempre la primera linea 
valor[1]:= StrToInt (valorsting); // quiero obtener el valor de la primera linea
valor[2]:= StrToInt (valorsting); // quiero obtener el valor de la segunda linea
valor[3]:= StrToInt (valorsting); // quiero obtener el valor de la trecera linea
valor[4]:= StrToInt (valorsting); // quiero obtener el valor de la cuarta  linea
valor[5]:= StrToInt (valorsting); // quiero obtener el valor de la quinta linea

y utilizar esos valores obtenido en otro procedimientos por eso necesito ver como lo hago para emplearlo en mi code (sin utilizar nada de tmemo,memo1,edit puro código ) y gracias por estar tan atentos por que todos estos ejemplo me sirve para tener mas experiencia

Saludos
Responder Con Cita
  #9  
Antiguo 11-07-2013
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
En fin, creo que te has saltado alguna respuesta, mira el hilo desde el principio
Responder Con Cita
  #10  
Antiguo 11-07-2013
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Cita:
Empezado por force1758 Ver Mensaje
Hola bueno voy haber si me explico mejor así con el codigo lo que quiero en si es crear una función que lea cada linea del archivo luego separar esas lineas en valores sin utilizar tmemo, ni form , ni edit ya que esta es una dll la cual yo utilizarlo en ejecución de mi aplicación

y utilizar esos valores obtenido en otro procedimientos por eso necesito ver como lo hago para emplearlo en mi code (sin utilizar nada de tmemo,memo1,edit puro código ) y gracias por estar tan atentos por que todos estos ejemplo me sirve para tener mas experiencia
Hombre, ecfisa te ha propuesto dos opciones, Neftali una y newtron otra, cual es la objeción que le pones a esos objetos, eso que te proponen pues es puro código.....

TFileStream, TMemoryStream, TStrings, TStringList

Si no es eso, no se que es lo que necesitas.

Saludos
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #11  
Antiguo 11-07-2013
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.216
Poder: 24
newtron Va camino a la fama
Cita:
Empezado por force1758 Ver Mensaje
Hola bueno voy haber si me explico mejor así con el codigo lo que quiero en si es crear una función que lea cada linea del archivo luego separar esas lineas en valores sin utilizar tmemo, ni form , ni edit ya que esta es una dll la cual yo utilizarlo en ejecución de mi aplicación



Código Delphi [-]Function leerText (Const valor: Array [1..5] of String):string; var MiFichero : TextFile; valorsting : String; begin AssignFile (MiFichero,(C:\nombre.txt')); Reset (MiFichero); Read(MiFichero,valorsting);// aqui leo es siempre la primera linea valor[1]:= StrToInt (valorsting); // quiero obtener el valor de la primera linea valor[2]:= StrToInt (valorsting); // quiero obtener el valor de la segunda linea valor[3]:= StrToInt (valorsting); // quiero obtener el valor de la trecera linea valor[4]:= StrToInt (valorsting); // quiero obtener el valor de la cuarta linea valor[5]:= StrToInt (valorsting); // quiero obtener el valor de la quinta linea


y utilizar esos valores obtenido en otro procedimientos por eso necesito ver como lo hago para emplearlo en mi code (sin utilizar nada de tmemo,memo1,edit puro código ) y gracias por estar tan atentos por que todos estos ejemplo me sirve para tener mas experiencia

Saludos
mmmmmmmmmmmmm.... ahora si que me estoy perdiendo.....
__________________
Be water my friend.
Responder Con Cita
  #12  
Antiguo 11-07-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por force1758 Ver Mensaje
Hola bueno voy haber si me explico mejor así con el codigo lo que quiero en si es crear una función que lea cada linea del archivo luego separar esas lineas en valores sin utilizar tmemo, ni form , ni edit ya que esta es una dll la cual yo utilizarlo en ejecución de mi aplicación
y utilizar esos valores obtenido en otro procedimientos por eso necesito ver como lo hago para emplearlo en mi code (sin utilizar nada de tmemo,memo1,edit puro código )
Hola.

Cualquiera de los modos que te han sugerido hace lo que deseas: Lee un archivo de texto por líneas.

Lo que hagas luego con las líneas leídas ya sea que las guardes en un arreglo, las asignes a un ListBox, las imprimas, etc. es otro tema.

En ninguna de las propuestas anteriores se utiliza componentes para la lectura, sólo a modo de ejemplo se muestran en un memo (que es la única referencia a uno).

Pero como te comente en mi mensaje anterior si optas por leerlo línea a línea no utilices el procedimiento Read usá Readln.
Y usando Readln tenes que recorrer el archivo desde el inicio hasta el final con un ciclo (preferentemente while).

Otro detalle sobre tu último código, valorsting es de tipo string y cuando haces referencia a valorstring[n] no te estás refiriendo a un valor de tipo string sino de tipo Char.

Resumiendo: No podes almacenar las líneas leídas en un string (la nueva sobreescribiría a la anterior) y usando Readln tenes que leer desde la primer línea a la última del archivo.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Leer 4 Lineas de dos Archivo .txt wcbs Varios 13 05-09-2012 15:05:36
Leer lineas en blanco Val C++ Builder 1 13-02-2008 23:17:47
Leer archivo de texto y extraer lineas de el mp3968 API de Windows 1 19-05-2007 20:27:53
Saber cantidad de lineas que se van a leer de un fichero texto... Lester Varios 4 04-04-2007 17:57:02
Ningun registro al utilizar LIKE *texto* Tecnic2 SQL 3 19-04-2005 19:53:32


La franja horaria es GMT +2. Ahora son las 03:39:37.


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