Вниз
Скачать: 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.01 c
1-12385
DarkBox
2004-02-25 07:14
2004.03.05
StayOnTop


1-12323
Batoon
2004-02-22 20:22
2004.03.05
ListBox


1-12343
Sungod
2004-02-22 13:36
2004.03.05
ShellTreeView отбражение файлов определённого типа


1-12317
RomCom
2004-02-21 07:05
2004.03.05
RichEdit и OEM_CHARSET


1-12438
md
2004-02-23 12:20
2004.03.05
ListBox




   Наверх