[Lazarus-es] Como leer y escribir archivos de textos
Ismael L. Donis Garc?a
ismael en citricos.co.cu
Mie Nov 18 15:24:47 CET 2009
Si es precisamente es un archivo .ini, ósea un archivo de texto que le pongo
.ini porque lo uso para configuración general.
Muchas gracias veré como se hace con TIniFile.
Hasta ahora estaba tratando de convertir lo que tengo de VB6 para hacer
dicho trabajo, ya había convertido 2 procedimientos, aunque todavía no los
he probado:
function Tdtmmp.headiniformated(head: string): string;
begin
//Formatea un head para usarse
head := trim(head);
if leftstr(head, 1) <> '[' then head := '[' + head;
if rightstr(head, 1) <> ']' then head := head + ']';
result := head;
end;
procedure Tdtmmp.inicopyfile(fileini: string; numlinereem: integer;
valuereem: string; reemplace: boolean);
var
inti: integer;
strlinea, strfiledest: string;
nexfileini: TextFile;
oldfileini: TextFile;
begin
//Vacía un archivo ini al otro
//numlinereem = Número de línea a reemplazar
//valuereem = Valor por el que se reemplaza
//reemplace = si es verdadero entonces se reemplaza la línea, si es falso
entonces se inserta la línea
inti := 0;
AssignFile (oldfileini, fileini);
Append (oldfileini); // abre un archivo existente
strfiledest := fileini + '2';
AssignFile (nexfileini, strfiledest);
Rewrite (nexfileini); // crear uno nuevo
while not eof(oldfileini) do
begin
inti := inti + 1;
readln(oldfileini, strlinea);
if inti = numlinereem then
begin
writeln(nexfileini, valuereem);
if not reemplace then writeln(nexfileini, strlinea);
end
else
writeln(nexfileini, strlinea);
end;
if inti < numlinereem then //significa que estaba vacío o que no existía
writeln(nexfileini, valuereem);
closefile(oldfileini);
deletefile(fileini);
rename(nexfileini, fileini);
closefile(nexfileini);
end;
Saludos cordiales
=========
¦¦ ISMAEL ¦¦
=========
----- Mensaje original -----
De: "JoshyFun" <joshyfun en gmail.com>
Para: "Spanish version of Lazarus List"
<lazarus-es en lists.lazarus.freepascal.org>
Enviado: martes, 17 de noviembre de 2009 04:22
Asunto: Re: [Lazarus-es] Como leer y escribir archivos de textos
Hello Ismael,
Tuesday, November 17, 2009, 10:31:52 PM, you wrote:
ILDG> Estoy tratando de leer y escribir un archivo de texto con
ILDG> TFileStream pero no he podido encontrar la forma:
ILDG> La estructura sería más o menos así:
ILDG> [Datos]
ILDG> conexion=1
ILDG> seridor=192.168.0.1
ILDG> puerto=3050
ILDG> bd=D:\Datos\
[...]
ILDG> GRACIAS por la ayuda que me puedan brindar.
El archivo tiene toda la pinta de tener un formato .INI file, y para
ello te sería más cómodo usar el TIniFile en vez de TFileStream. Añade
TIniFile al "uses" y ya dispones de TIniFile.
--
Best regards,
JoshyFun
_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
More information about the Lazarus-es
mailing list