From: "Rodrigo García" <rodrigo.garcia@epfl.ch>
Subject: Re: Help needed; Saving access types with sequential_io?
Date: Mon, 24 Feb 2003 18:58:16 +0100
Date: 2003-02-24T18:58:16+01:00 [thread overview]
Message-ID: <3E5A5D38.1050004@epfl.ch> (raw)
In-Reply-To: 1946b526.0302240619.695b865a@posting.google.com
I would use streams. See if the following code helps you:
with Ada.Streams.Stream_IO; use Ada.Streams.Stream_IO;
with Ada.Text_IO;
procedure Data_Save is
type A_String is access String;
type Data_Record is record
A : A_String;
end record;
Saved : Data_Record;
Loaded : Data_Record;
F : File_Type;
S : Stream_Access;
begin
Create (F, Name => "serialized.txt");
S := Stream (F);
Saved.A := new String'("Data saved");
String'Output (S, Saved.A.all);
Close (F);
Open (F, In_File, "serialized.txt");
S := Stream (F);
Loaded.A := new String'(String'Input (S));
Close (F);
Ada.Text_IO.Put_Line (Loaded.A.all);
end Data_Save;
Rodrigo
khendon wrote:
> Hi all
>
> I'm a novice in ADA programming, and programming in general. For a
> school project I'm currently working on I'm supposed to create a
> database that needs to have saving/loading functionality. It's all
> very simple stuff, but I'm stuck at the moment, since I don't really
> know how to save the different access types I'm using. The
> informations is saved in records:
>
> type info;
> type a_info is access info;
> type a_string is access string;
> type info is
> record
> a: a_string;
> b: a_string;
> end record;
>
> First, I tried just saving the entire record. That didn't work, my
> guess is because it contains access types, and whatever they're
> currently pointing at disapperas when I shut down the program. So, I
> then thought of saving each string separately. That seemed to work, at
> least the data got saved as it was supposed to. Unfortunately, I'm
> having trouble loading the data from the file into new records that
> will then be added to the database.
>
> The only way I can think of is to load the data into temporary string,
> and then add those strings to the record. The problem with this is
> that those temporary strings need to have a defined length, so when I
> add them to the record, they will contain lots of garbage I just don't
> want there. That's the whole point of using access types in the record
> in the first place, to be able to save strings of different lengths
> depending on user input.
>
> If anyone could provide any help I would be most grateful.
>
> Regards, Isak
next prev parent reply other threads:[~2003-02-24 17:58 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-02-24 14:19 Help needed; Saving access types with sequential_io? khendon
2003-02-24 17:58 ` Rodrigo García [this message]
2003-02-25 3:24 ` Steve
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox