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

Как поделить строку   Найти похожие ветки 

 
san6 ©   (2006-02-06 12:00) [0]

Че т у меня ничего не получается, надо исходную строку поделить на две, т. е. имеется например строка "фывап@sdfg". Из нее нужно получить две "фывап" и  "sdfg".
У меня пока неработающий вариант
procedure divstring(allstr, leftstr, rightstr: string; idstr: char );
 var
   i: integer;
 begin
   i:=1;
   while (i < Length(allstr)) do
     begin
       if (allstr[i] <> idstr) then
         leftstr[i]:= allstr[i]
       else
         begin
           i:= i + 1;
           while (i < Length(allstr)) do
           rightstr[i]:=allstr[i];
         end;
       i:=i+1;
     end;
 end;

idstr идентификатор по которому строка разделяется.

Заранее спасибо за ответ.


 
Sergey13 ©   (2006-02-06 12:03) [1]

Pos и Copy


 
erika ©   (2006-02-06 12:09) [2]

используй  функции pos  и copy
если  у  тебя в  качестве  разделителя   всегда  используется  @, то можешь на прямую использовать pos("@",строка), если  же  символ  разделения   возможно  будет  встречаться   и  другой, осуществи  функцию присваивания   разделительного  символа:
x:="@"; // Вместо  @ может  быть  любой  символ тебя  интерисующий
if pos(x, строка)<> 0 then begin
 st1 := copy(строка,0,pos(x, строка)-1);
 st2 := copy(строка,pos(x, строка)-1,length(строка));
end;


 
umbra ©   (2006-02-06 12:19) [3]

procedure divstring(allstr : sring; var leftres, rightres: string; idstr: char );
var
  i: integer;
begin
 i := LastDelimiter(idstr, allstr);  
 if i = 0 then exit;
 Dec(i);
 leftres :=  LeftStr(allstr, i);
 i := Length(allstr) - i - 1;
 rigtres := RightStr(allstr, i);
end;


 
san6 ©   (2006-02-06 12:20) [4]

Спасибо, сейчас попробую.


 
san6 ©   (2006-02-06 12:51) [5]

Урра, получилось. Через copy, pos


 
ViktorZ ©   (2006-02-06 20:54) [6]

а в Делфях нет такой аналога Split как в VB?



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

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



Память: 0.46 MB
Время: 0.031 c
1-1138016742
Eraser
2006-01-23 14:45
2006.02.26
Ньюанс при добавлении формы в таск бар.


8-1127121475
NightLord
2005-09-19 13:17
2006.02.26
Графические форматы


15-1139128854
vidiv
2006-02-05 11:40
2006.02.26
Фишка


6-1132258793
Иван12345
2005-11-17 23:19
2006.02.26
Передача информации о постоянной активности приложения


15-1137225791
ferr
2006-01-14 11:03
2006.02.26
XP64




   Наверх