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

Вниз

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

 
laser ©   (2003-01-14 21:31) [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

получается
s1= "н"
s2= " "

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

s1= "очень "
s2= "срочно"


 
laser ©   (2003-01-14 21:34) [1]

извините вместо "крутой" слово "надо"
Правда очень надо


 
laser ©   (2003-01-14 21:52) [2]

Да я знаю, что для вас это ерунда, ну плиз


 
Mihey   (2003-01-14 22:11) [3]

Ну так конечно не правильно!

p1=pos("крутой",str);
if p1 <= 0 then exit;

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

Во первых, str[p1] в первый раз - это буква "н" из слова "надо". А далее идёт пробел, т.е. цикл прекращается. Вот и получаешь "н". Аналогично и со вторым циклом - опять находит пробел после слова надо и цикл вырубается. Используй функцию Copy или вообще разбей всё предложение на слова.


 
МитяЙ2 ©   (2003-01-14 22:16) [4]

Держи код!
Все работает.
Вообще-то не понял какие могут
быть тут проблемы.
Все элементарно!

procedure TForm1.BitBtn1Click(Sender: TObject);
const str="очень очень надо срочно";
var p1:word;
s1,s2:string;
begin
// здесь изменил
p1:=pos("надо",str)-2;
if p1 <= 0 then exit;

while str[p1]<>" " do
begin
s1:=str[p1]+s1;
dec(p1);
end;
// здесь изменил
p1:=pos("надо",str) + length("надо")+1;

// здесь изменил
while p1<=length(str) do
begin
s2:=s2+str[p1];
inc(p1);
end;


Митяй


 
МитяЙ2 ©   (2003-01-14 22:18) [5]

И заняло-то минуту у меня.



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

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

Наверх




Память: 0.48 MB
Время: 0.026 c
7-72547
Геннадий
2002-11-11 16:29
2003.01.23
Как перехватить сообщение, посланное конкретному Control у?


4-72608
Dimitry
2002-12-10 06:11
2003.01.23
Как удалить файл с помощью WinAPI?


1-72256
Ranikin
2003-01-14 16:45
2003.01.23
Как поменять класс у объекта ListView ?


3-72123
Дима2003
2002-12-31 09:41
2003.01.23
Отчёт в MS Access


8-72421
KidMan
2002-10-04 22:18
2003.01.23
OpenPictureDialog - это что издевательство?