Jeżeli koniecznie chcesz wyczyścić cały rekord za jednym zamachem, to możesz to zrobić w taki sposób
FillChar(ob, SizeOf(ob), 0);
Ta procedura wypełnia zerami cały obszar pamięci zajęty przez zmienną ob typu rekordowego. Funkcja **SizeOf **podaje rozmiar pamięci zajmowanej przez zmienną. Co prawda polu b, które zawiera tekst nie jest przypisywany łańcuch pusty, ale jest ustawiana jest jego długość na zero, co w efekcie daje ten sam rezultat.
Jest jednak małe ale. Jest to operacja potencjalnie niebezpieczna, gdyż nie jest przeprowadzana żadna kontrola zakresów i można wyzerować jakiś inny obszar pamięci, co niechybnie spowoduje problemy. Po prostu trzeba uważać, co się robi. Zresztą w Turbo Pascalu można zastosować ten trik i spełnia on swoje zadanie, ale już w Delphi program się nie wykonuje (Runtime error 103)
Najlepiej więc zeruj rekord w taki sposób, jaki podałeś. Tak będzie najbezpieczniej
Tak sobie jeszcze pomyślałem. Może chodzi Ci o zastosowanie instrukcji wiążącej with (chociaż chyba nie)
with ob do begin
a:= 0;
b:= '';
c:= 0;
end;