mam pole edit do niego wpisujemy np.aaaa;ddddd
w jaki sposów podzielić string aby otrzymać
1 = aaaa i 2=ddddd
czyli 1 to co po prawej stronie średnika a 2 co polewej
c++B
dzięki
cze
Kod jest taki, ale pishe go na zywo, wiec moge sie pomylic:
Na formie niech bedom Button, Edit i Memo.
var
T :array[1..100] of String;
Str :String;
i,j :Integer;
begin
Str:=Edit1.Text;
j:=1;
while Length(Str)>0 do
begin
i:=1;
repeat
Inc(i);
until (Str[i]=';') or (i=Length(Str)) ;
T[j]:=Copy(Str,1,i-1);
Delete(Str,1,i);
Inc(j);
end;
for i:=1 to j do
Memo1.Lines.Add(T[i]);
end;
Kod jest chyba oczywisty....Copy Edit do Str. Znajdz najblizshy srednik. Skopjuj text do tablicy, bez srednika. Usun text z Str.Szukaj dalej. Wypish. Program dziala poprawnie, jesli na koncu linii tesh jest srednik. jak nie ma, to przed obliczeniami dodaj do Str srednik. :) Powodzenia.
--Delphi 4
Skysh The God, Your Slave
Skysh, z calym szacunkiem, chyba przegapiles podopis goscia: C++B...
A do wyszukiwania srednika uzylbym funkcji Pos, zamiast pisac je recznie.--Pawel
Delphi6
dzięki za rady ale to było prostsze niż myslałem
a to jest kod;
int q,w;
q=StrToInt(ins->Text.Pos(";"));
w=StrToInt(ins->Text.Length());
if (q==0){lewy->Text=(&ins->Text[1]);}
if (w>=q,q!=0){prawy->Text=(&ins->Text[(q)+1]);}
niemam pojęcia dlaczego w dstring.h musiałem usunąć linię
ThrowIfOutOfRange(idx); aby działały poprawnie operatory != i >=
pozdro Max
Niop, pomylilem :) Sorki, ale spieshylem sie....Infy som stanowczo za krotkie :) Ale kod jest na tyle prosty, ze mozna spoko skonvertowac na c++--Delphi 4
Skysh The God, Your Slave