usuwanie całego tekstu przed "="

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ę.

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

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"?

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

0

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

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

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