Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Редактирование значения типа float
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
clpe
Есть символьный ЖКИ Winstar 20x2, и пять кнопок (вперед, назад, вверх, вниз и ввод) необходимо редактировать значение типа float с двумя знаками после точки. Значение отображается на экране (при нажатии вперед-назад курсор должен перейти на следующее знакоместо числа, а при нажатии на вверх-вниз должен поменять значение цифры. Может кто проделывал уже такое, подскажите пожалуйста. 1111493779.gif
Alex11
А в чем проблема? Чтобы все не сбивалось на экране, хранить придется все равно байт на символ (минимум, пол-байта, если памяти совсем нет), изменять их по стрелочкам, а затем пересчитывать в плавучку, умножая каждую цифру на соответствующий множитель (при каждом нажатии стрелочки вверх или вниз).
clpe
Цитата(Alex11 @ Feb 11 2009, 23:54) *
А в чем проблема? Чтобы все не сбивалось на экране, хранить придется все равно байт на символ (минимум, пол-байта, если памяти совсем нет), изменять их по стрелочкам, а затем пересчитывать в плавучку, умножая каждую цифру на соответствующий множитель (при каждом нажатии стрелочки вверх или вниз).

а алгоритм можете привести? свободной памяти много...
Methane
Цитата(clpe @ Feb 11 2009, 23:00) *
а алгоритм можете привести? свободной памяти много...

Я делал. Просто вверх/вниз, увеличение скорости изменения по экспоненте (чем дольше нажатие тем быстрее изменяется, в зависимости от текущего значения - если к примеру текущее 0.01 то следующем будет 0.02 а если текущее 100, то 101). Получилось очень прикольно. Но я на семисегментниках делал. На ЖКИ может не так прикольно получится.
clpe
Цитата(Methane @ Feb 12 2009, 00:24) *
Я делал. Просто вверх/вниз, увеличение скорости изменения по экспоненте (чем дольше нажатие тем быстрее изменяется, в зависимости от текущего значения - если к примеру текущее 0.01 то следующем будет 0.02 а если текущее 100, то 101). Получилось очень прикольно. Но я на семисегментниках делал. На ЖКИ может не так прикольно получится.

Ага прикольно когда надо редактировать от 0.00 до 999.99
Methane
Цитата(clpe @ Feb 11 2009, 23:26) *
Ага прикольно когда надо редактировать от 0.00 до 999.99

Так ведь оно щелкает все быстрее и быстрее. Очень быстро получается. Чем дольше жмеш, тем быстрее оно переключается. smile.gif
nl5
Цитата(Methane @ Feb 11 2009, 14:28) *
Так ведь оно щелкает все быстрее и быстрее. Очень быстро получается. Чем дольше жмеш, тем быстрее оно переключается. smile.gif

...и тем труднее остановиться когда надо, и начинается: вверх-вниз-вверх-вниз.. rolleyes.gif
Иногда делают просто выбор позиции стрелками вправо-влево, и изменение этой позиции стрелками вверх-вниз, с переносом в старшую позицию если переполняется вверх или вниз. По-моему это удобнее, чем переменная скорость, хотя кому как.
clpe
Цитата(nl5 @ Feb 12 2009, 00:34) *
Иногда делают просто выбор позиции стрелками вправо-влево, и изменение этой позиции стрелками вверх-вниз, с переносом в старшую позицию если переполняется вверх или вниз. По-моему это удобнее, чем переменная скорость, хотя кому как.

вот-вот такое есть у кого нибудь?
demiurg_spb
Преобразуйте число в строку функцией ftoa или snprintf или dtostrf, отредактируйте строку кнопочкми и обратно из строки в число atof.
Какой алгоритм Вам ещё нужен? Вы же программист и творец, вот и творите, экспериментируйте...
Нет ничего более ценного, чем знания и опыт, полученные собственным трудом.
clpe
Цитата(demiurg_spb @ Feb 12 2009, 01:19) *
преобразуйте число в строку функцией ftoa или snprintf, отредактируйте строку кнопочкми и обратно из строки в число atof. Какой алгоритм Вам ещё нужен? Вы же программист и творец, вот и творите, экспериментируйте... Нет ничего более ценного, чем знания и опыт, полученные собственным трудом.

В редактировании целого числа проблем никаких нет, а вот при редактировании чисел с запятой crying.gif слишком большой код. Одну из позиций точка занимает, нужно перепрыгивать, и начинается путаница.
demiurg_spb
Цитата(clpe @ Feb 12 2009, 01:27) *
В редактировании целого числа проблем никаких нет,
А я Вам говорю как раз не о целых числах, а о float.
Цитата
а вот при редактировании чисел с запятой crying.gif слишком большой код. Одну из позиций точка занимает, нужно перепрыгивать, и начинается путаница.
Эка проблема! Если считаете это СЛИШКОМ сложным, то я даже и не знаю что и сказать. Терпение и труд всё перетрут. Главное начать, а там глядишь и конец работы начнёт проглядываться. Устал - пойди погуляй с девушкой, да не с одной!:) От того что долго вылупаешься в монитор и тупишь пользы ноль.
clpe
Цитата(demiurg_spb @ Feb 12 2009, 01:32) *
А я Вам говорю как раз не о целых числах, а о float.
Эка проблема! Если считаете это СЛИШКОМ сложным, то я даже и не знаю что и сказать.

Просто с float на МК редко сталкивался... 1111493779.gif
Methane
Цитата(nl5 @ Feb 11 2009, 23:34) *
...и тем труднее остановиться когда надо, и начинается: вверх-вниз-вверх-вниз.. rolleyes.gif
Иногда делают просто выбор позиции стрелками вправо-влево, и изменение этой позиции стрелками вверх-вниз, с переносом в старшую позицию если переполняется вверх или вниз. По-моему это удобнее, чем переменная скорость, хотя кому как.

Господи! Сделайте и поиграйтесь. Ваш вариант и есть в общем-то мой. У меня сначала медленно ползет младшая цифра, потом болшее старшая потом еще более старшая итд... В общем скорость нарастает. Вы не читали "машина времени"?

Цитата
Я уже рассказывал о болезненных и муторных ощущениях, которые вызывает путешествие по Времени. Но на этот раз я к тому же плохо сидел в седле, неловко свесившись набок. Не знаю, долго ли я провисел таким образом, не замечая, как моя Машина дрожит и раскачивается. Когда я пришел в себя и снова посмотрел на циферблаты, то был поражен. На одном из циферблатов отмечались дни, на другом тысячи, на третьем миллионы и на четвертом миллиарды дней. Оказалось, что вместо того, чтобы повернуть рычаги назад, я привел их в действие таким образом, что Машина помчалась вперед, и, взглянув на указатели, я увидел, что стрелка, отмечающая тысячи дней, вертелась с быстротой секундной стрелки, — я уносился в Будущее.
По мере движения все вокруг начало принимать какой‑то необыкновенный вид. Дрожащая серая пелена стала темнее; потом снова — хотя я все еще продолжал двигаться с невероятной скоростью — началась мерцающая смена ночи и дня, обычно указывавшая на не очень быстрое движение Машины. Это чередование становилось все медленнее и отчетливее. Сначала я очень удивился. День и ночь уже не так быстро сменяли друг друга. Солнце тоже постепенно замедляло свое движение по небу, пока наконец мне не стало казаться, что сутки тянутся целое столетие. В конце концов над землей повисли сумерки, которые лишь но временам прорывались ярким светом мчавшейся по темному небу кометы. Красная полоса над горизонтом исчезла; солнце больше не закатывалось — оно просто поднималось и опускалось на западе, становясь все более огромным и кровавым. Луна бесследно исчезла. Звезды, медленно описывавшие свои круговые орбиты, превратились из сплошных полосок света в отдельные, ползущие по небу точки. Наконец, незадолго до того, как я остановился, солнце, кровавое и огромное, неподвижно застыло над горизонтом; оно походило на огромный купол, горевший тусклым светом и на мгновения совершенно потухавший. Один раз оно запылало прежним своим ярким огнем, но быстро вновь приобрело угрюмо‑красный цвет. Из того, что солнце перестало всходить и закатываться, я заключил, что периодическое торможение наконец завершилось. Земля перестала вращаться, она была обращена к Солнцу одной стороной, точно так же, как в наше время обращена к Земле Луна. Помня свое предыдущее стремительное падение, я с большой осторожностью принялся замедлять движение Машины. Стрелки стали крутиться все медленней и медленней, пока наконец та, что указывала тысячи дней, не замерла неподвижно, а та, что указывала дни, перестала казаться сплошным кругом. Я еще замедлил движение, и передо мной стали смутно вырисовываться очертания пустынного берега.
rezident
Цитата(clpe @ Feb 12 2009, 03:27) *
В редактировании целого числа проблем никаких нет, а вот при редактировании чисел с запятой crying.gif слишком большой код. Одну из позиций точка занимает, нужно перепрыгивать, и начинается путаница.
У нас в приборах редактирование чисел с плавающей точкой реализовано посимвольно. Раскладываете float на символы, выводите на LCD и редактируете символьную строку, следя чтобы десятичная точка была только в одной позиции (заведите семафорчик как признак, что в какой-то позиции уже есть точка). При нажатии кнопки "ввод" преобразуете символьную строку во float, запоминаете значение и затем преобразуете снова в символьную строку для вывода на LCD. При посимвольном редактировании кнопки влево/вправо двигают курсор по символам(знакоместам), а вверх/вниз изменяют значение символа из следующего ряда: "пробел", ".", "0", "1", "2", .... "8", "9".
Упомянутый выше автоповтор последней нажатой клавиши (а также увеличивающийся со временем темп автоповтора) относится с функции клавиатуры, а не собственно функции редактирования. Хотя для столь малого набора символов (11 символов) (авто)увеличение темпа автоповтора ИМХО излишнее.
MrYuran
Цитата(clpe @ Feb 12 2009, 01:34) *
Просто с float на МК редко сталкивался... 1111493779.gif

А что, на МК флоат какой-то особенный чтоли?
clpe
Цитата(rezident @ Feb 12 2009, 03:17) *
При посимвольном редактировании кнопки влево/вправо двигают курсор по символам(знакоместам), а вверх/вниз изменяют значение символа из следующего ряда: "пробел", ".", "0", "1", "2", .... "8", "9".

"Пробел", ".", блин а так действительно легче!
_Pasha
Цитата(clpe @ Feb 12 2009, 13:37) *
"Пробел", ".", блин а так действительно легче!

В предельном случае - когда у Вас всего две кнопки (не смейтесь над функционалом) - изменение текущего символа по отпусканию кнопки, автоповтора ессно нету, переход по знакоместам по нажатию двух кнопок. В этом случае отпускание кнопок не влечет за собой изменение символа.
clpe
Цитата(_Pasha @ Feb 12 2009, 13:50) *
В предельном случае - когда у Вас всего две кнопки (не смейтесь над функционалом) - изменение текущего символа по отпусканию кнопки, автоповтора ессно нету, переход по знакоместам по нажатию двух кнопок. В этом случае отпускание кнопки не влечет за собой изменение символа.

Бывали и такие случаи (заказчик ругался, что слишком долго редактировать приходится: в приборе 2 кнопки, а при сдаче прибора выяснилось, что надо редактировать значение от 100 до 10000, а не от 900 до 1000 как он говорил до этого) спасибо возьму на заметку.
singlskv
Цитата(demiurg_spb @ Feb 12 2009, 01:19) *
Преобразуйте число в строку функцией ftoa или snprintf или dtostrf, отредактируйте строку кнопочкми и обратно из строки в число atof.

ИМХО, если уж все равно присутствует плавучка, то совсем не нужно конвертировать туда-сюда,
достаточно только конвертировать для вывода.
А редактирование делать примерно так:
Код
const float vinput_delta[9] =   // шаги приращения для ввода
{0.0001f, 0.001f, 0.01f, 0.1f, 1.0f, 10.0f, 100.0f, 1000.0f, 10000.0f};
unsigned char vinput_step; // текущий N шага при редактировании в таблице vinput_delta
................
  vinput_data -= vinput_delta[vinput_step]; // уменьшить на текущий шаг(кнопка вниз)
...............
  vinput_data += vinput_delta[vinput_step]; // увеличить на текущий шаг(кнопка вверх)
...............
  vinput_step++; // к старшему разряду(кнопка влево)
..............
  vinput_step--; // к младшему разряду(кнопка вправо)
Это конечно упрощенно, но идея я думаю ясна.
SysRq
Цитата(singlskv @ Feb 13 2009, 00:33) *
Код
const float vinput_delta[9]

Ну это уже совсем того! laughing.gif
Редактировать надо строку, о чем выше сказано.
А в случае если у автора задача стоит так, что значение меняется только в меню и нигде больше, то операция float->строка вообще не нужна: хранить строку, изменять ее в меню (редактировать просто, выводить на экран просто), и операция строка->float по завершению редактирования для дальнейшего использования.
_Pasha
Цитата(singlskv @ Feb 13 2009, 01:33) *
Это конечно упрощенно, но идея я думаю ясна.


Там главный недостаток - перенос наших "разрядов" в соседние, например 0.09f+0.01f=0.1f


За этой "ловлей блох" можно потерять немало флеша.
singlskv
Цитата(_Pasha @ Feb 13 2009, 10:12) *
Там главный недостаток - перенос наших "разрядов" в соседние, например 0.09f+0.01f=0.1f
Ну никто же не мешает при этом выводить 0.10
В конце концов, обычно, нужно фиксированное кол-во разрядов после запятой.
Цитата
За этой "ловлей блох" можно потерять немало флеша.
А если очень надо, то и пересчитать положение точки при выводе не проблема,
и флеша это займет очень не много...
Dog Pawlowa
Цитата(clpe @ Feb 11 2009, 23:48) *
необходимо редактировать значение типа float с двумя знаками после точки

Если это значение всегда с двумя знаками после точки, то это не float. Представьте, что оно целое, равно float * 100, с точкой между третьим и вторым знаками слева.
Такой подсказки достаточно?
MrYuran
Цитата(Dog Pawlowa @ Feb 13 2009, 10:32) *
Если это значение всегда с двумя знаками после точки, то это не float. Представьте, что оно целое, равно float * 100, с точкой между третьим и вторым знаками слева.
Такой подсказки достаточно?

Всегда так делаем. Очень удобно.
флоат получается при желании путём явного приведения типов
singlskv
Цитата(Dog Pawlowa @ Feb 13 2009, 10:32) *
Если это значение всегда с двумя знаками после точки, то это не float. Представьте, что оно целое, равно float * 100, с точкой между третьим и вторым знаками слева.
Такой подсказки достаточно?
Если точка всегда в одном месте то тогда действительно можно все в целых,
в моем варианте просто меняется:
const float vinput_delta[9] = // шаги приращения для ввода
{0.0001f, 0.001f, 0.01f, 0.1f, 1.0f, 10.0f, 100.0f, 1000.0f, 10000.0f};

на:
const int vinput_delta[] = // шаги приращения для ввода
{1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000,1000000000};
_Pasha
Цитата(singlskv @ Feb 13 2009, 11:32) *
Ну никто же не мешает при этом выводить 0.10

Ну, может я не точно выразился... В общем, при переходе 0.09+0.01 должно быть 0.00

Это редактирование, а не урок математики smile.gif
singlskv
Цитата(_Pasha @ Feb 13 2009, 10:53) *
В общем, при переходе 0.09+0.01 должно быть 0.00
Это редактирование, а не урок математики smile.gif
А это уже дело "вкуса" smile.gif
ИМХО, стрелка вверх должна увеличивать число а не уменьшать(иногда).
demiurg_spb
Цитата(singlskv @ Feb 13 2009, 00:33) *
ИМХО, если уж все равно присутствует плавучка, то совсем не нужно конвертировать туда-сюда,
достаточно только конвертировать для вывода.
А редактирование делать примерно так:
[code]const float vinput_delta[9] = // шаги приращения для ввода
{0.0001f, 0.001f, 0.01f, 0.1f, 1.0f, 10.0f, 100.0f, 1000.0f, 10000.0f};
...
Это конечно упрощенно, но идея я думаю ясна.
Идея-то ясна но, у float в отличие от целочисленных типов есть очень серьёзный недостаток. И заключается он в том, что точного значения числа часто не существует, а есть лишь его приближённая величина. И если прибавлять 0,1 к нулю много-много раз, можно получить что-то подобное 999999,371654651. Этим плох Ваш способ. Не смертельно плох, но всёже...
singlskv
Цитата(demiurg_spb @ Feb 13 2009, 11:37) *
И если прибавлять 0,1 к нулю много-много раз, можно получить что-то подобное 999999,371654651. Этим плох Ваш способ. Не смертельно плох, но всёже...
А когда редактируешь строку и потом переводишь в флоат разьве точность не теряется ?
ARV
для редактирования float с заранее известным числом знаков после точки и перед нею, я бы сделал почти так, как предлагал singlskv, только перед началом редактирвоания переводил бы float в целое (для двух знаков после точки - умножением на 100) и редактировал бы именно в целых числах (запрет "переноса разряда" легко и незатратно по памяти реализуется), а точку "пририсовывал" бы только при выводе.
после завершения редактирования деление на 100 (или на что там умножали вначале) - и получите готовое число.

плюсы:
1. функция редактирования любого знака может быть одной для любого разряда: получает "порядок" изменяемого разряда, реализуя контроль и блокировку перехода 9-->10. при этом сама процедура редактирования красиво раскладывается на элементарные действия: выбор разряда - изменение
2. целочисленная арифметика - быстро и экономно
3. не надо делать ресурсоемкие преобразования для вывода float - опять же экономия памяти

минусы:
- назовите сами smile.gif
_Pasha
Цитата(ARV @ Feb 13 2009, 13:12) *
минусы:
- назовите сами smile.gif


Да не переживайте так, нету минусов smile.gif Вообще, выкладывать юзеру параметры в плавучке - это не есть хорошо. Значит, что-то в консерватории не так.
Сергей Борщ
Цитата(ARV @ Feb 13 2009, 11:12) *
минусы:
- назовите сами smile.gif
Сам так делал, еще на асме и на 74 пике smile.gif У меня была структура "параметры редактирования", которая включала в себя:
- количество знакомест при редактировании
- количество знаков после запятой (если 0 - точка не выводится)
- знаковое/беззнаковое число
- минимальное и максимальное допустимое значение. Если при сохранении число выходит за диапазон - сохранение не происходит, выдается злобный сигнал, число заменяется максимумом или минимумом, пользователю предлагается продолжить редактирование.

Функции передавался указатель на число и указатель на такую структуру. Таким образом одна процедура использовалась для редактирования самых разнообразных параметров. Недостаток только один - этот метод не подходит, если положение точки не фиксировано. 
_Pasha
Цитата(Сергей Борщ @ Feb 13 2009, 14:52) *
Функции передавался указатель на число и указатель на такую структуру. Таким образом одна процедура использовалась для редактирования самых разнообразных параметров. Недостаток только один - этот метод не подходит, если положение точки не фиксировано. 

+1
То же самое плюс флаг read_only, селектор источника, откуда берется число (SRAM/EEPROM/FLASH/SPECIAL)
SPECIAL - в этом случае будет указатель на функцию, возвращающую требуемое число
В особо извращенных случаях добавлялись хинтовые строки для выдачи в UART, что это за параметр еще и на двух языках: английском и матерном родном. smile.gif Ужас
У человека в цеху несколько необслуживаемых железяк, а пульт программирования один - подошел, воткнулся, исправил, выткнулся - продолжение работы
demiurg_spb
Цитата(singlskv @ Feb 13 2009, 11:41) *
А когда редактируешь строку и потом переводишь в флоат разьве точность не теряется ?

Даже если она и "теряется", но лишь единожды, а у Вас на каждое нажатие кнопки.
По моему скромному мнению, при помощи atof достигается максимальная точность из возможных...
И уж не хуже чем при целочисленном способе редактирования. В этом смысле Ваш вариант самый неудачный.
atof - ведь библиотечная функция и отшлифована она не одним поколением программистов, поэтому недоверия у меня она никогда не вызывает.
singlskv
Цитата(demiurg_spb @ Feb 13 2009, 14:57) *
Даже если она и "теряется", но лишь единожды, а у Вас на каждое нажатие кнопки.
По моему скромному мнению, при помощи atof достигается максимальная точность из возможных...
И уж не хуже чем при целочисленном способе редактирования. В этом смысле Ваш вариант самый неудачный.
atof - ведь библиотечная функция и отшлифована она не одним поколением программистов, поэтому недоверия у меня она никогда не вызывает.
Ну давайте рассмотрим такой пример на Вашем алгоритме:
Было число 1.44999999
Выводим с одним разрядом после запятой: 1.4
хотим уменьшить это число на 1 минимальный шаг(типа чего-нить регулируем)
жмем кнопку вниз на младшем разряде
получаем: 1.3
жмем ввод
ИТОГО: было 1.44999999 стало 1.3
вместо регулирования на 0.1 получили на 0.14999999

Это правильно ? smile.gif
ARV
Цитата(singlskv @ Feb 13 2009, 19:28) *
Ну давайте рассмотрим такой пример на Вашем алгоритме:
Было число 1.44999999
Выводим с одним разрядом после запятой: 1.4
хотим уменьшить это число на 1 минимальный шаг(типа чего-нить регулируем)
жмем кнопку вниз на младшем разряде
получаем: 1.3
жмем ввод
ИТОГО: было 1.44999999 стало 1.3
вместо регулирования на 0.1 получили на 0.14999999

Это правильно ? smile.gif

это неправильно. однако, если только один знак после запятой в редактируемом параметре - откуда там возьмется "хвостик"? редактируется, как я понимаю, входной параметр для некоего алгоритма, но никак не выходной, т.е. получаемый в результате вычислений... то есть никакого 1.449999 быть не может (не должно по определению)? может быть только 1.4
singlskv
Цитата(ARV @ Feb 13 2009, 19:58) *
это неправильно. однако, если только один знак после запятой в редактируемом параметре - откуда там возьмется "хвостик"? редактируется, как я понимаю, входной параметр для некоего алгоритма, но никак не выходной, т.е. получаемый в результате вычислений... то есть никакого 1.449999 быть не может (не должно по определению)? может быть только 1.4
Ну а если этот пареметр рассчетный(например через деление) ? и его результат получается совсем в другом месте ?
А потом нужно его подредактировать?

На самом деле эти споры насчет округлений можно вести до бесконечности,
ИМХО, правда заключается в единичке младшего разряда который Вы позволили редактировать,
+- эта 1 это и есть точность...
_Pasha
А чтоб не спорить, должно быть правило: система параметров прибора должна быть квадратно-гнездовой как и голова воображаемого пользователя. И если на юзера падают результаты промежуточных вычислений, то это не хорошо.
ЗЫ Есть исключение, например, когда параметр движется по экспоненте от точки А до точки В. Но юзеру совсем не обязательно сие редактировать по циферкам - шаг приращения должен выбираться автоматически, чтобы создать некоторое подобие слайдера или иного регулятора.
singlskv
Цитата(_Pasha @ Feb 13 2009, 20:58) *
А чтоб не спорить, должно быть правило: система параметров прибора должна быть квадратно-гнездовой как и голова воображаемого пользователя. И если на юзера падают результаты промежуточных вычислений, то это не хорошо.
Ok, только никуда пока не уходите, smile.gif
будете связующим звеном между пультом который получает значения
по модбас их редактирует и отправляет их обратно(или в другой модуль smile.gif ),
боюсь без Вашей помощи они квадратно-гнездовым не договорятся...
_Pasha
Цитата(singlskv @ Feb 13 2009, 21:13) *
Ok, только никуда пока не уходите, smile.gif

В таком случае пульт будет не устройство, а должность smile.gif

И думаю, что в конце концов у пользователя такого пульта может возникнуть сильная  жажда сервиса. Вплоть до денег за работу по модернизации.
singlskv
Цитата(_Pasha @ Feb 13 2009, 21:21) *
В таком случае пульт будет не устройство, а должность smile.gif
И думаю, что в конце концов у пользователя такого пульта может возникнуть сильная  жажда сервиса. Вплоть до денег за работу по модернизации.

Это еще почему ?
получили извне флоат
отредактировали
отправили назад

почему мой вариант будет хуже чем:
>ИТОГО: было 1.44999999 стало 1.3
>вместо регулирования на 0.1 получили на 0.14999999

?
_Pasha
Цитата(singlskv @ Feb 13 2009, 21:30) *
получили извне флоат
отредактировали
отправили назад

Отредактировали калькулятороподобной клавой - вааще вопросов нету. А 2/4/6 кнопок... фрагмент не вписывается в Геракла (ЦЕ)
singlskv
Цитата(_Pasha @ Feb 13 2009, 21:39) *
Отредактировали калькулятороподобной клавой - вааще вопросов нету. А 2/4/6 кнопок... фрагмент не вписывается в Геракла (ЦЕ)

-4 кнопки
-5 семисегментников(+точка) разрядов (но можно сколько надо)
-вывод/ввод целых/флоат
-ввод/контроль пароля на определенные параметры
-режим ввода по приращениям не совпадающим с разрядом
-режим задания значений по умолчанию
все редактируемые параметры удаленные, через модбас
(ЦЕ)
ARV
Цитата(_Pasha @ Feb 13 2009, 21:39) *
Отредактировали калькулятороподобной клавой - вааще вопросов нету. А 2/4/6 кнопок... фрагмент не вписывается в Геракла (ЦЕ)
+5!
и нечего голову всем морочить! редактируйте в символьном виде с клавы типа PS/2 и будет вам счастье smile.gif
clpe
Цитата(ARV @ Feb 13 2009, 21:54) *
+5!
и нечего голову всем морочить! редактируйте в символьном виде с клавы типа PS/2 и будет вам счастье smile.gif

Да была бы вообще тема!!!

Цитата(singlskv @ Feb 13 2009, 00:33) *
А редактирование делать примерно так:

Это конечно упрощенно, но идея я думаю ясна.

Вот такое решение вообще офигенно! Суперрррррр!..........
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.