usuwanie całego tekstu przed "="

Odpowiedz Nowy wątek
Ziom
2006-11-22 19:00
Ziom
0

Jak zrobić coś takiego że w edit1 mam np. tekst "2x-3y=-1" to w edit2 było tylko to co jest za znakiem "=" (bez niego samego) czyli w tym wypadku "-1"
Za wszystkie odpowiedzi z góry dziękuję.

Pozostało 580 znaków

2006-11-22 19:20

Rejestracja: 13 lat temu

Ostatnio: 8 lat temu

0
procedure wpiszwynik;
var rownanie,wynik:string;
licznik:integer;
begin
rownanie:=edit1.text;
licznik:=1;
wynik:='';
repeat
inc(licznik);
until rownanie[licznik]='=';
repeat
inc(licznik);
wynik:=wynik+rownanie[licznik];
until licznik=length(rownanie);
edit2.text:=wynik;
end;

Ja bym to zrobił tak.

Pozdrawiam

Pozostało 580 znaków

Ziom
2006-11-22 19:25
Ziom
0

Wielkie dzięki. Ale mam jeszcze jedno pytanie:
jak mam juz w tym edit1 tekst "2-3+42=-1" to jak zrobić żeby rozbić to na takie składniki "+2" "-3" "+42"?

Pozostało 580 znaków

2006-11-22 19:34

Rejestracja: 13 lat temu

Ostatnio: 8 lat temu

0

Ja polecam Ci odczytywać kolejne znaki z równoczesnym sprawdzaniem czy są znakiem + lub - i jeśli tak to zapisywać kolejny ciąg znaków do (moim zdaniem najlepiej) tablicy elementów. Powtarzać operację aż do length(rownanie) i będziesz miał rozbite to równanie w kolejnych komórkach tablicy na fragmenty jakie chciałeś.

I nie zapomnij dodać że jeśli nie ma znaku na początku to ma dopisywać +.

Pozdrawiam

Pozostało 580 znaków

2006-11-23 07:19

Rejestracja: 13 lat temu

Ostatnio: 6 lat temu

0

co do pierwszego pytania, to bardziej elegancko jest zrobić tak:

Delete(s, 1, Pos('=', s));

<span style="color: blue">"Kolarstwo to jedna z najtrudniejszych dyscyplin sportu. Nawet najgorszy kolarz jest wciąż wybitnym sportowcem."
s.p. Marco Pantani
</span>

Pozostało 580 znaków

Odpowiedz

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