proszę o pomoc

2002-03-14 22:26
max
0

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

Pozostało 580 znaków

2002-03-15 08:38
kysh
0

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)&gt0 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

Pozostało 580 znaków

2002-03-15 09:37
pq
0

Skysh, z calym szacunkiem, chyba przegapiles podopis goscia: C++B...

A do wyszukiwania srednika uzylbym funkcji Pos, zamiast pisac je recznie.--Pawel

Delphi6

Pozostało 580 znaków

2002-03-15 12:21
max
0

dzięki za rady ale to było prostsze niż myslałem
a to jest kod;

int q,w;
q=StrToInt(ins-&gtText.Pos(";"));
w=StrToInt(ins-&gtText.Length());
if (q==0){lewy-&gtText=(&ins-&gtText[1]);}
if (w&gt=q,q!=0){prawy-&gtText=(&ins-&gtText[(q)+1]);}

niemam pojęcia dlaczego w dstring.h musiałem usunąć linię
ThrowIfOutOfRange(idx); aby działały poprawnie operatory != i &gt=

pozdro Max

Pozostało 580 znaków

2002-03-15 13:42
Skysh
0

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

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0