FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Hola, Ecfisa, nuevamente gracias por tu tiempo y colaborarme con este problema, hice el cambio que me solicitaste y de inmendiato funcionó, lo raro es que en el libro con el que me estoy guiando no decía nada de ese límite jaja.
Nuevamente gracias. Hasta pronto. |
#2
|
||||
|
||||
¿Con qué libro te está guiando? Porque, si no mal recuedo, en versiones antiguas de Pascal (no sé si de Delphi), el tipo de datos string era equivalente a string[256], o sea, un tipo de datos de longitud fija.
// Saludos |
#3
|
|||
|
|||
El libro se llama Manual de FreePascal 1.0 para Win32
|
#4
|
||||
|
||||
Hola,
Examinando por encima el manual que refieres, veo que, en efecto, en la sección donde hablan de archivos con tipo en ocasiones ponen el tipo string y en otras el tipo ShortString, al momento de delcarar el registro. Así que, les falta aclarar. Por otra parte, en la sección donde habla de los tipos de datos fundamentales, menciona que string puede referirse a un ShortString (cadena de 255 caracteres) o a un AnsiString (número ilimitado de caracteres), dependiendo del modo en que se encuentre el compilador. De hecho, esto es igual en Delphi. Dependiendo de la opción del compilador {$H} (activada por defecto). Si dejas tu código como lo tenías, pero pones {$H-} antes de la delcaración de TDPartida, verás que el compilador ya no protesta. // Saludos |
#5
|
|||
|
|||
OK Roman, gracias de nuevo por la información.
Saludos. |
#6
|
||||
|
||||
Hola.
Si, es así roman. En realidad Tubo Pascal sólo definía el tipo de datos string, que como bién decis tenía un tamaño fijo de 256 bytes. Donde en la posición 0 del arreglo de caracteres se guardaba la longitud de la cadena almacenada. Es por eso que se podía utilzar Ord(s[0]) en lugar de la función Length. El tipo ShortString es un nombre dado ya por Delphi al antiguo string de Pascal para diferenciarlo del AnsiString que trata las cadenas al modo del lenguaje C. De ahí que Delphi no pueda determinar a que tipo nos referimos y por lo tanto su longitud, como sucede en el caso de arriba. A no ser, claro, que se le indique al compilador como debe interpretarlas con una directiva. Saludos. Última edición por ecfisa fecha: 04-11-2010 a las 03:56:45. |
#7
|
|||
|
|||
Hola luego de resolver el problema del enlace me he dado cuenta de otro problema; por ejemplo, quiero ingresar tres registros, se supone que me deberían quedar guardados en el archivo con tipo, pero lo que hace el programa es reemplazar el registro anterior por el nuevo, he mirado el código pero no encuentro la falla, pues se supone que la función Reset abre el archivo para lectura/escritura no para sobreescribirlo, aquí les dejo el código para ver si me pueden ayudar qué estoy omitiendo.
Nuevemante gracias de antemano Saludos. Última edición por WPascal fecha: 05-11-2010 a las 02:04:33. |
#8
|
||||
|
||||
Hola WPascal.
Reestructuré un poco tu código. En tu ejemplo el archivo se debe abrir, realizar las operaciones y luego cerrar. Lo que estabas haciendo es reescribir siempre el primer registro. Al hacer Reset(Partidas) dentro del ciclo, en cada ingreso el archivo se abre y el puntero se posiciona en el primer registro y allí se guarda. Verifiqué la existencia del archivo, con try/except, para que veas otra forma de hacerlo.
Saludos. Última edición por ecfisa fecha: 05-11-2010 a las 02:29:25. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Hacer una ayuda tipo Windows (chm) | AngelV | Varios | 3 | 14-05-2007 08:45:41 |
ayuda con numeros de tipo flotante | vero_17jm | SQL | 3 | 07-12-2006 14:06:51 |
Ver lista de archivos tipo ftp | JMGR | Internet | 15 | 15-11-2005 20:13:42 |
Ayuda tipo Web | torito | Varios | 2 | 30-08-2005 17:10:25 |
Ayuda Con Instalacion De Archivos De Ayuda | Legolas | Varios | 1 | 01-12-2003 14:48:03 |
|