Форум: "Начинающим";
Текущий архив: 2014.01.05;
Скачать: [xml.tar.bz2];
Внизсимвол: byte , из edit Найти похожие ветки
← →
Jonis_84 (2013-03-11 10:38) [0]Доброго врмени суток!Помогите пожалуйста,как из edit передать в ORD()
Var C:Byte;
begin
c:=Ord( ??????? (Edit1.Text));
label1.caption:=IntToStr(c);
← →
brother © (2013-03-11 10:39) [1]c:=Ord(Edit1.Tex[1]));
?
← →
Jonis_84 (2013-03-11 10:46) [2]Почему разные значения
c:=Ord(Edit1.Text[1]);
ввожу м = 69c:=Ord("м");
= 236
← →
Jonis_84 (2013-03-11 10:55) [3]почему значения разные понял.Как в Ord(string) запихать
чтото вроде
var c:Byte;
str:string;
begin
str:=("м")
c:=Ord(str)
← →
brother © (2013-03-11 11:05) [4]я не знаю о чем ты...
← →
RWolf © (2013-03-11 11:29) [5]код символа «м» в ANSI именно 236, а не 69.
← →
Ega23 © (2013-03-11 12:27) [6]
procedure TForm35.Button1Click(Sender: TObject);
begin
Edit1.Text := "м";
Label1.Caption := IntToStr(Ord(Edit1.Text[1]));
end;
1084. Такие дела.
← →
Smile (2013-03-11 14:01) [7]> Jonis_84 (11.03.13 10:38)
Поделись секретом о том, что у тебя в Edit1?
Возможно сразу найдется и ответ на твой, недостаточно корректно, заданный вопрос
← →
sniknik © (2013-03-11 14:10) [8]> запихать чтото вроде
вместо str:string; напиши str:char;
> 1084. Такие дела.
это чудо... у тебя наверное дельфи с юникодом? ;)
← →
Ega23 © (2013-03-11 14:15) [9]
> это чудо... у тебя наверное дельфи с юникодом? ;)
Как у тебя пальцы повернулись напечатать-то такое? И куда модератор смотрит?
← →
RWolf © (2013-03-11 14:19) [10]судя по полученному результату, топикстартер пользуется неюникодной версией Дельфи.
← →
Ega23 © (2013-03-11 14:27) [11]
> судя по полученному результату, топикстартер пользуется
> неюникодной версией Дельфи.
Не факт, он результат Ord к байту приравнивает. А это будет 60. И склонен я подозревать, что 69 - это очепятка, у него 60 было.
Как-то так.
← →
Jonis_84 (2013-03-11 19:37) [12]Все это конечно хорошо но появился и 3-й результат
1.=236
c:=Ord("м");
label1.caption:=IntToStr(C);
2.в Edit ввожу = м = 69
c:=Ord(Edit1.Text[1]);
label2.caption:=IntToStr(C);
3.
Edit1.Text := "м";
Label1.Caption := IntToStr(Ord(Edit1.Text[1]));
= 1084
??????????????????????????????????????????????????????????????
← →
bems © (2013-03-11 20:03) [13]символ уже не байт, это слово. но бери integer, не промахнешься
← →
Jonis_84 (2013-03-11 20:19) [14]Требуется:
В Edit вводим символ -> получаем его 10-й код и на оброт.
требуется поддержка RU раскладки и перед тем как символ выводится в Label ,он должен быть сохранён в переменную Integer c возможностью её дальнейшего изменения
← →
brother © (2013-03-11 20:21) [15]> получаем его 10-й код и на оброт.
символ млжет быть только один введен? причем тут лэйбол?
← →
Jonis_84 (2013-03-11 20:30) [16]в Label выводим его 10-й код
← →
Jonis_84 (2013-03-11 20:31) [17]в edit2 вводим код и получаем символ в label2
← →
Ega23 © (2013-03-11 20:52) [18]Я хоть убей не понимаю, как у тебя 69 получается.
И версию Delphi было бы неплохо указать.
← →
Jonis_84 (2013-03-11 21:13) [19]rad xe3
← →
Jonis_84 (2013-03-11 21:18) [20]
> Я хоть убей не понимаю, как у тебя 69 получается.
> И версию Delphi было бы неплохо указать.
Прости, 60 не вижу уже))))
← →
Ega23 © (2013-03-11 21:41) [21]
> rad xe3
> Прости, 60 не вижу уже))))
Всё просто. коли XE, то у тебя unicode. И Edit1.text[1] - это не однобайтовый AnsiChar, а двубайтовый UnicodeChar. Отсюда -procedure TForm35.Button1Click(Sender: TObject);
begin
Edit1.Text := "м";
Label1.Caption := IntToStr(Ord(Edit1.Text[1]));
end;
Результат - 1084.
Теперь ты 1084 (в двоичной - 100.0011.1100) пытаешься запихнуть в байт. Соответственно, получаешь 0011.1100 в двоичной, что равно 60 в десятичной.
← →
Jonis_84 (2013-03-11 21:56) [22]Спасибо,отличная строчка,то что надо.
Label1.Caption := IntToStr(Ord(Edit1.Text[1]));
Подскажите пожалуйста ,а как в обратном порядке 1084=м
← →
Ega23 © (2013-03-11 22:14) [23]Char(StrToInt(Edit2.text))
← →
Ega23 © (2013-03-11 22:15) [24]Только дуракозащиту не забудь включить.
Ну там TryStrToInt, например
← →
Jonis_84 (2013-03-11 22:21) [25]спс,работает,а с 10-й системой аналогично?
← →
Ega23 © (2013-03-11 22:32) [26]
> а с 10-й системой аналогично?
Товарищ. У тебя есть три ракушки. Ты можешь сказать: "У меня есть три ракушки", "У меня есть 3 ракушки", "У меня есть 11 ракушек (в двоичной системе)", "У меня есть 10 ракушек (в троичной системе)", "У меня есть three ракушки (на аглицком)", или "У меня есть драй ракушек на немецком".
Количество ракушек у тебя при этом не изменится, изменится только то, как ты это количество назвал собеседнику.
Вот ровно то же самое и с байтами. "Внутре" - это набор единичек и нулей. Как ты его будешь интерпретировать - это твоё личное дело, набор от этого никак не изменится.
← →
Jonis_84 (2013-03-11 22:51) [27])))Спасибо
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2014.01.05;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.002 c