Форум: "WinAPI";
Текущий архив: 2002.11.28;
Скачать: [xml.tar.bz2];
Вниз<<<<<<Проблема с несоответствием типов>>>>> Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.11.28;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c