Ĺadny brzuch
Jak z pola edit1.text pobrać znajdujący się tam tekst, aby stał się zmienną a?
Jak z pola edit1.text pobrać znajdujący się tam tekst, aby stał się zmienną a?
a := StrToInt(edit1.text)
Poza tym zajrzyj do FAQ - tam masz więcej przykładów...
uświadomiłem sobię że nie tylko trzeba robić faq tylko także uczyć z niego kożystać :(
Próbowałem tak i pokazuje sie dzziwny komunikat. Sami spróbujcie
Może byś napisał coś wiecej o tym komunikacie a najlepiej wklej go tutaj albo przepisz
Użytkownik DrizeR edytował ten post 18 luty 2005, 12:34
Próbowałem tak i pokazuje sie dzziwny komunikat. Sami spróbujcie
To teraz podam Ci kolejny link do tematu przyklejonego w tym dziale: Zanim zadasz pytanie
Czytaj co jest na forum (chociaż przyklejone tematy) zanim zaczniesz pisać...
P ProJec I .e r except dM5 EConyeytError Process s use Step or Run to c
„ messaoe ds no a y neoer yalue”,
dobra opiszę ci to powierzchownie bo mi się za bardzo nie chcę rozpisywać ;)
jeżeli zrobiłeś to tak:
czyli zminna a jest typu integer (liczby) to robisz to w ten sposób ale przed tym zastanów się czy to będą liczby bo chyba w twoim przypadku będzie tekst ale to będzie w dalszej części postu
var
a: integer;
begin
a := StrToInt(edit1.text);
end;
teraz co o stringach czyli zminna typu string (łańcuch znaków czyli np: afhfgshdmfgdfuihs) oczywiście tylko 255 znaków lub AnsiString (o tym w FAQ)
var
a: string;
begin
a := (edit1.text);
end;
StrToInt to jest: str - string w skrócie to - konwertuje do int - integer
wszystko jasne??
Ps. konwersja z różnych typów zminnych także w FAQ
Użytkownik Asdef edytował ten post 18 luty 2005, 13:13
Do wpisywania liczb jest specjalna kontrolka, chyba spinedit ale nie jestem pewien... Wystarczy odczytywać jej wartość Value, poza tym oforuje ona ciekawą fukcjonalność.
poprostu przechwytujesz wyjątek(bo to się chyba tak nazywa ?):
procedure TForm1.Button1Click(Sender: TObject); var a: integer; begin if Edit1.Text <> '' then try a := StrToInt(Edit1.Text); except on EConvertError do ShowMessage('Ciąg znaków wpisany do Edit1 nie jest prawidłową liczbą całkowią!'); end; end;
Jak ktos nie zna sie na wyjąykach to proponuje bardzo łątwą funkcję
Najpierw typ
type TWartosc = record Liczba: Integer; TypuFloat: Real; end;
Potem funkcja
function CzytajWartosc(Tekst: String): TWartosc; var I: Byte; Temp: String; JestKropka: Boolean; begin Temp:=''; JestKropka:=False; Result.Liczba:=0; Result.TypuFloat:=0; for I:=1 to Length(Tekst) do begin if Ord(Tekst[I]) in [48..57] then begin Temp:=Temp+Tekst[I]; if not JestKropka then Result.Liczba:=StrToInt(Temp); Result.TypuFloat:=StrToFloat(Temp); end; if Ord(Tekst[i]) in [44,46] then begin if not JestKropka then Temp:=Temp+','; JestKropka:=True; end; end; end;
Dla tych co nie chca stracic juz wpisanej wartosci.
:lol:
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Jak z pola edit1.text pobrać znajdujący się tam tekst, aby stał się zmienną a?

a := StrToInt(edit1.text)
Poza tym zajrzyj do FAQ - tam masz więcej przykładów...

uświadomiłem sobię że nie tylko trzeba robić faq tylko także uczyć z niego kożystać :(

Próbowałem tak i pokazuje sie dzziwny komunikat. Sami spróbujcie
Może byś napisał coś wiecej o tym komunikacie a najlepiej wklej go tutaj albo przepisz
Użytkownik DrizeR edytował ten post 18 luty 2005, 12:34
Próbowałem tak i pokazuje sie dzziwny komunikat. Sami spróbujcie
To teraz podam Ci kolejny link do tematu przyklejonego w tym dziale: Zanim zadasz pytanie
Czytaj co jest na forum (chociaż przyklejone tematy) zanim zaczniesz pisać...
P ProJec I .e r except dM5 EConyeytError Process s use Step or Run to c
„ messaoe ds no a y neoer yalue”,
dobra opiszę ci to powierzchownie bo mi się za bardzo nie chcę rozpisywać ;)
jeżeli zrobiłeś to tak:
czyli zminna a jest typu integer (liczby) to robisz to w ten sposób ale przed tym zastanów się czy to będą liczby bo chyba w twoim przypadku będzie tekst ale to będzie w dalszej części postu
var
a: integer;
begin
a := StrToInt(edit1.text);
end;
teraz co o stringach czyli zminna typu string (łańcuch znaków czyli np: afhfgshdmfgdfuihs) oczywiście tylko 255 znaków lub AnsiString (o tym w FAQ)
var
a: string;
begin
a := (edit1.text);
end;
StrToInt to jest: str - string w skrócie to - konwertuje do int - integer
wszystko jasne??
Ps. konwersja z różnych typów zminnych także w FAQ
Użytkownik Asdef edytował ten post 18 luty 2005, 13:13
Do wpisywania liczb jest specjalna kontrolka, chyba spinedit ale nie jestem pewien... Wystarczy odczytywać jej wartość Value, poza tym oforuje ona ciekawą fukcjonalność.
poprostu przechwytujesz wyjątek(bo to się chyba tak nazywa ?):
procedure TForm1.Button1Click(Sender: TObject); var a: integer; begin if Edit1.Text <> '' then try a := StrToInt(Edit1.Text); except on EConvertError do ShowMessage('Ciąg znaków wpisany do Edit1 nie jest prawidłową liczbą całkowią!'); end; end;
Jak ktos nie zna sie na wyjąykach to proponuje bardzo łątwą funkcję
Najpierw typ
type TWartosc = record Liczba: Integer; TypuFloat: Real; end;
Potem funkcja
function CzytajWartosc(Tekst: String): TWartosc; var I: Byte; Temp: String; JestKropka: Boolean; begin Temp:=''; JestKropka:=False; Result.Liczba:=0; Result.TypuFloat:=0; for I:=1 to Length(Tekst) do begin if Ord(Tekst[I]) in [48..57] then begin Temp:=Temp+Tekst[I]; if not JestKropka then Result.Liczba:=StrToInt(Temp); Result.TypuFloat:=StrToFloat(Temp); end; if Ord(Tekst[i]) in [44,46] then begin if not JestKropka then Temp:=Temp+','; JestKropka:=True; end; end; end;
Dla tych co nie chca stracic juz wpisanej wartosci.
:lol: