Вниз
Скачать: CL | DM;

Вопрос по функции pos   Найти похожие ветки 

← →
Дельфятник   (2004-02-24 15:57) [0]

У меня есть функция проверки наличия цифры в строке, в которой используется функция pos. Сама функция выглядит так:

function ThereIsDigit(s: String): Boolean;
begin
Result:=(pos(s,"0")>0) or (pos(s,"1")>0) or (pos(s,"2")>0) or
(pos(s,"3")>0) or (pos(s,"4")>0) or (pos(s,"5")>0) or
(pos(s,"6")>0) or (pos(s,"7")>0) or (pos(s,"8")>0) or (pos(s,"9")>0)
end;

Проблема состоит в том, что для строки "New 760" (и не только для этой строки) эта функция возвращает значение False. Как справиться с этой проблемой?


← →
Владислав ©   (2004-02-24 16:01) [1]

Может хелп по Pos прочитать?


← →
Dimka Maslov ©   (2004-02-24 16:03) [2]

Во первых - сначала подстрока, потом строка, а во вторых..., я промолчу, а то пост удалят


← →
Anatoly Podgoretsky ©   (2004-02-24 16:06) [3]

Справка в данном случае очень бы помогла.


← →
jack128 ©   (2004-02-24 16:08) [4]


> а во вторых..., я промолчу, а то пост удалят
Ну кривовато реализованно, конечно, но ведь человек учится..


> Дельфятник (24.02.04 15:57)

Попробуй так
function ThereIsDigit(s: String): Boolean;
var
i: integer;
begin
Result := False;
for i := 1 to Length(s) do
if (s[i] >= "0") and (s[i] <= "9") then
begin
Result := True;
Exit;
end;
end


← →
MBo ©   (2004-02-24 16:08) [5]

result:=False;
for i:=1 to Length(s) do
if s[i] in ["0".."9"] then begin
result:=True;
break;
end;


← →
Дельфятник   (2004-02-24 16:17) [6]

Проблема решена. Всем большое спасибо!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
6-12468
god
2003-12-29 11:17
2004.03.05
Ping Time


1-12362
Elritar
2004-02-25 05:05
2004.03.05
Nested COM objects (непереводимый диалект)


4-12573
SH
2003-12-29 13:36
2004.03.05
Как связать ветки TreeView c полями записи


4-12580
Marco
2003-12-26 22:33
2004.03.05
Named pipes


1-12400
Ivolg
2004-02-24 16:29
2004.03.05
Memo




   Наверх