Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program variables;
- uses sysutils;
- const
- VARMAX = 32;
- VARLENGTH = 8;
- Type
- TVARProto = record
- name : string[VARLENGTH];
- value : word; end;
- var
- VARs : array[0..VARMAX] of TVARProto;
- VARi : byte = 0;
- i : byte;
- procedure Error(s: string);
- begin
- Writeln(s); Halt; end;
- function VARCheck(Vname: string) : byte;
- begin
- if (Length(Vname) > VARLENGTH) then Error('-'+Vname+'- as VAR name is too long');
- VARCheck := VARi;
- for i := 0 to VARi-1 do
- if (VARs[i].name = Vname) then VARCheck := i;
- end;
- procedure VARValueSet(Vname, Val: string);
- var i: byte;
- begin
- if (VARi = VARMAX) then Error(' too much VARs');
- i:= VARCheck(Vname);
- VARs[i].value := strtoint(Val);
- if (i = VARi) then
- begin
- VARs[i].name := Vname;
- Inc(VARi);
- end;
- end;
- function VARValueGet(Vname: string) : word;
- var i: byte;
- begin
- if (Length(Vname) > VARLENGTH) then Error ('-'+vname+'- var name is too long');
- for i := 0 to VARi do
- if (VARS[i].name = Vname) then VARValueGet := VARS[i].Value;
- end;
- begin
- VARValueSet('elso','568');
- VARValueSet('atlo','12');
- VARValueSet('szel','110');
- VARValueSet('metr','45');
- VARValueSet('drb','1034');
- VARValueSet('atlo','255');
- writeln;
- writeln(VARvalueGet('metr'));
- writeln(VARvalueGet('elsp'));
- writeln;
- for i:= 0 to VARi-1 do writeln(i+1,#09,VARS[i].name,#09,VARS[i].value);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement