Delphi - String largo en Archivo .ini

 
Vista:

String largo en Archivo .ini

Publicado por juancho (193 intervenciones) el 29/05/2009 13:28:05
Hola a todos, mi duda es la siguiente, estoy haciendo un modulo para agregar a un par de aplicaciones que tengo, el modulo es un pequeño administrador de base de datos, para generar consultas y no tener que instalar mi herramienta en cada maquina, y me seria muy util si pudiera guardar mis consultas es decir, supongamos que ejecuto: SELECT * FROM TABLA, me gustaría guardar esa sentencia en un archivo y poder recuperarlo en orden, probé usando archivos ini, pero al recuperar solo me devuelve la primera linea, por que envio el texto formateado es decir: SELECT *
FROM TABLA
me gustaría guardarlo y recuperarlo asi, me pueden dar alguna idea??
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:String largo en Archivo .ini

Publicado por Mariano (1 intervención) el 01/11/2009 23:47:57
No hace mucho que comence con Delphi, pero si lo que queres es guardar cada consulta en un archivo, podrias trabajar con filas de registros que son binarias y secuenciales, te permiten cargar caracteres invalidos para las filas ini.
Algo asi:

// Nuestro registro
type
Registro = record
NConsulta: Integer; // El orden, numero de la consulta para posterior control
Consulta: string; // La consulta
end;

// Variable
var
Buffer:Registro;
FilaRegistro: file of Registro;

// Abrimos la fila
AssignFile(FilaRegistro, 'registro.dat'); // Asignamos al identificador
if FileExists('registro.dat') then // Si existe...
Reset(FilaRegistro) //Si esta abierta la cierra y la vuelve a abrir
else
Rewrite(FilaRegistro); //Si no existe, la creamos

Ahora cada vez que quieras leer un registro, podes situar un puntero a tu archivo:

Seek(FilaRegistro, 51); // Se posiciona sobre el registro 51...
Read(FilaRegistro,Buffer); // Leemos y resibimos el resultado en Buffer

Escribimos:
Write(FilaRegistro, Buffer);// Escribimos el contenido de Buffer en el registro 51

Lee un poco mas en la ayuda de Delphi, esta bien documentado el tema. Espero haber sido de ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar