вопрос по строкам в Delphi

Zipp 01.04.2004 - 14:54 | Как можно в Delphi скопировать подстроку из строки, если известно ее начало, и что заканчивается она пробелом.
интернетчик хренов 1 - 01.04.2004 - 15:25 | Найти в строке номер позиции пробела. Таким образом ты узнаешь длину подстроки и скопировать в новую строку найденное количество символов. Даааа, во что дельфи с людьми делает ... Мечта классных программеров - ткнул мышкой в пикторграмму и программа готова, блин :)).
koreshok 2 - 01.04.2004 - 18:33 | а собственно почему бы и нет ??? интересно - если бы тебе сказали следующее "вот, мальчик, держи чемоданчик набитый североамериканскими доларами и делай с ним что хочешь - живи и веселись, трать как хочешь", ты бы наверное ответил - "блин, вы че? ни за что не возьму, мне нужно зароботать эти деньги!" И еще - > Даааа, во что дельфи с людьми делает просто таки страшно подумать что С++(или в чем ты там ваяешь) с людми делает - интересно как будет работать твой алгоритм если пробел будет до начала искомой строки? :) {N- начало строки; st - строка } st := Copy(st, n, Length(st)-n); if Pos(' ', st) then st := Copy(st, 1, Pos(' ', st)); данный код не учитывает "все случаи жизни" !
dancing crap 3 - 01.04.2004 - 19:02 | 2 koreshok: правильно, лучше даже элементарные вопросы кидать на форум и ждать ответа, чем самому зарабатывать знания и понимание
интернетчик хренов 4 - 01.04.2004 - 19:04 | koreshok > интересно как будет работать твой алгоритм если пробел будет до начала > искомой строки? Это как это ? В чём проблема то ???? Искать то надо от начала позиции с которой начинается подстрока есесвенно ;)... И демагогия с долларами здесь ни причём совершенно :))
XPEH 5 - 01.04.2004 - 19:14 | Потрясающая воображение функция var S: string; I: Integer; Sub: string; N: Integer; Start: Integer; begin S := '&#206;&#228;&#232;&#237; &#228;&#226;&#224; &#242;&#240;&#232; &#247;&#229;&#242;&#251;&#240;&#229; &#239;&#255;&#242;&#252;'; Start := 6; I := Start; N := Length(S); Sub := ''; while I <= N do begin if S[I] = ' ' then begin Sub := Copy(S, Start, I - Start); Break; end; Inc(I); end; end;
XPEH 6 - 01.04.2004 - 19:15 | S := 'Один два три четыре пять';
koreshok 7 - 01.04.2004 - 19:27 | dancing crap, а как делить вопросы на "элементарные" и "не элементарные" ? т.е. если МНЕ все понятно и Я давно знаю ответ на этот вопрос - значит вопрос элементарный ? если исходить из такой логики - то все вопросы, по крайней мере в области программирования, ЭЛЕМЕНТАРНЫЕ ! "И демагогия с долларами здесь ни причём совершенно :))" "Мечта классных программеров - ткнул мышкой в пикторграмму и программа готова" - это как я понимаю глубочайшая мысль?
dancing crap 8 - 01.04.2004 - 19:50 | 2 koreshok: по-Вашему "элементарно" - это "легко" или "просто"? по-моему как раз второе. из простого состоит сложное, а легко ли это сложное понять или трудно, это уже зависит от опыта. если же человек не понимает элементарного (простого), то лучше ему стараться понять, либо заняться другим видом деятельности, потому как толк от этого всё равно не выйдет.
Deflorator 9 - 01.04.2004 - 22:15 | Ситуацыя двойственная, ибо непонятно, что подразумевается под "начало строки известно" - индекс символа начала строки или подстрока. если первое: i:=n; //n - начало строки, str - строка для поиска buffer:=''; while str[i]<>' ' do begin buffer:=buffer+str[i]; i:=i+1; end; // в переменной буффер - искомая подстрока второе: //str - строка в которой производится поиск, sub - подстрока-начало искомой строки i:=pos(sub, str); buffer:=''; while str[i]<>' ' do begin buffer:=buffer+str[i]; i:=i+1; end; ошибки есть, их не может не быть
FWP 10 - 02.04.2004 - 08:46 | #9. Ващ код действительно прост и хорош в учебных целях. Но с точки зрения производительности оставляет желать лучшего.
Deflorator 11 - 03.04.2004 - 00:08 | почему же? я думаю, он отработает быстрее, нежели ф-ии copy, delete итдитп... кажися...

>>