![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
есть запись
Код:
RScheme = record
Image: TBitmap;
Mass: array [1..10,1..10]of String[10];
end;обьявлем Код:
var SchemeTmp: RScheme; SchemeFile: file of RScheme; создаю типизированный файл и пытаюсь туда сохранить эту запись вот сохранение: Код:
procedure TForm1.Button4Click(Sender: TObject); {**SAVE FILE**}
var
i,j:Byte;
FilePath: String;
begin
if SaveDialog1.Execute then
begin
FilePath:= SaveDialog1.FileName;
SchemeTmp.Image:= TBitmap.Create;
SchemeTmp.Image.Assign(Image1.Picture);
for i:= 1 to 10 do
for j:= 1 to 10 do
SchemeTmp.Mass[i,j]:= ShemMass[i,j];
AssignFile(SchemeFile,FilePath+'.bin');
Rewrite(SchemeFile);
Write(SchemeFile,SchemeTmp);
CloseFile(SchemeFile);
end;
end;вот открытие Код:
procedure TForm1.Button5Click(Sender: TObject); {**OPEN FILE**}
var
i,j: Byte;
FilePath: String;
TmpImage: TBitmap;
begin
if OpenDialog1.Execute then
begin
FilePath:= OpenDialog1.FileName;
AssignFile(SchemeFile,FilePath);
Reset(SchemeFile);
Read(SchemeFile,SchemeTmp);
TmpImage:= TBitmap.Create;
TmpImage:= SchemeTmp.Image;
Image1.Picture.Assign(SchemeTmp.Image);
for i:= 1 to 10 do
for j:= 1 to 10 do
ShemMass[i,j]:= SchemeTmp.Mass[i,j];
end;
end;сохранение проходит успешно, а вот при открытии Изображения нету Последний раз редактировалось ArtemTmn, 18.03.2010 в 19:33. |
|
#2
|
||||
|
||||
|
Не выйдет так ничего хорошего т.к. битмап у вас произвольной длины, а типизированный файл требует одинаковую длину для всех записей.
Используйте TFileStream. |
|
#3
|
||||
|
||||
|
попробуйте вывести размер SchemeTmp.Image
например Код:
Caption := IntToStr(SizeOf(SchemeTmp.Image)); Можно также открыть записаный файл в 16-ти ричном редакторе и посмотреть, что же там записалось. |