Zrób tak:
procedure TForm1.Button1Click(Sender: TObject);
var i : integer;
begin
for i:=0 to ComponentCount-1 do
if (Components[i] is TEdit) then
if (Components[i] as TEdit).Text = '' then ShowMessage('wypelnij edity');
end;
Nie wpisuj
Panel.ComponentCount-1 tylko samo ComponentCount-1
i analogicznie w innych miejscach tak samo zrób. Pozdro... [browar]
raczej Panel1 dobrze że jest bo tak wyszuka komponenty na całej formie a chyba chodzi o komponenty z Panelu 1, a tak nawiasem ja bym dał ShowMessage w begin
i do niego dopisał jeszcze exit; bo inaczej jeśli wszystkie edity będą puste to alert wyświetli się 3 razy, zamiast raz