![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите как в строке чисел наитйти букву [D6, WinXP]
sergeii © (2004-07-13 10:51:00)Пользователь должен в едит вводить цифры, но скажем он ошибся и ввёл одну или несколько букв как мне найти ети буквы, чтото типо етого
p:=pos('a..z,A..Z',value);
Как ето сделать правельноЪ
Mim1 (2004-07-13 13:18:00) [1]
'0'..'9'ессно
Mim1 (2004-07-13 13:17:00) [2]
var i:integer;
s:string;
begin
s := '343l345';
for i:= 1 to length(s) do
if s[i] in ['a'..'z','*','A'..'Z'] then
ShowMessage(inttostr(i));
end;
хотя наоборотif not (s[i] in ['0'..'1','.',',']) thenимхо красивее
REA (2004-07-13 13:11:00) [3]Там где точка там и "+-E"
Anatoly Podgoretsky (2004-07-13 12:18:00) [4]Если в слове только цифры, то это означает, что в слове нет других символов кроме цифр.
Digitman (2004-07-13 12:04:00) [5]
> Пользователь должен в едит вводить цифры
по последнему постановлению ЦК ВЦСПС символ .(точка) , очевидно, тоже стал считаться "цифрой"
Ega23 (2004-07-13 11:14:00) [6]Тебе не кажется, что лучше перечислить все РАЗРЕШЁННЫЕ символы?
Что-то вроде:
procedure TFExtSearch.ePWeightKeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9',#8, DecimaleSeparator]) then Key:=#0;
end;
sergeii (2004-07-13 11:10:00) [7]да
Ega23 (2004-07-13 11:08:00) [8]Кроме БУКВ у тебя могут быть спец.символы, типа /'\?!$%@*(
Их ты тоже все перечислять будешь?
sergeii (2004-07-13 11:06:00) [9]тогда спрошу подругому как в строке наити буквы???
:))))
Ega23 (2004-07-13 11:04:00) [10]sergeii © (13.07.04 11:02) [5]
Ну, батенька, а DecimaleSeparator тебе на что дан?
sergeii (2004-07-13 11:02:00) [11]С procedure Val(S; var V; var Code: Integer); всё хорошо только она хорошо понимает число 123.123 но ни понимает что 123,123 ето число, ето всио зависит от системныь установок ето не очень хорошо.
Max Ivanych (2004-07-13 11:01:00) [12]не проше ли взять MaskEdit и задать соответствующую маску?
Ega23 (2004-07-13 10:56:00) [13]Есть такая штука:
procedure Val(S; var V; var Code: Integer);
S - строка,
V - число,
Code - если конвертация строки в число прошла успешно, то 0, если нет - позиция в строке, на которой произошла ошибка.
sergeii (2004-07-13 10:56:00) [14]а есле надо просто проверять?
Рамиль (2004-07-13 10:53:00) [15]надо бороться с причиной, а не следствиями.
не позволяй вводить буквы.