Problem ze skalowanioem danych typu real

0

</delphi>Type
Tpoint = record
x, y : real ; //z pierwszej kolumny i potem z drugiej
end;
procedure TForm1.Button2Click(Sender: TObject);
var
x_m, y_m, i: integer; // zmienne pomocnicze do określenia największych wartości współrzędnych X i Y
skala_x: real; // współczynnik skali
tab : array [1..4] of Tpoint ;
lcz_pkt : integer ;

begin
tab[1].x := 3.24e+01 ;
tab[1].y := 2.55e+01 ;
tab[2].x := 5 ;
tab[2].y := 30 ;
tab[3].x := 11 ;
tab[3].y := 20 ;
x_m:=trunc(tab[1].x);
y_m:=trunc(tab[1].y);
Image1.Repaint;
for i:=1 to lcz_pkt do //wyszukanie największej wartości ze współrzędnych X
if x_m<tab[i].x then
begin
x_m:= trunc(tab[i].x);
skala_x:=trunc(Image1.width/x_m);
end;

for i:=1 to lcz_pkt do //wyszukanie największej wartości ze współrzędnych Y
if y_m<tab[i].y then
y_m:=trunc(tab[i].y);

if skala_xy_m>image1.Height then //warunek ustalający skale czy według max X czy max Y
begin
skala_x:=image1.height/y_m;
for i:=1 to lcz_pkt do
begin
tab[i].x:=trunc(tab[i].x
skala_x); //przemnożenie wartości przez skale i ich zaokrąglenie
tab[i].y:=trunc(tab[i].y*skala_x);

Image1.Canvas.Brush.Color:=clRed;
Image1.Canvas.Ellipse(trunc(tab[i].x),trunc (tab[i].y),trunc(tab[i].x)+5,trunc (tab[i].y)+5); // drugi punkt robimy przez dodanie do pierwszego 5
end;

end;
end;</delphi>

Z góry dziekuję za odpowiedz.

0

i co ci nie dziala?

0

Pojawia mi się błąd "variable 'skala_x' might not initialized"

0

Kompilator Ci mówi, że zmienna może zostać niezainicjowana. To nie błąd tylko hint, bo user nie musi kliknąć na przycisk.

1 użytkowników online, w tym zalogowanych: 0, gości: 1