Komponent do zarządzania danymi - Forma - Mój typ

0

Czy jest napisany już jakiś komponent, który pozwala na pobranie ze wszystkich obiektów wartości np. TDateTimePicker, TEdit i automatycznie zapisuje do moich zmiennych? Chodzi mi o cały zbiór danych - wiele na raz.

Komponent musi podstawiać dane najpierw do obiektów z moich zmiennych, potem je sprawdzać czy odpowiednio wypełnione, jeśli ok, pobiera wszystko

0

ort! się z komponentem do pobierania wartości do Twoich zmiennych ... ale polecam:

Comopnents[], ComponentCount, FindComponent, as, is, google, F1 (ale nie formuła) ...

0

dzięki :) może się coś przyda

0

w JEDI jest coś takiego - nie pamiętam dokładnie nazwy ale jest na 100%

0

Witam.
Jak można utworzyć zbiór obiektów w Delphi? Mam 100 paneli i chcę wykonywać konkretne czynności na wszystkich na raz. Np. wszystkim zmienić kolor lub jej zaznaczyć/odznaczyć. Macie jakiś pomysł?
Bardzo proszę o tłumaczenie metodą chłopską, bo nie jestem zawodowcem.

b0bik napisał(a)

Comopnents[], ComponentCount, FindComponent, as, is, google, F1 (ale nie formuła) ...

Opisz ktoś proszę jak to użyć. Przykład proszę.

Misiekd napisał(a)

w JEDI jest coś takiego - nie pamiętam dokładnie nazwy ale jest na 100%

Czy nada się do mojego problemu? I jak się w końcu nazywa?

Pozdrawiam

0

Komponenty możesz przechowywać w tablicy, wskaźniki na nie - w obiekcie typu TList, a obiekty wraz z tekstem możesz
także na przykład dodawac do TStringList i obiektów takich jak ComboBox ListBox, ListView czy Memo. Do wyszukiwania
komponentów po nazwie używasz funkcji FindComponent. Zarówno jej użycie jak i Components[Index] czy Controls albo
ComponentCount znajdziesz na mńóstwie stron w google, a opis w helpie od Delphi. Poniżej tylko prosty przykład. Bo to
w sumie jest tak banalne, że nie ma co tutaj się więcej rozpisywać i tlumaczyć, wszystko już zostalo wiele razy na tym i
forum i nie tylko omówione. W praktyce przećwicz użycie tych rzeczy sam, komputer Ci od tego raczej nie wybuchnie ;)

//...
const
  CzlonNazwyEditow = 'Edycik';

implementation

{$R *.dfm}

procedure TForm1.Edycik1KeyPress(Sender : TObject; var Key : Char);
var
  Idx : Byte;
begin
  with Sender as TEdit do
  begin
    if Key = #13 then
    begin
      Idx := Self.FindComponent(Name).Tag;
      if TEdit(Self.FindComponent(CzlonNazwyEditow + IntToStr(Idx + 1))) <> nil then
      begin
        TEdit(Self.FindComponent(CzlonNazwyEditow + IntToStr(Idx + 1))).SetFocus;
      end
      else
      begin
        TEdit(Self.FindComponent(CzlonNazwyEditow + IntToStr(1))).SetFocus;
      end;
    end;
  end;
end;

procedure TForm1.FormCreate(Sender : TObject);
var
  Idx : Byte;
  I : integer;
  Edt : TEdit;
begin
  Idx := 1;
  for I := 0 to Self.ComponentCount - 1 do
  begin
    if (Self.Components[I].ClassType = TEdit)
      and (Pos(CzlonNazwyEditow, Self.Components[I].Name) > 0) then
    begin
      Edt := TEdit(Self.Components[I]);
      Edt.Tag := Idx;
      Edt.OnKeyPress := Edycik1KeyPress;
      Idx := Idx + 1;
    end;
  end;
end;

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