Форум: "Начинающим";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];
ВнизПочему 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;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.09 c