- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
function TForm1.Pars(T_, ForS, _T: string): string;
var a, b:integer;
begin
Result := '';
if (T_='') or (ForS='') or (_T='') then Exit;
a:=Pos(T_, ForS);
if a=0 then Exit else a:=a+Length(T_);
ForS:=Copy(ForS, a, Length(ForS)-a+1);
b:=Pos(_T, ForS);
if b>0 then
Result:=Copy(ForS, 1, b - 1);
end;
Давно хотел выложить эту дуру на форум.
В чем лажа? Я подозреваю, что перегруженный оператор '=' применительно к строкам (сравнение двух строк) это вызов lstrcmp.
следовательно, POS ЧУВСТВИТЕЛЬНА к регистру!! Это значит, что функция вернет фалс, сравнивая ВоТ эТО и вот это.
Но это полбеды. Иные горемыки передают ей километровый текст в качестве шаблона - это нормально.
И потом еще кто то наивно удивляется, почему функция пропускает нужное или хватает лишнее.
Stertor 26.06.2013 15:37 # −8
Stertor 26.06.2013 17:05 # −5
Vindicar 26.06.2013 17:53 # +1
Под какую версию Делфи/Лазаруса код? Вроде перегрузки у них до 2005 не было.
>POS ЧУВСТВИТЕЛЬНА к регистру
Спасибо, Кэп.
Stertor 26.06.2013 17:57 # −4
someone 26.06.2013 17:56 # +1
Разобрат?
inkanus-gray 26.06.2013 18:01 # +2
anonimb84a2f6fd141 27.06.2013 06:45 # −1
bormand 27.06.2013 07:07 # +2
eth0 26.06.2013 18:42 # +4
Это именно то, что мы должны сказать опу-рачку.
Stertor 26.06.2013 18:56 # −1
anonimb84a2f6fd141 26.06.2013 19:04 # +1
IKing 27.06.2013 07:08 # −4
anonimb84a2f6fd141 27.06.2013 07:18 # −3
Stertor 27.06.2013 10:07 # −3
Stertor 26.06.2013 19:12 # −3
temp,str,goned,lurker:string;
temp:=' <li class="hcomment">
<div id="comment-183917" class="entry-comment-wrapper">
<p class="entry-info">
<img class="avatar" src="http://govnokod.ru/files/avatars/noavatar_28.png" alt="ava" title="Аватар" />
<strong class="entry-author"><a href="http://govnokod.ru/user/2108">eth0</a></strong>
<abbr class="published" title="2013-06-26T19:42:34+04:00">24 минуты назад</abbr>
<a href="http://govnokod.ru/13234#comment183917" name="comment183917" title="Ссылка на комментарий" class="comment-link">#</a>
<span class="comment-vote">
<strong title="0 за и 0 против">0</strong><a rel="nofollow" class="comment-vote-against" href="http://govnokod.ru/ratings/comment/183917/against" title="-1"> </a><a rel="nofollow" class="comment-vote-on" href="http://govnokod.ru/ratings/comment/183917/on" title="+1"> </a> </span>
</p>
<div class="entry-comment"><span class="comment-text">Промт переводит "pars" с французского как "уедь" (от "partir"); чуть более вменяемый перевод - "уходи".<br />
Это именно то, что мы должны сказать опу-рачку.</span></div>
<a class="answer" href="http://govnokod.ru/comments/13167/post?replyTo=183917" onclick="comments.moveForm(183917, 13167, this); return false;">Ответить</a>
</div>
<ul><li id="answerForm_13167_183917"></li></ul>';
goned:=' ,пошел на хуй';
lurker:=pars(ansilowercase('http://govnokod.ru/user/2108">'),temp,'</a');
goned:=lurker+goned;
showmessage(goned);
Stertor 26.06.2013 18:08 # −4
i,j:integer;
begin
i:=<any value>;
j:=<any value too>;
if i=j then
.....
Пример со строками:
var
str,txt:string;
begin
str:=<some string>;
txt:=<some string too>;
if str=txt then // вот тут и лажа
а вот как правильно(на мой взгляд):
if ansilowercase(txt)=ansilowercase(str) then
....