Article View: es.comp.os.linux.programacion
Article #653Re: URGENTE..PASCAL
From: lqf
Date: Sat, 20 Jan 2007 10:38
Date: Sat, 20 Jan 2007 10:38
62 lines
3864 bytes
3864 bytes
Pascal Bourguignon ha escrito: > "lqf" <abcdefghijoseantonio@hotmail.com> writes: > > Hola: > > > > Lo primero de todo me gustaria decir que me acabo de empenzar a mirar > > este lenguaje(PASCAL) y estoy un poco perdido asi que si hago alguna > > pregunta facil o erronea espero q lo entendais. > > > > > > Despues de todo este rollo aqui va 1 de mis preguntas por ahora: > > - Yo tengo en un fichero datos entonces abro ese fichero le recorreo > > hasta que encuentro el dato q me interesa entonces voy a una funcion en > > > > la cual lo que quiero es cambiar unos datos de la linea que he > > encontrado. Aqui esta mi problema cuando abro el fichero(¿Se puede > > tener un fichero para leer y escribir ?) > > En estandard basico, no. Pero en las implementaciones, hay > generalmente extensiones para poder abrir un archivo en > lectura/escritura. > > > al poner rewrite me > > sobreescribe el fichero y solo me pone la ultima linea, por lo tanto me > > borra todas las lineas y no solo updatea la que yo quiero. > > En effecto. > > > Pero, si abres el archivo en lectura/escritura, en general el dato que > quieres modificar va a cambiar de tamaño, asi que tienes que > implementar una gestion del archivo más complicada, con indices, etc, > o bien tienes que hacer lo que debes hacer con lo basico: abrir dos > archivos, el antiguo en lectura, un nuevo en escritura, y copia del > antiguo al nuevo hasta que encuentres el dato, y en lugar de escribir > el dato, escribes el valor nuevo, y finalmente, terminas de copiar el > antiguo archivo sobre el nuevo. > > > Hay que acordarse que cuando el estandard Pascal fue escrito, > basicamente se usaba solo bandas, asi que solo archivos sequenciales. > > > > Con FreePascal, puedes gdbm, lo que te permite acceder a un dato por > una clave y cambiar lo por otro dato. El codigo gdbm modifica el > archivo automaticamente para adaptarse al tamaño del nuevo dato. > > Pero los archivos indexados en general son archivos binarios. Si tu > archivo debe ser un archivo texto, con líneas de longitudes > diferentes, sin indice solo se puede usar el accesso sequencial. > > -- > __Pascal Bourguignon__ http://www.informatimago.com/ > > NOTE: The most fundamental particles in this product are held > together by a "gluing" force about which little is currently known > and whose adhesive power can therefore not be permanently > guaranteed. Mi pregunta es como se abre un fichero para escritura y lectura(me podriais decir en codigo que necesitaria).
Technical Details
Message-ID:
<1169289502.650269.268960@q2g2000cwa.googlegroups.com>Path:
arc1-ca.pugleaf.net!g2news2.google.com!postnews.google.com!q2g2000cwa.googlegroups.com!not-for-mailReferences:
<1168687449.316024.60110@a75g2000cwd.googlegroups.com> <877ivr3rvj.fsf@thalassa.informatimago.com>Show Full Headers
Complete Article Headers
X-Google-Thread: f86c8,a15f00c2969f0180 X-Google-Attributes: gidf86c8,public X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news2.google.com!postnews.google.com!q2g2000cwa.googlegroups.com!not-for-mail From: "lqf" <abcdefghijoseantonio@hotmail.com> Newsgroups: es.comp.os.linux.programacion Subject: Re: URGENTE..PASCAL Date: 20 Jan 2007 02:38:22 -0800 Organization: http://groups.google.com Lines: 63 Message-ID: <1169289502.650269.268960@q2g2000cwa.googlegroups.com> References: <1168687449.316024.60110@a75g2000cwd.googlegroups.com> <877ivr3rvj.fsf@thalassa.informatimago.com> NNTP-Posting-Host: 81.172.8.152 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1169289509 21641 127.0.0.1 (20 Jan 2007 10:38:29 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Sat, 20 Jan 2007 10:38:29 +0000 (UTC) In-Reply-To: <877ivr3rvj.fsf@thalassa.informatimago.com> User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705),gzip(gfe),gzip(gfe) Complaints-To: groups-abuse@google.com Injection-Info: q2g2000cwa.googlegroups.com; posting-host=81.172.8.152; posting-account=lEbdYg0AAABLWWpYNAEvbw9IBAC9LAsh