PDA

Просмотр полной версии : [Помогите!] Record!


Pablo-ID13
17.12.2010, 21:02
Начал учить делфи и разбираюсь с записями, не могу понять в чем их смысл...я так понимаю они создают некую единую строку для конкретного блока например Гараж в нем есть машина, цвет и id ее и тогда как вывести все это на экран и в чем смысл??

program Recordzzz;

{$APPTYPE CONSOLE}

uses
SysUtils;

type Garage = record
Marka, colorrr : string;
idmachine: integer;
end;

var Build: Garage;

begin
Build.Marka:='Niva';
Build.colorrr:='Red';
Build.idmachine:=1;

end.

вот а теперь где это полезно например использовать не пойму??:omg:

Dinmaite
17.12.2010, 21:15
Ну например для обозначения положения курсора.
Для возврата сложных типов из функций.

Поступай на холодильный дружишче.

Dinmaite
17.12.2010, 22:31
Конкретно на твоем примере... ну-у-у. К примеру в базе данных о твоих машинах в гаражах. И это не совсем полезно. По сути это не критично. А вот для возврата из функций полезно.
Для твоего примера.


type = TBuild:record
Marka,color:string;
idmachine:integer;
end;

function autos(Marka,color:string;idmachine:integer;):TBuil d;
begin
result.Marka:=Marka;
result.color:=color;
result.machine:=idmachine;
end;

Вообще код бессмысленный, написан дабы показать как пользовать.

Про поступление. ([Ссылки могут видеть только зарегистрированные и активированные пользователи] %B9+%D0%BD%D0%B0+%D1%85%D0%BE%D0%BB%D0%BE%D0%B4%D0 %B8%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%22&sourceid=opera&ie=utf-8&oe=utf-8)

Duha666
18.12.2010, 04:48
Конкретно на твоем примере... ну-у-у. К примеру в базе данных о твоих машинах в гаражах. И это не совсем полезно. По сути это не критично. А вот для возврата из функций полезно.
Для твоего примера.


type = TBuild:record
Marka,color:string;
idmachine:integer;
end;

function autos(Marka,color:string;idmachine:integer;):TBuil d;
begin
result.Marka:=Marka;
result.color:=color;
result.machine:=idmachine;
end;

Вообще код бессмысленный, написан дабы показать как пользовать.

Про поступление. ([Ссылки могут видеть только зарегистрированные и активированные пользователи] %B9+%D0%BD%D0%B0+%D1%85%D0%BE%D0%BB%D0%BE%D0%B4%D0 %B8%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%22&sourceid=opera&ie=utf-8&oe=utf-8)

Я не сильно уверен, что он откомпилируется. Record не так задается:
type
TBuild = record
end;

А вообще, Рекорд, полезная вещь. Так, можно очень удобно для каждого элемента массива хранить данные:
type
Coordinate = record
x, y: longint;
end;
var
x: array of coordinate;

Теперь можно хранить всё не двумерным массивом, а удобнее.