singlepost

как массив структур запихнуть в файл? Delphi << На главную или назад  

собственно вот код :

TAll = class(TObject)
year : Integer;
col_page : Integer;
publisher : String;
name : String;
first_writer : String;
constructor Create;
end;

TBook = class(TAll)
writers : String;
place_public : String;
volume : Byte;
constructor Create;
end;

TJournal = class (TAll)
number : Integer;
constructor Create;
end;

TArticle = class(TAll)
page : Integer;
place_public : String;
writers : string;
constructor Create;
end;

var
Form1: TForm1;
Book : array [0..10] of TBook;
Journal : array [0..10] of TJournal;
Article : array [0..10] of TArticle;

последние 3 строки – структуры нужно засунть в айл, подскажите как?

71 ответов в теме “как массив структур запихнуть в файл? Delphi”

  1. 9
    Алексей Губанов ответил:

    Спасибо!)

  2. 8
    Антон Щиров ответил:

    2Алексей Губанов
    [src delphi]procedure SaveToFile(const AFileName: string); virtual;[/src]

    2Женя Балашов
    Даже, если бы это были записи, то все равно не работало бы. Курить SizeOf(string)

  3. 7
    Женя Балашов ответил:

    упс, не заметил, тут не записи, а структуры=)

  4. 6
    Антон Щиров ответил:

    Какой именно момент Вы не поняли?

    2Женя Балашов
    Ваш метод работать не будет. Курить возвращаемое значение SizeOf(Book[i])

  5. 5
    Алексей Губанов ответил:

    Антон Щиров

    В классе TAll объявить виртуальный метод SaveToFile()=> как?

  6. 4
    Женя Балашов ответил:

    файл типизированый

    reset(Your_File);
    for i:=0 to Length(Book)-1 do
    begin
    write(Your_File, Book[i]);
    end;
    CloseFile(Your_File);

  7. 3
    Максим Кожушко ответил:

    да

  8. 2
    Алексей Губанов ответил:

    Антон Щиров

    Извините, нельзя чуть-чуть поподробней, завтра сдавать надо, а я не понял, как это сделать….. Спасибо

  9. 1
    Антон Щиров ответил:

    1) Это у Вас не структуры, а массивы объектов
    2) Разработать свой формат сохранения
    3) В классе TAll объявить виртуальный метод SaveToFile()
    4) В потомках его переопредилить
    5) Пробежаться по каждому массиву и для каждого элемента вызвать SaveToFile()

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.