ďťż

Ł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
  •