Borland Delphi kod parçacığı (Borland Delphi code snippets)
type
TRenkKod = (rkRenksiz, rkKirmizi, rkSari, rkMavi, rkYesil, rkBeyaz, rkSiyah,
rkKrem, rkTuruncu);
//TColorCode = (rkNone, rkRed, rkYellow, rkBlue, rkGreen, rkWhite, rkBlack,
rkCream, rkorange);
TArabaVeRenkleri = record //CarsAndColors
ArabaAdi : string[50]; //CarName
Renk : TRenkKod; //Color
end;
const
Arabalar : array[1..9] of TArabaVeRenkleri =
(
(ArabaAdi:'Mercedes' ; Renk:rkBeyaz),
(ArabaAdi:'Honda' ; Renk:rkKrem),
(ArabaAdi:'BMW' ; Renk:rkSiyah),
(ArabaAdi:'Opel' ; Renk:rkSari),
(ArabaAdi:'Porche' ; Renk:rkTuruncu),
(ArabaAdi:'Ferrari' ; Renk:rkKirmizi),
(ArabaAdi:'Toyota' ; Renk:rkMavi),
(ArabaAdi:'Mitsubishi' ; Renk:rkYesil),
(ArabaAdi:'Volkswagen' ; Renk:rkKrem)
);
function ArabaSayisi():Integer; //NumberOfCars
begin
Result := High(Arabalar)-Low(Arabalar)+1;
end;
function ArabaAdi(Indx : Integer):string; //CarNameByIndex
begin
Result := 'Tanimsiz'; //Unknown
if Indx < Low(Arabalar) then Exit;
if Indx > High(Arabalar) then Exit;
Result := Arabalar[Indx].ArabaAdi;
end;
function ArabaRengi(Indx : Integer):TRenkKod;overload; //CarColorByIndex
begin
Result := rkRenksiz;
if Indx < Low(Arabalar) then Exit;
if Indx > High(Arabalar) then Exit;
Result := Arabalar[Indx].Renk;
end;
function ArabaRengi(Value : string):TRenkKod;overload; //CarColorByValue
var
i : Integer;
begin
Result := rkRenksiz;
for i := Low(Arabalar) to High(Arabalar) do
begin
if Arabalar[i].ArabaAdi = Value then
begin
Result := Arabalar[i].Renk;
Exit;
end;
end;
end;
Örnek ve kullanım (Sample and usage) :
Araba sayisi : ShowMessage(IntToStr(ArabaSayisi)); //9
(Number of cars)
Araba adi : ShowMessage(ArabaAdi(2)); //Honda
(Car name by index)
var
t : RenkKod;
Araba rengi : t := ArabaRengi(3); //rkSiyah (rkBlack) BMW
(car color by index) t := ArabaRengi(2); //rkKrem (rkCream) Honda
Araba rengi : t := ArabaRengi('Honda'); //rkKrem (rkCream)
(car color by name) t := ArabaRengi('Porche'); //rkturuncu (rkOrange)