 
			
				07.02.2020, 06:34
			
			
			
		  
	 | 
	
		
		
		
			
			| 
			
				
				
				 Прохожий 
				
				
			 | 
			  | 
			
				
				
					Регистрация: 22.12.2018 
					
					
					Сообщения: 13
 
				Версия Delphi: Delphi 14 
					Репутация: 10 
					    
				 
				
			 | 
		 
		 
		
	 | 
	
	
	
		
			
			
				 
				Как передать значение из функции в процедуру?
			 
			 
			
		
		
		
		При решении арифметических действий параметры передаются нормально.При передаче цвета пикселя по координатам,значение меняется. 
На форме TImage и Label:
 
	Код: 
	unit Unit2;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, pngimage;
type
  TForm2 = class(TForm)
    Label1: TLabel;
    Button1: TButton;
    Label2: TLabel;
    Image1: TImage;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    function d(x, y:integer):integer;
  public
    { Public declarations }
  end;
var
  Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
var i,x,y:integer; 
  Color: TColor;
begin
 x:=40;
 y:=20;
 Image1.Picture.LoadFromFile('1.bmp');
 //color:=Image1.Picture.Bitmap.Canvas.Pixels[x,y];
 i:=d(x,y);
 Label1.Caption:=IntToStr(i);// Label1.Caption:=IntToHex(color,1);// белый 16777215
end;
function TForm2.d(x, y: integer): integer;
var d3: TColor;
 d2 ,d: String;
begin
d3:=Image1.Picture.Bitmap.Canvas.Pixels[x,y];
//Label1.Caption:=IntToStr(d3);// здесь нормально возвращает значение
 d:= IntToStr(d3); 
//d:=x+y*x; //Присваиваем функции сумму переменных
end;
end.
 
  
		
	
		
		
		
		
		
	
		
			
 
			
			
			
				 
			
			
			
			
		 
		
	
	
	 |