Вниз
Скачать: CL | DM;

<<<<<<Проблема с несоответствием типов>>>>>   Найти похожие ветки 

← →
d_coder ©   (2002-10-08 21:21) [0]

Ситуация такова: есть Image. Пользуясь свойством Canvas я хочу нарисовать на ней с помощью линий (Image1.Canvas.LinesTo(x,y) определенную карту, вершины которой (x,y) должны читаться из ячеек StringGrid и представлены в виде, например "-3.0", "0.0", "2.99" и т.п.
Проблема, естественно, в том, что имеет место несоответствие типов: т.е. компилятор кричит, что >>> "-3.0" не является Integer <<<. Интересно, как еще можно провернуть такую операцию, если из строки можно, вроде бы, конвертировать в StrToInt, да и Canvas.LineTo жрет только Integer переменные.
Уважаемые мастера и люди, сталкивавшиеся раньше с такой проблемой, подскажите решение!!!


← →
Rouse_ ©   (2002-10-09 02:36) [1]

Ну если ты просто будешь рисовать с такими координатами
> "-3.0", "0.0", "2.99" и т.п.
то даже если бы у тебя и не было несоответствия типов то получился бы один большой (примерно 3 на 3) пиксель ;) Попробуй не StrToInt а StrToFloat, это раз.
Потом каждую координату умножь хотя бы на 50, округли ее до наибольшего (наименьшего) целого и только тогда делай LinesTo

Желаю успехов


← →
Dr.UFO_51   (2002-10-18 17:26) [2]

Если потребуется HELP мыль сюды : CivUFO@mail.ru
Почему никто не пользуется стандартами???!!!
Есть 2 замечательных функции Trunc и Round
Вот пример :

////////////////////////

var
a:integer;
begin

a:=trunc(3.8); // отрезает целую часть (здесь a=3)
// или
a:=round(4.7); // округляет (здесь a=5 )

/////////////////////////

Удачи !!!



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
6-93159
ketorol
2002-10-02 10:06
2002.11.28
помогите очень интересно и нужно


3-92869
Youri
2002-11-09 16:48
2002.11.28
Update failed при ApplyUpdates!


14-93200
madcap
2002-11-10 02:44
2002.11.28
квадратичная и линейная интерполяции


1-93109
Mafsha
2002-11-17 16:35
2002.11.28
Как перевести время в секунды?


4-93289
VepAlex
2002-10-16 23:06
2002.11.28
Мерцает TImage




   Наверх