Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.26;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.046 c
2-1139808062
apl
2006-02-13 08:21
2006.02.26
Подскажите!


2-1139595605
13
2006-02-10 21:20
2006.02.26
удалить веделенный текст


4-1134166676
Volf_555
2005-12-10 01:17
2006.02.26
Ошибка при получинии первых восьми символов строки


1-1138166366
DDDeN
2006-01-25 08:19
2006.02.26
Температура CPU


15-1139143819
Cerberus
2006-02-05 15:50
2006.02.26
Можно ли по номеру телефона узнать данные абонента.