![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Имеется код
Код:
uMem.GetAppStr(edApp.Text,StrToInt( '$'+edit1.Text + edit2.Text + edit3.Text)); Если числа, то все работает хорошо, если буквы/буквы+числа, то ошибка. Как можно исправить чтобы работало с буквами? |
|
#2
|
|||
|
|||
|
Еще интересным фактом будет то, что edit3 равен 'ED88' - буквы/числа, но не выдает ошибку при цифрах в edit2.
|
|
#3
|
|||
|
|||
|
HextToInt???
А еще есть набор тех же функций, но начинающийся с Try (TryStrToInt, например). |
|
#4
|
||||
|
||||
|
Как вариант — писать перед "буквами" нуль.
|
|
#5
|
|||
|
|||
|
Цитата:
![]() Или я что-то делаю не так? Цитата:
|
|
#6
|
||||
|
||||
|
Странно как-то, у меня вот такой код работает на ура:
Код:
var
s:string;
n:Integer;
begin
s:='0C3';
n:=StrToInt('$'+s);
ShowMessage(IntToStr(n));
end; |
|
#7
|
|||
|
|||
|
Цитата:
![]() Код:
var
i: integer;
...
i:= StrToInt('$' + edit1.Text + edit2.Text + edit3.Text);
Button1.Caption:= uMem.GetAppStr(edApp.Text,i); |
|
#8
|
||||
|
||||
|
Ну вот такое еще приходит на ум: попробуй сделать вызов так SysUtils.StrToInt
|
|
#9
|
||||
|
||||
|
Код:
s := '$'+edit1.text+edit2.test+edit3.text; i := strtoint(s); |
|
#10
|
|||
|
|||
|
Цитата:
|
|
#11
|
||||
|
||||
|
Не увидел чтоли что я опечатался и вместо text написал test?
|
|
#12
|
|||
|
|||
|
Есть ещё старая ламповая функция VAL
Код:
var
i:integer;
s:string;
c:integer;
s:='$' + 'ab0' + 'qwerty';
val(s,i,c);
if c <> 0 then begin // значит в строке есть неправильный символ
s := copy(s,1,c);
val(s,i,c);
end; |
|
#13
|
||||
|
||||
|
Цитата:
![]() |
|
#14
|
|||
|
|||
|
>Есть ещё старая ламповая функция VAL
>StrToInt именно ее и вызывает Но важно, что делать, когда в строке есть неправильные символы. StrToInt выдаёт Exception , TryStrToInt просто сообщает, что ошибка была , а у меня пытается преобразовать в число начало строки до первого ошибочного символа.![]() |