![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Помогите! Есть запись типа TRecord, нужно в нее сохранить небольшой рисунок, возможно ли такое! Сам пробовал, никак не получается!
|
|
#2
|
||||
|
||||
|
Есть ли осмысленная цель у поставленной задачи? Может быть достаточно такого класса как TBitmap?
|
|
#3
|
|||
|
|||
|
Просто у меня в записи хранятся информация различного вида и в том числе хочу сохранить туда рисунок! Помогите пожалуста кто может!
|
|
#4
|
|||
|
|||
|
Почему задающие вопрос не могут понять, что та скудная информация в вопросе не позволяет ответить полноценно. От того и получают ответы в этом же стиле или не получают ответы вовсе.
1. TRecord - это класс или record? Если record, то какова его структура? 2. Откуда будут браться картинки? 3. Куда сохранять? В файл, поток, память, буфер обмена, СУБД? А если без словоблудия, то "какой вопрос, такой ответ": Сказано же выше, что можно использовать TBitmap, который имеет методы SaveToFile и SaveToStream. Последний раз редактировалось san-46, 10.06.2008 в 10:45. |
|
#5
|
|||
|
|||
|
В общем:
TMaterials = record Name, Article: String[100]; Manufacturer:String[20]; Image: TBitMap; End; Картинка будет открываться из файла в TImage и из TImage сохраняться в TMaterials.Image |
|
#6
|
|||
|
|||
|
Ага, это уже "ближе к телу".
Код:
Materials.Image := TBitMap.Create; Materials.Image.Assign(Image1.Picture.Bitmap); Только надо не забыть освободить память (Materials.Image.Free) тогда, когда рекорд уже не будет нужен. |
|
#7
|
|||
|
|||
|
Спасибо, сегодня попробую!
|
|
#8
|
|||
|
|||
|
Запись происходит, только картинка туда не записывается!!! А я хочу чтоб туда писалась вся картинка! Чтоб в одном файле хранились и записи и числа и картинки!
|
|
#9
|
|||
|
|||
|
"только картинка туда не записывается". Куда "туда" и откуда понятно, что не записывается?
Неужели трудно сделать над собой усилие и обрисовать ситуацию конкретно? Общие слова ничего другим не объясняют. Например, опубликуйте код, в котором вы сохраняете записи, числа и картинки - это будет конкретно. Можно будет проанализировать чего происходит и в чем проблема. Из того чего догадался (наверное). Если вы записываете свой record TMaterials как запись в типизированный файл (file of TMaterials), то картинка, естественно, не будет записываться, т.к. в файл будет записана лишь ссылка на изображение (в элементе структуры Image хранится только ссылка). Необходимо record преобразовать в class и записывать картинки его методами. Последний раз редактировалось san-46, 10.06.2008 в 23:49. |
|
#10
|
|||
|
|||
|
Задача:
Создаем файл, например baza.txt Создаем запись TRecord Код:
Type
TMaterials = record
Name, Artaicle, Manufactured = String[100];
Image: TBaitMap;
End;
Var
Materials: TMaterials;
MaterialsFile: File of TMaterials;Картинку к примеру загрузили из файла и поместили ее в TImage. Name, Artaicle, Manufactured берем из TEdit. Image из TImage. Далее присваиваем всем переменным их значения и записываем в файл. Проблема в том, что нужно записать TBitMap в файл!! Код:
AssignFile(MaterialsFile,'C:\Baza.txt'); ReWrite(MaterialsFile); Materials.Name:=Edit1.Text; Materials.Article:=Edit2.Text; Materials.Manufactured:=edit3.Text; Materials.Image:=Image1.Picture.BitMap; Write(MaterialsFile,Materials); CloseFile(MaterialsFile); В этом виде он записывает так сказать ссылку на Image1 и если удалить картинку из Image1, то при чтении из файла записи Materials.Image и помещения ее например в Image2 возникает ошибка! Цель: Записать всю картинку целиком в эту запись! Если нужно записать все это в Class то приведите пример пожалуста, не приходилось работать с ним! Последний раз редактировалось Admin, 12.12.2010 в 13:23. |
|
#11
|
|||
|
|||
|
В прицепе работоспособный набросок класса, который сохраняет значения своих полей (в т.ч. и картинку) в файл. Читать из файла тоже может.
|
| Этот пользователь сказал Спасибо san-46 за это полезное сообщение: | ||
tapky666 (10.12.2013)
| ||
|
#12
|
|||
|
|||
|
Большое спасибо, попробовал! Все работает! Буду кодить дальше )))
|
|
#13
|
|||
|
|||
|
Просто спасибо за пример
|