Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа со Strings [D6, Win95/98]


Metotrone ©   (2002-09-22 18:59:00) 

Как, имея

S:=" qqqqqqqqqqqq:wwwwwwwww "

сделать, чтобы S1 и S2 были:

S1:="qqqqqqqqqqqq"
S1:="wwwwwwwww"

причем, если я изничально не знаю, где будет двоеточие ?


Ihor Osov'yak   (2002-09-22 20:25:00) [1]

как вариант

//s:="fffdsgdfshsf:rrrrrrrfgjghjghgjshsgh";

var p:integer;

...

p:= Pos(":",s);
if pos>0 then begin
s1:=copy(s, 0, p-1);
s2:=copy(s, p+1, length(s)-p));
// хотя тут можно вместо length(s)-p)
// просто length(s) :-)

end
else begin
s1:=s; s2:="";
end



s1:=copy(s, 0, pos(":",s)-1);
s2:=copy(s, pos(":",s)+1, length(s)-pos(":",s));



другой

var i:integer;
wasSeparator:boolean;
...

wasSeparator := false; s1:=""; s2:="";
for i:=1 to length(s) do begin
case s[i] of
":"wasSeperator := true;
else begin
if wasSeparator then s2:=s2+s[i] else s1:=s1+s[i];
end
end


вариант третий - сам бог велел такие вещи на BASM делеть, но влом счас делфи запускать - а "вслепую" могу и ошибочный код толкануть


TTCustomDelphiMaster   (2002-09-22 19:54:00) [2]


> причем, если я изничально не знаю, где будет двоеточие ?


Shadow ©
MsGuns ©

Тут с месяц назад такая ветка была про безопасный код. Все в пустую.


Metotrone   (2002-09-22 19:45:00) [3]

EveryBody.Thanks.A.Lot:=Much.Obliged


MsGuns   (2002-09-22 19:41:00) [4]

>MsGuns © (22.09.02 19:38)
>s1 := Copy(s,1,Pos(":",s)-1,Pos(":",s)-1);
Ошибка ! Не успел исправить, как клацнул по "Добавить" - см. у Shadow © (22.09.02 19:36)


MsGuns   (2002-09-22 19:38:00) [5]

s1 := Copy(s,1,Pos(":",s)-1,Pos(":",s)-1);
s2 := Copy(s,Pos(":",s)+1,Length(s)-Pos(":",s));


Shadow   (2002-09-22 19:36:00) [6]

procedure TForm1.Button1Click(Sender: TObject);
var
s,s1,s2: String;
begin
s:="fffdsgdfshsf:rrrrrrrfgjghjghgjshsgh";
s1:=copy(s, 0, pos(":",s)-1);
s2:=copy(s, pos(":",s)+1, length(s)-pos(":",s));
end;


Metotrone   (2002-09-22 19:14:00) [7]

Ok.Спасибо:=)


Song   (2002-09-22 19:08:00) [8]

Поподробней в хэлпе.


Metotrone   (2002-09-22 19:06:00) [9]

Please подробнее I.didn"t.catch


Song   (2002-09-22 19:00:00) [10]

Через Pos() и Copy()


Наверх

Титульная страница Поиск, карта сайта Написать письмо