Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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]); ввожу м = 69
c:=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.

c:=Ord("м");
label1.caption:=IntToStr(C);
=236
2.

c:=Ord(Edit1.Text[1]);
label2.caption:=IntToStr(C);
в Edit ввожу = м = 69
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
15-1374042598
Юрий
2013-07-17 10:29
2014.01.05
С днем рождения ! 16 июля 2013 вторник


2-1363085015
ttt
2013-03-12 14:43
2014.01.05
Добавить ContextMenu в подменю попупа


15-1374265802
Юрий
2013-07-20 00:30
2014.01.05
С днем рождения ! 20 июля 2013 суббота


15-1374054402
[ВладОшин]
2013-07-17 13:46
2014.01.05
Вроде FlushBuffer для dbms_output.put_line


15-1373615056
Очень Злой
2013-07-12 11:44
2014.01.05
Типа пятничная задачка





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский