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
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));