Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поиск слова в предложении [D4]


Spectrum2 ©   (2006-08-09 00:58:00) 

Написал процедуру поиска есть ли данное слово в предложении.
Но она не ищет слова, возращает False,похоже не пошет POS

True - есть
False-нет


{проверка}
s:='привет как дела что делаешь)))';
s2:='взрыв';
FindSlovo(s,s2);


function FindSlovo(Stroka,for_searh:string):bool; // поиск есть ли в строке это слово
var
i:integer;
begin
Result:=false;
i:=Pos(Stroka,for_searh);
if i<>0 then Result:=true;
end;


пока обхожусь громозким перебором букв  (

c:=copy(stroka,a,1);
if compareText(c,'в')=0 then begin
                            c:=copy(stroka,a+1,1);
                            if compareText(c,'з')=0 then begin


Надо для поиска мата и плохих слов
for a:=1 to conAll do begin
if FindSlovo(StreamString,MassivBadSlovo[a])=true then  begin // перебираем слова
                                                       SendLocalMessage('Banned 20min...Mat');
                                                       AddBannedTable(TekIP,20);
                                                       CloseSessionUser(TekIP);// есть попался - выкидываем


Desdechado   (2006-08-09 12:58:00) [1]

Ну, там просто спрятано приведение типов:
A value of type ByteBool, LongBool, or WordBool is considered True when its ordinalityis nonzero. If such a value appears in a context where a Boolean is expected, the compiler automatically convertsany value of nonzero ordinality to True.

И там же сказано, что "Boolean is the preferredtype"


evvcom   (2006-08-09 12:30:00) [2]

> [5] Desdechado ©   (09.08.06 12:17)

Вообще-то справка считает, что это Boolean type и все примеры с True/False


Desdechado   (2006-08-09 12:17:00) [3]

evvcom ©   (09.08.06 11:53) [4]
Это я знаю. Но это же числовой тип.


evvcom   (2006-08-09 11:53:00) [4]

> [2] Desdechado ©   (09.08.06 11:21)

BOOL = LongBool; (c) Windows.pas :)


Desdechado   (2006-08-09 11:22:00) [5]

да и результат вызова в FindSlovo(s,s2);не проверяется...


Desdechado   (2006-08-09 11:21:00) [6]

bool - это что за тип такой? Он явно не True/False


Johnmen   (2006-08-09 01:18:00) [7]

Во-первых, ты аргументы перепутал в Pos.
Во-вторых, указанного слова действительно нет в указанной фразе, т.е. False.
Ну и в-третьих, просто Result:=Pos(...)>0;


Наверх

Титульная страница Поиск, карта сайта Написать письмо