|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
проблема с записью с полем типа TBitmap
есть запись
Код:
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-ти ричном редакторе и посмотреть, что же там записалось. |