Cita:
|
Empezado por seoane
ascrnet en delphi el tipo string no esta limitado (bueno hasta 2 GBytes  ). El problema no es el tipo de la variable, sino que si luego quieres usar el record para definir el tipo de un fichero, el record tiene que tener una longitud fija, por eso se utilizan strings con una longitud fija. Este tipo de strings si que tienen una limitación de 255 caracteres
Una solución puede ser usar arrays de caracteres. Pensemos en un tamaño lo bastante grande, 32 kb por ejemplo, y lo usaremos de la siguiente manera:
Código Delphi [-]type Registro = record Str: Array[0..32*1024] of Char; end; var F: File of Registro; Str: String; R: Registro; begin AssignFile(F,'C:\Prueba.bin'); {$I-} Rewrite(F); {$I+} if IOResult = 0 then begin Str:= 'Una cadena muy larga .........'; // Borramos todo el contenido del regsitro FillChar(R,Sizeof(R),0); // Copiamos el string en el array de caracteres hasta el tamaño maximo StrLCopy(R.Str,PChar(Str),Sizeof(R.Str)-1); Write(F,R); CloseFile(F); end; end;
Como puedes ver, no es un sistema muy eficiente de guardar la información. Cada registro mediara 32kb, aunque solo contenga una letra. Quizá cuando tengas mas practica te interese usar otros métodos de almacenar información: bases de datos, xml, ini, ... que seguramente se mostraran mas eficientes para guardar cadenas.
|
tiene razon es poco eficiente, pero esta muy buena tu idea

. mira mi idea esta hacer un programa que guarde notas (son como archivos .txt donde uno guarda por ejemplo telefonos, logins, claves, url, y otras) es que tengo como miles de .txt son informacion de todo tipo, la idea es tener un archivo que tenga todo y que pueda buscar en el lo que quiera.
por eso pense en un archivo secuencial, algo que sea libiano y que no requiera cosas adicionales como dll o ocx , o solo quiero un .exe y el archivo se datos nomas .
tambien podria usar un xml tambien lo pense pero no se como se usa en delphi voy a ver si hay info de eso por haca
saludos y gracias .