Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.04.03;
Скачать: CL | DM;

Вниз

Вопрос по преобразованию типов переменных (TImage и FILE)   Найти похожие ветки 

 
Pcrepair ©   (2011-01-04 11:41) [0]

Часть кода:
var
 Form1: TForm1;
 Pic1: File; // объявление глобальной ПЕРЕМ типа файл
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
  if OpenDialog1.Execute and FileExists(OpenDialog1.FileName) then //выбираем нужный граф. файл
    begin
         AssignFile(Pic1, OpenDialog1.FileName); //грузим выбранный файл в ПЕРЕМ
         reset(Pic1);  //разрешаем чтение файла
    end;
end;
// далее идет самостоятельный, работающий код, отображение граф. Файла в компоненте при загрузке с ЖД напрямую, без диалога и размещения файла в ПЕРЕМ
procedure TForm1.TabSheet2Show(Sender: TObject);
begin
   Form1.Image1.Picture.LoadFromFile("E:\Study\Lesson_10\1.bmp");
end;
// далее идет пока не работающий код. Задача: при помощи диалога поместить файл в ПЕРЕМ и при переходе на страницу(по событию OnShow)  отобразить граф файл в компоненте TImage
begin
   Form1.Image1:= Pic1; //типа присвоить компоненте значение ПЕРЕМ?
end;
Компилятор говорит: Е2010 несовместимые типы TImage и FILE
Где же ошибка? А вообще работоспособна ли такая конструкция?


 
Ega23 ©   (2011-01-04 11:52) [1]


> А вообще работоспособна ли такая конструкция?


Нет.
var
 bmp: TBitmap;
begin
 if not OpenDialog1.Execute then Exit;
 bmp := TBitmap.Create;
 try
   bmp.LoadFromFile(OpenDialog1.FileName);

   Image1.Picture.Assign(bmp);  // Вот тут может быть не так, навскидку не помню а Delphi под рукой нет
 finally
   bmp.Free;
 end;
end;


 
_Юрий   (2011-01-04 11:55) [2]

Надо заводить переменную  не типа File (устаревшая конструкция), а переменную типа TBitmap (не забыв создать и разрушить экземпляр).


 
Pcrepair ©   (2011-01-04 15:17) [3]

получилось так:
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
  if OpenDialog1.Execute and FileExists(OpenDialog1.FileName) then
    begin
         Pic1 := TFileStream.Create(OpenDialog1.FileName, fmOpenRead);
    end;
end;
procedure TForm1.TabSheet2Show(Sender: TObject);
begin
   Image1.Picture.Bitmap.LoadFromStream(Pic1);
end;
правда при компиляции компиляции вылетает ошибка (ошибка доступа к памяти), но то что нужно (запись файла в глоб.ПЕРЕМ и отображение) работает
Всем спасибо


 
KilkennyCat ©   (2011-01-04 15:48) [4]

если это опять студенческое задание, то пофиг, а если нет, то это УЖАСНО!


 
Pcrepair ©   (2011-01-04 18:02) [5]

это не студенческое задание
просто изучаю возможности
ну раз считаешь что это УЖАСТНО, приведи свой вариант
что нужно:
объявить глоб ПЕРЕМ
записать в нее файл
вывести содержимое ПЕРЕМ в ТИмидж


 
Ega23 ©   (2011-01-04 18:09) [6]


> что нужно:
> объявить глоб ПЕРЕМ
> записать в нее файл
> вывести содержимое ПЕРЕМ в ТИмидж


Не нужно. Если это не задание, конечно :)))


 
KilkennyCat ©   (2011-01-04 22:19) [7]


> приведи свой вариант

не буду. ибо есть сомнения, что это не студенческое задание.
но попытка хрен знает скока раза загружать стрим (это ж надо так заумно назвать, цитирую: // далее идет самостоятельный, работающий код, отображение граф. Файла в компоненте при загрузке с ЖД напрямую, без диалога и размещения файла в ПЕРЕМ и поместить в табшит шоу...), который может и не создаться никогда.


 
Pcrepair ©   (2011-01-05 09:46) [8]

а откуда такая нелюбовь к студенческим заданиям?
складывается впечетление что ты просто ничего не понял, но возможно это Я не достаточно хорошо объяснил
в любом случае уже все работает, читай (3)


 
Andy BitOff ©   (2011-01-05 14:17) [9]

Не любовь не к заданиям, а к недостудентам, которые нифига не делают и не учатся, а потом бегают по форумам и клянчут код.


 
Студент   (2011-01-09 06:14) [10]


> Form1.Image1:= Pic1;


Какой кошмар... Вы в курсе что TImage есть класс, а Image1 - экземпляр класса (а если совсем точно, то указатель на него)?

Попробуйте работать с просто массивом пикселей... Или типа того... Непонятно просто что именно Вам вообще требуется...



Страницы: 1 вся ветка

Текущий архив: 2011.04.03;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.009 c
2-1294130488
Pcrepair
2011-01-04 11:41
2011.04.03
Вопрос по преобразованию типов переменных (TImage и FILE)


15-1292611465
PEAKTOP
2010-12-17 21:44
2011.04.03
ОлдФаги, помогите мультик найти !


3-1256066675
zorik
2009-10-20 23:24
2011.04.03
SQL-запрос посещения


6-1236188615
dron1990
2009-03-04 20:43
2011.04.03
технология DCOM


15-1292880591
Юрий
2010-12-21 00:29
2011.04.03
С днем рождения ! 21 декабря 2010 вторник