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

Вниз

Почему Pos выдает 0?   Найти похожие ветки 

 
asdfa   (2008-01-31 15:18) [0]

str = "14*0,5 2 v";

Pos(" ", str) = 0;

В чем может быть дело?


 
Palladin ©   (2008-01-31 15:19) [1]

в чем угодно, пока не предоставишь полный код ответа не получишь


 
asdf ©   (2008-01-31 15:25) [2]


> Palladin ©   (31.01.08 15:19) [1]

зачем полный код? Я проверял - именно такая строка и передается, причем StringReplace(str, " "... - работает на этой строке!


 
Palladin ©   (2008-01-31 15:29) [3]

да мне пофиг как ты проверял, я твоим проверкам абсолютно не доверяю, я доверяю тому, что при прочих равных условиях пустой проект с кодом

str:="14*0,5 2 v"
ShowMessage(IntToStr(Pos(" ",str)))

выдаст 7
а все отличные значения это плод твоего больного воображения


 
Галинка ©   (2008-01-31 15:35) [4]

наверное пробел в начале строки стоит. Поробуй типа:
Pos(" ", Trim(str));


 
Плохиш ©   (2008-01-31 15:39) [5]


> Галинка ©   (31.01.08 15:35) [4]
> наверное пробел в начале строки стоит.

В паскале и делфи нумерация строк начинается с 1.


 
Anatoly Podgoretsky ©   (2008-01-31 15:43) [6]

Бред искать пустой символ в строке.


 
Palladin ©   (2008-01-31 15:43) [7]

Это не пустой символ :) это пробел. только очень маленький :)


 
Anatoly Podgoretsky ©   (2008-01-31 15:45) [8]

> Palladin  (31.01.2008 15:43:07)  [7]

Ну тогда и результат маленький, а у автора язык отрезали.


 
asdf ©   (2008-01-31 15:55) [9]


> Anatoly Podgoretsky ©   (31.01.08 15:45) [8]

когда нечего сказать я молчу


 
DrPass ©   (2008-01-31 16:09) [10]


> Галинка ©   (31.01.08 15:35) [4]
> наверное пробел в начале строки стоит

А символы в строке же с 1 нумеруются


 
DrPass ©   (2008-01-31 16:11) [11]


> asdf ©   (31.01.08 15:25) [2]
>
> > Palladin ©   (31.01.08 15:19) [1]
>
> зачем полный код?

Затем, что скорее всего, у тебя Pos работает нормально, а ты просто неправильно проверяешь. Даже не "скорее всего", а "однозначно"


 
Palladin ©   (2008-01-31 16:12) [12]


> у тебя Pos работает нормально,

да может у него и вообще Pos свой... "оптимизированный"...


 
asdf ©   (2008-01-31 16:14) [13]


> DrPass ©   (31.01.08 16:11) [11]


 if Pos(" ", TmpStr) > Pos("-", TmpStr) then
   LenStandSize := Pos("-", TmpStr)
 else
   LenStandSize := Pos(" ", TmpStr);

ну и как я тут могу ошибиться?


 
turbouser ©   (2008-01-31 16:17) [14]


> asdf ©   (31.01.08 16:14) [13]
>
>
> > DrPass ©   (31.01.08 16:11) [11]
>
>
>  if Pos(" ", TmpStr) > Pos("-", TmpStr) then
>    LenStandSize := Pos("-", TmpStr)
>  else
>    LenStandSize := Pos(" ", TmpStr);
>
> ну и как я тут могу ошибиться?

Смешно %)
Если Pos("-", TmpStr)=0, то и LenStandSize будет =0, т.к. Pos(" ", TmpStr) > 0


 
Palladin ©   (2008-01-31 16:19) [15]

а теперь пожалуйста пропиши функцию

Function StrToByteCode(Const s:String):String;
Var
i:Integer;
Begin
Result:="";
For i:=1 to Length(s) To Result:=Result+"#"+IntToStr(Byte(s[i]));
End;

а потом пропиши пожалуйста перед первым if"ом
ShowMessage(StrToByteCode(TmpStr));
ShowMessage(StrToByteCode(" "));

и посмотри что же в строке на самом деле


 
Palladin ©   (2008-01-31 16:20) [16]


>  [14] turbouser ©   (31.01.08 16:17)

точно... все... пиво ударило в голову, ибо такую тупость не увидеть...
пошел домой...


 
Palladin ©   (2008-01-31 16:21) [17]

а еще, мля, спрашивает зачем весь код... песец...


 
clickmaker ©   (2008-01-31 16:23) [18]

может, это не пробел, а #255?


 
Anatoly Podgoretsky ©   (2008-01-31 16:24) [19]

И зачем Четыре поиска, что нельзя было двумя обойтись?


 
Palladin ©   (2008-01-31 16:24) [20]


> [18] clickmaker ©   (31.01.08 16:23)

все гораздо проще, у чувака с логикой проблемма...


 
asdf ©   (2008-01-31 16:24) [21]


> clickmaker ©   (31.01.08 16:23) [18]

а це шо?


 
umbra ©   (2008-01-31 16:24) [22]

а может в строке пробелов нет?


 
Anatoly Podgoretsky ©   (2008-01-31 16:25) [23]


> может, это не пробел, а #255?

А может 160.
И еще много может.
Я уже про язык писал, так видимо еще и отладчика нет.


 
asdf ©   (2008-01-31 16:33) [24]

#49#54#42#50#42#48#44#53#32#50#48#48
16*2*0,5 200

Pos = 0!


 
turbouser ©   (2008-01-31 16:39) [25]


> asdf ©   (31.01.08 16:33) [24]

procedure TForm1.Button1Click(Sender: TObject);
const
 S = "16*2*0,5 200";
begin
 ShowMessage(IntToStr(Pos(" ", s)));
end;


Что видим? Правильно - 9.


 
Сергей М. ©   (2008-01-31 16:40) [26]


> asd


Не надо уже трындеть.

procedure TForm1.Button1Click(Sender: TObject);
var
 str: String;
begin
str:= "14*0,5 2 v";
ShowMessage(IntToStr(Pos(" ", str)));
end;


Выдает 7


 
Palladin ©   (2008-01-31 16:40) [27]


> [24] asdf ©   (31.01.08 16:33)

слушай, гений, ты [14] turbouser ©   (31.01.08 16:17) внимательно прочитал?


 
asdf ©   (2008-01-31 16:43) [28]


> Palladin ©   (31.01.08 16:40) [27]

конечно


 
Palladin ©   (2008-01-31 16:43) [29]

а выводы сделал?


 
Плохиш ©   (2008-01-31 16:43) [30]


> asdf ©   (31.01.08 16:43) [28]
> конечно

И что ты там понял?


 
asdf ©   (2008-01-31 16:46) [31]


> Palladin ©   (31.01.08 16:43) [29]

да


> Плохиш ©   (31.01.08 16:43) [30]

что надо внимательнее быть, и вам, мастера, тоже.


 
Плохиш ©   (2008-01-31 16:49) [32]


> asdf ©   (31.01.08 16:46) [31]

Это ты сейчас с кем и о чём разговаривал?


 
Сергей М. ©   (2008-01-31 16:49) [33]


> asdf ©   (31.01.08 16:46) [31]


Ну ты и говнюк, однако !

см. [26]

Исх.данные были скопипастены из твоего изначального поста, результат выдал не 0, а 7

И что ты тут при этом усераешься-доказываешь ?)


 
Palladin ©   (2008-01-31 16:49) [34]

Да это он на меня наехал :) [15][16]


 
Palladin ©   (2008-01-31 16:51) [35]


> [33] Сергей М. ©   (31.01.08 16:49)

результаты были еще до [26] прямо в [3] :) но настоящий мужик никогда не признает себя неправым! :))


 
Dennis I. Komarov ©   (2008-01-31 16:51) [36]

ССЗБ


 
Сергей М. ©   (2008-01-31 16:52) [37]


> Palladin ©   (31.01.08 16:51) [35]
>
>


Так точно, сэр)


 
asdf ©   (2008-01-31 16:55) [38]

Эка раскипятились. Прям и ошибиться нельзя, строгие какие.


 
asdf ©   (2008-01-31 16:56) [39]


> Сергей М. ©   (31.01.08 16:49) [33]

все же так:
И что ты тут при этом усираешься-доказываешь ?)



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

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

Наверх




Память: 0.55 MB
Время: 0.02 c
2-1200299984
dr_creigan
2008-01-14 11:39
2008.02.24
вырубание процессов


2-1201539338
leonidus
2008-01-28 19:55
2008.02.24
Проверка уникальности записи


11-1184395850
Thaddy
2007-07-14 10:50
2008.02.24
kol-ce question


2-1201872603
bunchuk
2008-02-01 16:30
2008.02.24
ошибка при выполнение программы написанной на Delphi


15-1201078339
Still Swamp
2008-01-23 11:52
2008.02.24
Как побороть беду с кодировкой?