Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.04;
Скачать: CL | DM;

Вниз

Помогите оптимизировать код.   Найти похожие ветки 

 
andruxa ©   (2003-08-20 14:35) [0]

Функция проверяет есть ли в строке буквы,
если нет то возвращает исходную строку,
если есть то пустую строку.

function CheckStr(str:string):string;
var i,j:integer;
k:boolean;
const
a:array[1..10] of char = ("0","1","2","3","4","5","6","7","8","9");
begin
if str<>"" then
begin
result:=str;
if str[1]="0" then result:="";
for i:=1 to length(str) do
begin
k:=false;
for j:=1 to 10 do
begin
if str[i]=a[j] then k:=true;
end;
if not k then begin result:=""; break; end;
end;
end;
end;


 
HolACost! ©   (2003-08-20 14:39) [1]

Можно через множества!


 
Vlad ©   (2003-08-20 14:41) [2]

function CheckStr(str:string):string;
begin
Result:="";
if UPPERCASE(Str)<>LOWERCASE(Str) then Result=Str;
end;


 
andruxa ©   (2003-08-20 14:42) [3]

как это. какие функции. названия хоть . я сам в хелпах погляжу.
просто незнаю за что цепляться.


 
Vlad ©   (2003-08-20 14:42) [4]

Пардон, должно быть
if UPPERCASE(Str)= LOWERCASE(Str) then Result=Str;


 
REP ©   (2003-08-20 14:44) [5]

Begin
Result:=Str;
For i:=0 To Length(Str) do begin
If (Str[i]<#48) or (Str[i]>#57) Then begin
Result:="";
Break;
end;
end;
end;


 
Skier ©   (2003-08-20 14:49) [6]

function CheckStr(const ASourceStr:string) : string;
var
ii : Integer;
ALetterWasNotFound : Boolean;
begin
Result := EmptyStr;
ALetterWasFound := True;
for ii := 1 to Length(ASourceStr) do begin
if ASourceStr[ii] in ["А".."Z", "a".."z"] then begin
ALetterWasNotFound := False;
Break;
end; //if
end; //for
if ALetterWasNotFound then Result := ASourceStr;
end;

Условие для in поправить если требуется...


 
REP ©   (2003-08-20 14:49) [7]

Vlad © (20.08.03 14:42) [4]
Тогда уж AnsiUpperCase

Но при этом не проверяются всякие точки, двоеточия и пр. я понял нужно проверить челое число или нет?


 
Крот ©   (2003-08-20 14:51) [8]

IsCharAlpha, IsCharAlphaNumeric


 
REP ©   (2003-08-20 14:52) [9]

Если так то может:
Try
Result:=IntToStr(StrToInt(Str));
Except
Result:="";
end;


 
andruxa ©   (2003-08-20 14:53) [10]

Я несколько не так объяснил. мне нужно чтобы строка проверялась на цифры. чтобы цифры оставались если нет букв.


 
Skier ©   (2003-08-20 14:55) [11]

>andruxa © (20.08.03 14:53) [10]
Крут ! Ты своё условие внимательно читал ?!


 
Vlad ©   (2003-08-20 14:57) [12]

Сорри, не внимательно код прочитал.
Тогда действительно, проще - REP © (20.08.03 14:52) [9]



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

Текущий архив: 2003.09.04;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.014 c
14-10922
Guchie
2003-08-17 22:14
2003.09.04
Что с RSDN.RU ??? У меня не заходит?


11-10660
microlab
2002-12-28 21:11
2003.09.04
Работа с компонентом TreeView в KOL


1-10687
Delpher_Gray
2003-08-20 19:20
2003.09.04
Тормоза в программе !!


3-10616
stud
2003-08-13 12:08
2003.09.04
права доступа к базе


8-10844
dronas555
2003-05-06 12:08
2003.09.04
Формат BMP