![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 | |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
![]()
Всем привет. Возникла проблема, подскажите.
Есть ini файл в котором хранятся координаты точек, вот пример содержимого ini файла: Цитата:
Вопрос - как получить младший и старший байты чисел, которые хранятся в этом ini файле и записать их в соответственные массивы? Вот как я пробовал, но оно не работает: Код:
Будь проще и люди к тебе потянутся
Последний раз редактировалось spamer; 16.04.2009 в 00:23. |
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
не подтверждаю!
Код:
![]() Кстати, не думаю, что проблема в этом, но всё же: Какой тип у массива Points ?? |
![]() |
![]() |
![]() |
#3 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
![]()
Массив Points имеет тип integer.
P.S.А как бы вы посоветовали получить младший и старший байты чисел, которые хранятся в этом ini файле и записать их в соответственные массивы?
Будь проще и люди к тебе потянутся
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
у меня такой вопрос, а что должно получится?
то есть как именно получается число Поинт? например: для этой точки Point1=7517 какие Х и У получатся? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#5 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
![]()
Ну по идее как я понимаю, то для пользователя это будут следующие координаты: X=75 и Y=17. А уже в программе я буду преобразовывать эти координаты к внутренним.
P.S. Этот способ мене посоветовал мой преподаватель по программированию. Но, может есть у вас какие то идеи как считать координаты X и Y точек из ini файла и уже применять их для opengl(работаю с этой библиотекой)????
Будь проще и люди к тебе потянутся
Последний раз редактировалось spamer; 16.04.2009 в 22:29. |
![]() |
![]() |
![]() |
#6 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
![]() Код:
честно говоря, непонятно - что мешает хранить координаты в чистом виде? Код:
Последний раз редактировалось soleil@mmc; 16.04.2009 в 22:41. |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
если получается 75 и 17 то байты тебе конечно же не то выдадут
там разряды десятичного числа надо получать тогда с помощью div Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#8 |
Баламучу слегка...
Участник клуба
Регистрация: 01.11.2006
Сообщений: 1,585
|
![]()
И все-таки идея с вариантной записью мне ближе...
Код:
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Баламут, да ТС совсем не нужны старший и младший байты!!!! ему нужны числа из десятичной записи числа!!
т.е. ему из числа 7517 нужно получить x=75 и y=17 spamer, Вы меня, конечно, извините, но Вы с Вашим преподавателем фигню придумали!!! ![]() выделить из 7517 отдельно 75 и отдельно 17 абсолютно не сложно (либо в цикле через div 10 и mod 10, как предложил Пепел Феникса, либо, банальное: x := StrToInt(Copy(Trim(IntToStr(Points[i]),1,2)); y := StrToInt(Copy(Trim(IntToStr(Points[i]),3,2)); ) Но Вы, наверное, догадываетесь, что координаты бывают не только двухзначные?! Так вот, расскажите мне, какие, по Вашему (и по мнению Вашего преподавателя) должны быть координаты если: Point = 5 (x=0 y=5 или x=5 y=0 ??) Point = 12145 (x=12 y = 145 или x=121 y = 45 Point = 111111 (варианты??) таким образом, целое число по предложенному Вами алгоритму нельзя однозначно перевести в координаты x и y). точка. |
![]() |
![]() |
![]() |
#10 | ||
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
![]() Цитата:
Вот думаю может по другому это как то сделать. А конкретно хочу попробовать как предложил soleil@mmc: Цитата:
Код:
Содержимое ini файла : [Количество точек] Count=3 [Координаты X] X1=-0,3 X2=-0,5 X3=0,0 [Координаты Y] Y1=0,0 Y2=0,0 Y3=-0,5
Будь проще и люди к тебе потянутся
Последний раз редактировалось spamer; 17.04.2009 в 14:39. |
||
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Когда отправляю tStream, теряю 4 байта. | Altera | Работа с сетью в Delphi | 3 | 19.03.2009 19:05 |
взятие старшего и младшего байта | Djaconda | Общие вопросы Delphi | 2 | 29.09.2008 09:25 |
Вывод байта в двоичном пердставлении (С++) | trollik | Помощь студентам | 6 | 01.09.2008 23:55 |
Обрезать у файлов первые 24 байта и переименовать в соответствии со списком. | Hell'ena | Общие вопросы Delphi | 13 | 12.07.2008 20:48 |
Visual basic. В группе студентов определить старшего по возрасту | Николай969 | Помощь студентам | 4 | 11.01.2008 17:50 |