Главная страница
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.47 MB
Время: 0.027 c
8-72411
Sam Stone
2002-10-02 18:37
2003.01.23
Форма формы...


1-72205
Magic
2003-01-09 11:50
2003.01.23
Тултипы


3-72081
Vovchik_A
2002-12-27 13:53
2003.01.23
Клик на DBGrid


9-72016
Dehan
2002-07-23 17:40
2003.01.23
Я тут поиграл в Warcraft 3


7-72545
DimaK
2002-11-11 00:14
2003.01.23
Помогите разобраться с изменением разрешения экрана