Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como leer de un fichero txt y comprobar ??? (https://www.clubdelphi.com/foros/showthread.php?t=20564)

chelejuan 19-04-2005 17:28:19

Como leer de un fichero txt y comprobar ???
 
Buenas despues de bastantes meses haciendo un programa cuando ya esta listo el cliente me pide una mariconada nueva y no se como realizarla, y hasta que no este totalmente listo no me termina de pagar :mad::mad:

A ver necesito de un archivo que tengo abierto y en el cual estoy escribiendo en ese mismo momento poder mirar si existe un campo.

Yo en el fichero entre la posicion 35 y 40 meto un codigo unico, necesito comprobar que la linea que voy a meter el codigo no existe, si no existe meto la linea y si el codigo ya existe en el fichero no la meto.

Es decir yo he podido meter hace dos dias el codigo 3042 y ahora voy a volver a meterlo, por lo que no deberia meterlo, es que me esta duplicando codigos de facturas por que le dan varias veces al boton.

El fichero puede tener muchas lineas .... y encima esta abierto.

¿Como podria hacer esto? ¿ Se puede hacer?.

Venga un saludo y gracias anticipadas.

lgarcia 19-04-2005 18:19:08

Leer de un fichero y comprobar
 
Hola

De tu explicacion lo que se me ocurre es de antes de insertar algo en el fichero recorrer el mismo con la funcion pos() y dado que esta te devuelve la posicion de la ocurrencia de la cadena darle un tratamiento para que te de un mensaje de error y si no devuelve nada entonces puedes insertarlo.

Espero haberte ayudado en algo

Saludos
Luis Garcia

_____________________________
La mejor manera de decir es hacer

chelejuan 19-04-2005 18:43:47

Al final lo hice asi :

while not EOF(f1) do
begin
Readln(f1, ch1);
a:= ch1;
a:=Copy(a,86,93);
a:= copy(a,1,8);

if codigofactura = a then
begin
existeenfichero := 1;

end;

end;

Parece uqe va, ahora tengo otro problema ( mucho mas tonto , es que no me acuerdo ) pero esto ya esta solucionado.

Venga gracias de todos modos. Un saludo.


La franja horaria es GMT +2. Ahora son las 23:03:50.

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