Вверх ↑
Этот топик читают: Гость
Ответов: 67
Рейтинг: 0
#1: 2012-11-06 20:31:14 ЛС | профиль | цитата
code_29459.txt

Подскажите пожалуйста как преобразовать строку в целое число, читал на форуме но ни чего конкретного не нашел
в примере преобразует только первый символ, а надо что бы хотя бы два. Читал что как то можно разворачивать строку т.е
последний символ сделать первым.
карма: 1

0
файлы: 1code_29459.txt [256B] [105]
Ответов: 8930
Рейтинг: 823
#2: 2012-11-06 21:37:45 ЛС | профиль | цитата
TICLIR, code_29460.txt
карма: 19

0
файлы: 1code_29460.txt [1.5KB] [162]
Ответов: 16884
Рейтинг: 1239
#3: 2012-11-06 22:20:33 ЛС | профиль | цитата
TICLIR, а если обновить Edit то там появится свойство ClearAfterEnter, что позволит упростить схему Леонида.
Примерно:
Add(MainForm,2953706,91,259)
{
Width=590
Height=156
}
Add(Edit,15484438,91,182)
{
Left=30
Top=25
Width=285
Text="абвгдеёжзийклмнопрстуфх..."
ClearAfterEnter=1
link(onEnter,11577355:doEvent1,[])
}
Add(Label,6631978,413,259)
{
Left=30
Top=90
link(Text,13685261:Var3,[(419,245)])
}
Add(Str_Enum,14515225,175,196)
{
Delimiter=""
link(onEnum,4301841:doConvert,[])
link(onEndEnum,13938056:doEvent1,[(216,209)(216,258)])
}
Add(Hub,11577355,133,189)
{
link(onEvent1,1141890:doEvent1,[(161,195)(161,174)])
link(onEvent2,14515225:doEnum,[])
}
Add(Convertor,4301841,224,196)
{
Mode=3
link(onResult,11394120:doEvent1,[])
}
Add(Label,7562787,413,203)
{
Left=30
Top=60
link(Text,13743221:Var2,[])
}
Add(StrCatDelim,12876502,350,126)
{
Delimiter=" "
Point(doClear)
link(Str1,13743221:Var1,[(356,114)(419,114)])
}
Add(StrCatDelim,8935494,343,203)
{
Delimiter=" "
Point(doClear)
link(Str2,13685261:Var1,[(356,191)(384,191)])
}
Add(Hub,11394120,273,196)
{
link(onEvent1,12876502:doStrCatDlm,[(296,202)(296,132)])
link(onEvent2,8935494:doStrCatDlm,[])
}
Add(GetDataEx,13743221,413,165)
{
Angle=3
link(Data,12876502:Result,[(356,170)])
}
Add(GetDataEx,13685261,378,240)
{
Angle=3
link(Data,8935494:Result,[(349,245)])
}
Add(Hub,13938056,357,252)
{
link(onEvent1,7562787:doText,[(392,258)(392,209)])
link(onEvent2,6631978:doText,[])
}
Add(Hub,1141890,308,168)
{
link(onEvent1,12876502:doClear,[(336,174)(336,139)])
link(onEvent2,8935494:doClear,[(332,181)(332,216)])
}


карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 67
Рейтинг: 0
#4: 2012-11-07 20:18:03 ЛС | профиль | цитата
Спасибо что помогли примером,а что мне надо выглядит вот так.
code_29462.txt
Далее я хочю преобразовать первые два числа в HEX т.е от 97-87=10 это получается значение буквы А в HEX, и так же со вторым,
третий будет ключём,затем их как-то побитово ствинуть и получить не строку af,а значен af HEX.


------------ Дoбавленo в 20.18:
Я извиняюсь перед создателями,как я поиздевался над элементом, но что я хотел у меня получилось
как мне показать его? Мне помочь очистить его от лишнего, а то у меня не получается.
карма: 1

0
файлы: 1code_29462.txt [969B] [98]
Ответов: 16884
Рейтинг: 1239
#5: 2012-11-07 23:18:43 ЛС | профиль | цитата
TICLIR писал(а):
что я хотел у меня получилось
После того, что у тебя получилось, я перестал понимать, что ты хотел.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#6: 2012-11-07 23:30:24 ЛС | профиль | цитата
Tad писал(а):
После того, что у тебя получилось, я перестал понимать, что ты хотел.

Аналогично
карма: 22

0
Ответов: 67
Рейтинг: 0
#7: 2012-11-08 05:07:24 ЛС | профиль | цитата
code_29468.txt
code_29469.txt
code_29470.txt
Вместо Edit элемента будет использоватся COM порт,хочю пообщаться с микроконтроллером.



карма: 1

0
файлы: 3code_29468.txt [1.5KB] [72], code_29469.txt [900B] [78], code_29470.txt [1.4KB] [92]
Ответов: 16884
Рейтинг: 1239
#8: 2012-11-08 08:53:45 ЛС | профиль | цитата
И в чем проблема ?
Char в Hex :
code_29471.txt

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_29471.txt [557B] [111]
Ответов: 67
Рейтинг: 0
#9: 2012-11-08 12:27:35 ЛС | профиль | цитата
Tad писал(а):
И в чем проблема ?

Да нет,это уже не проблема.Я постараюсь объяснить. Как я понимаю,контроллер передаёт Hex данные,а COM порт принимает и отправляет
информацию ввиде ASCLL кода.Т.е если я отправлю с контроллера Hex,допустим АА,COM порт выдаст строку АА и мой пример преобразует его
как реальное число 170,а не как 66,66 или Hex 41,41. Ну как то вот так.
карма: 1

0
Гость
Ответов: 17029
Рейтинг: 0
#10: 2012-11-08 13:05:34 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-10 22:07:57
карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#11: 2012-11-08 13:45:06 ЛС | профиль | цитата
85.64.240.208.dynamic.bar писал(а):
Hex данные это и есть строка ASCII символов

Если более развернуто, то HEX -- это символьное представление бинарных данных в шестнадцатиричной системе счисления.
А вот теперь вопрос -- откуда известно, что контроллер передает именно HEX строку, а не сами бинарные данные, один байт которых и есть ASCII символ в полной ASCII кодировке, со значением 0..255

Кстати, что я заметил, так это то, что у некотрых неплохих программеров возникает полная каша в голове с HEX и ASCII кодировками. Они, почему-то, уверены, что то, что они видят на экране HEX представление это и есть то, что они принимают на порт, просто исключая возможность перекодировки ASCII в HEX на уровне драйвера или программы для удобоваримого понимания пользователем. Здесь, на форуме, почему-то постоянно на этом спотыкаются.
карма: 22

0
Ответов: 8930
Рейтинг: 823
#12: 2012-11-08 14:14:38 ЛС | профиль | цитата
TICLIR, отправите на СОМ порт строку "я" он выдаст один байт (значащие биты): "11111111" (255), а если направить строку "FF", то СОМ порт выдаст ДВА байта: "01000110 01000110" (70 70)
карма: 19

0
Ответов: 67
Рейтинг: 0
#13: 2012-11-08 16:32:49 ЛС | профиль | цитата
Спасибо. И всё таки Вы меня не поняли.

карма: 1

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#14: 2012-11-08 16:43:37 ЛС | профиль | цитата
Может, вот это надо



Add(MainForm,2953706,70,63)
{
}
Add(Edit,10945129,126,63)
{
Left=10
Top=10
Width=90
Text="AF"
}
Add(Button,11516866,70,112)
{
Left=25
Top=35
TabOrder=-1
link(onClick,12907730:doConvert,[])
}
Add(Edit,14614996,182,112)
{
Left=105
Top=10
Text=""
}
Add(Convertor,12907730,126,112)
{
Mode=5
link(onResult,14614996:doText,[])
link(Data,10945129:Text,[])
}

карма: 22

0
Ответов: 67
Рейтинг: 0
#15: 2012-11-08 17:11:53 ЛС | профиль | цитата
nesco писал(а):
Может, вот это надо

Ну,конечно то что надо,только вот так
code_29474.txt
всё гениальное просто,Спасибо.
карма: 1

0
файлы: 1code_29474.txt [445B] [78]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)