With
With - instrukcja wiążąca
Instrukcja with jest przeważnie używana wraz z rekordami lub obiektami. Nie pełni ona żadnej znaczącej roli ? uwalnia za to programistę od pisania zbędnego kodu. Załóżmy, że program zawiera następujący rekord:
Prawidłowe wypełnienie rekordu jest przedstawione poniżej:
Rec.X := 12;
Rec.Y := 24;
Rec.Imię := 'Jan';
Rec.Nazwisko := 'Kowalski';
Rec.Wiek := 20;
Dzięki zastosowaniu instrukcji wiążącej with kod ten można skrócić do następującej postaci:
Instrukcja with jest bardzo często używana przy tworzeniu dynamicznych obiektów, głównie okien. Zamiast pisać:
można napisać:
Użycie "with" przysłania funkcje o identycznych nazwach w danym module, przez co dostęp do formularza i innych obiektów nadrzędnych jest tylko przez nazwę bądź self..
NP :
Zobacz też:
Instrukcja with jest przeważnie używana wraz z rekordami lub obiektami. Nie pełni ona żadnej znaczącej roli ? uwalnia za to programistę od pisania zbędnego kodu. Załóżmy, że program zawiera następujący rekord:
Prawidłowe wypełnienie rekordu jest przedstawione poniżej:
Rec.X := 12;
Rec.Y := 24;
Rec.Imię := 'Jan';
Rec.Nazwisko := 'Kowalski';
Rec.Wiek := 20;
Dzięki zastosowaniu instrukcji wiążącej with kod ten można skrócić do następującej postaci:
Instrukcja with jest bardzo często używana przy tworzeniu dynamicznych obiektów, głównie okien. Zamiast pisać:
procedure Foo;
var
F: TForm;
begin
F := TForm.Create(Self);
F.Top := 40;
F.Left := 57;
(...)
F.Show;
end;
var
F: TForm;
begin
F := TForm.Create(Self);
F.Top := 40;
F.Left := 57;
(...)
F.Show;
end;
można napisać:
Uwaga
Użycie "with" przysłania funkcje o identycznych nazwach w danym module, przez co dostęp do formularza i innych obiektów nadrzędnych jest tylko przez nazwę bądź self..
NP :
var
Obszar : Trect;
.....
With Obszar do
Left := 20; // Ustala left zmiennej "Obszar" a nie np Formy
Top := 10;
end;
Obszar : Trect;
.....
With Obszar do
Left := 20; // Ustala left zmiennej "Obszar" a nie np Formy
Top := 10;
end;
Zobacz też:



Dokument.Szukaj('<jakis tag>').Szukaj('<inny tag>').SzukajAtrybutu(' atrubut2').WyswietlZawartosc;
Dokument.Szukaj('<jakis tag>').Szukaj('<inny tag>').SzukajAtrybutu(' atrubut3').WyswietlZawartosc;
Dokument.Szukaj('<jakis tag>').Szukaj('<inny tag>').SzukajAtrybutu(' atrubut4').WyswietlZawartosc;
można to samo zapisać tak:
begin
SzukajAtrybutu('atrubut1').WyswietlZawartosc;
SzukajAtrybutu('atrubut2').WyswietlZawartosc;
SzukajAtrybutu('atrubut3').WyswietlZawartosc;
SzukajAtrybutu('atrubut4').WyswietlZawartosc;
end;
w ten sposób nie musimy czekać na kilkukrotne przetworzenie metody Szukaj tylko operujemy na wcześniej zwróconym rezultacie