[ Foro de Pascal ]

Ficheros

12-Jun-2011 23:25
Miguel Angel Perez Perez
1 Respuestas

Tengo varias funciones hechas pero no se hacer en si todo a ver si podeis echarme un cable



Se propone la implementacion de un programa que, a partir de un fichero html y una cadena de
caracteres, cree un segundo chero html: salida.html con el mismo contenido que el chero inicial y con
el texto especi cado por la cadena de caracteres marcado con fondo amarillo, color rojo y en negrita.
Se pedira al usuario la cadena de caracteres a marcar as como el nombre del chero html inicial
que se volvera a pedir hasta que se haya introducido un nombre correcto (de un chero que exista en la
memoria secundaria).
A modo de ejemplo el programa debera resaltar correctamente la palabra bases en el chero bd.html
que se proporciona junto con este enunciado (cambiandola a bases en el chero salida.html, chero que
podra ser visualizado con cualquier navegador web).


Por ejemplo:
<b style="background-color:yellow;color:red">ejemplo<=b>


{Descripción: abre un fichero de texto.
Necesita: el nombre interno del fichero a
mostrar
Devuelve: true si la operación se ha
realizado con éxito; false en caso contrario}
function abrirFichero(var entrada:Text;
nombre:string):boolean;
begin
assign(entrada, nombre);
try
reset(entrada);
abrirFichero:=true;
except
writeln('ERROR! El fichero no
existe');
writeln('Ponga el fichero de entrada en
el mismo directorio que su programa
*.pas.');
abrirFichero:=false
end;
end






{Descripción: muestra el contenido de
un fichero de texto.
Necesita: el nombre interno del
fichero a mostrar}
procedure mostrar(var f:TEXT);
var
m:char;
begin
reset(f);
while not eof(f) do
begin
while not eoln(f) do
begin
read(f,m);
write(m)
end;
readln(f);
writeln
end;
close(f)
end;






procedure insertarLinea(nombreFich: string;
line: string; pos: integer);
var
cont: integer;
dato: char;
f,faux: TEXT;
begin
assign(f, nombreFich);
assign(faux, ’fichAux’);
{Se crea un auxiliar con nombre fichAux}
rewrite(faux);
reset(f);
cont:= 1;
{Datos anteriores al nuevo}
while not eof(f) and (cont<pos) do
begin
while not eoln(f) do
begin
read(f, dato);
write(faux, dato);
end;
cont := cont + 1;
readln(f);
writeln(faux);
end;


13-Jun-2011 01:47
Antonio P.G.

Hola.

¿Alguna pregunta en concreto?

¡Ciao!






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)