Вниз
Скачать: CL | DM;

помогите пожалуйста разобрать (что-то не работает)   Найти похожие ветки 

 
laser ©   (2003-01-17 15:05) [0]

const str="Помогите пожалуйста разобрать";
var
p1:word;
s1,s2:string;
begin
p1=pos("пожалуйста",str);
if p1 <= 0 then exit;

while(str[p1] <> " ")
begin
s1:=s1+str[p1];
dec(p1);
end
p1:=pos("пожалуйста",str) + length("пожалуйста");

while(str[p1] <> " ")
begin
s2:=s2+str[p1];
inc(p1);
end

Result:
s1 = "п"
s2 = " "

,а должно быть

s1 = "помогите"
s2 = "разобрать"



 
MBo ©   (2003-01-17 15:12) [1]

Сколько раз уже будешь спрашивать?
with TStringList.Create do begin
CommaText:=str;
s1:=Strings[0];
s2:=Strings[2];
Free;
end;


 
Th ©   (2003-01-17 15:13) [2]

я бы сделал так:

const str="Помогите пожалуйста разобрать";
var buf: string;
p1: integer;
begin
buf:=str;
p1=pos("пожалуйста",buf);
if p1 <= 0 then exit;

delete(buf,p1,length("пожалуйста"));
s1:=copy(buf,1,p1-1);
s2:=copy(buf,p1,length(buf)-p1+1);

Что касается твоего кода, то корректно было бы условия циклов такими сделать:
while p1>0
и
while p1<=length(str)
end;


 
Skier ©   (2003-01-17 15:14) [3]

const
str="Помогите пожалуйста разобрать";
StrToCheck = "пожалуйста";
var
ADstStr : String;
begin
ADstStr := StringReplace(str, StrToCheck, "", []);
ShowMessage(ADstStr);
end;


 
Игорь Шевченко ©   (2003-01-17 15:20) [4]

В школу!
Абсолютно ошибочный код!


 
Игорь Шевченко ©   (2003-01-17 15:22) [5]

Имеется в виду, естественно, код в вопросе :-)



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
4-87211
ProtoSoft
2002-12-05 01:32
2003.01.27
А теперь може кто расскажет, как организовать вот такие вещи:


3-86643
E_dimon
2003-01-03 22:49
2003.01.27
TUtil32.dll Исправление ошибок-Paradox


14-87079
Temp
2003-01-08 12:52
2003.01.27
Записные книжки


14-87125
^Sanya
2003-01-09 09:03
2003.01.27
Как ник сменить?????


1-86956
Igit
2003-01-17 10:08
2003.01.27
Загрузка картинки в Imageshow




   Наверх