Pascal/Turbo Pascal - como reemplazar linea de archivo de texto por otra

 
Vista:

como reemplazar linea de archivo de texto por otra

Publicado por alejandro (2 intervenciones) el 01/02/2009 18:42:51
bueno pues lo que quiero hacer es que una linea de texto de un archivo (d texto por supuesto!) se reemplaze por otra linea (es dcir q la 2da variable q yo guarde con lo q esta escrito reemplaze a la q estaba en una linea determinada) porfa avisenme por aqui o mandenme un correo al que esta posteado arriba...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:como reemplazar linea de archivo de texto por o

Publicado por Willy (177 intervenciones) el 06/02/2009 02:58:21
Hola alejandro.
Actualización de un archivo de texto!
Solo se me ocurre ponerte este ejemplo. Espero te sirva.

Para este ejemplo debes crear dos archivos de texto con los nombres: "prueba" y "prueba2" en el directorio raiz de tu disco duro. Deberán quedar como..: C:prueba.txt y C:prueba2.txt
Si quieres puedes crearlos con Notepad (Si usas Windows no es necesario que pongas la extensión al nombre de los archivos)

Luego abre con Notepad: "Prueba", y escribe una lista con nombres y sueldos como por ejemplo:

Carlos
20
Jorge
25
Luis
30

Guarda los cambios y cierra tu archivo de texto.

Supón que quieres agregar un bono de 25 dólares al sueldo de cada empleado y grabar los nuevos sueldos. En los archivos de texto no es posible leer y escribir en el mismo archivo. Así, se necesita almacenar la nueva lista de sueldos en un segundo archivo. Se leerá en el archivo del sueldo original un grupo de datos cada vez, se actualizará el sueldo y después se escribirán en el segundo archivo los datos actualizados.

El siguiente es un programa que efectúa esta tarea:

Program ejerc;
{Agregar bono de $20 a cada sueldo}
var nombre: string[20];
sueldo: integer;
archA,archB: text;

begin
assign(archA,'C:prueba.txt');
assign(archB,'C:prueba2.txt');

reset(archA);
rewrite(archB);

while not seekeof (archA) do
begin
readln(archA,nombre);
readln(archA,sueldo);
sueldo := sueldo + 20;
writeln(archB,nombre);
writeln(archB,sueldo);
end;{while}

close(archA);
close(archB);
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar