Hallo Leute
ich brauche für eine Anwendung je nach Parameter unterschiedlich viele Variablen mit unterschiedlichen Namen. Außerdem muß ich auf die Variablen per Namen zugreifen können ('variable'+inttostr(i)'). Dazu habe ich jetzt diese Funktionen hier geschrieben:
Delphi-Quellcode:
UNIT vars;
INTERFACE
type TVar=record
titel,value:
string;
end;
var variables:
array of TVar;
procedure setvar(
name,value:
string);
function getvar(
name:
string):
string;
function isset(
name:
string):boolean;
IMPLEMENTATION
function isset(
name:
string):boolean;
var i:integer;
begin;
result := false;
for i:= low(variables)
to high(variables)
do begin;
if variables[i].titel =
name then result := true;
end;
end;
procedure setvar(
name,value:
string);
var i:integer;
begin;
if name='
'
then begin;
//Ausgaben nicht speichern
header;
writeln(value);
end
else begin;
//Speichern
if isset(
name)
then begin;
for i:= low(variables)
to high(variables)
do begin;
if variables[i].titel =
name then variables[i].value := value;
end;
end
else begin;
setlength(variables,length(variables)+1);
variables[high(variables)].titel :=
name;
variables[high(variables)].value := value;
end;
end;
end;
function getvar(
name:
string):
string;
var i:integer;
begin;
result := '
';
for i:= low(variables)
to high(variables)
do begin;
if variables[i].titel =
name then result := variables[i].value;
end;
end;
So weit so gut, man kann jetzt mit
einen Wert setzten, außerdem dem Wert mit
Code:
var s:string;
begin;
s:=getvar('Namen');
wieder herholen.
Das geht auch problemlos nur ist die Sache recht langsam. Ich muß recht oft auf die Variablen zugreifen und jedes mal muß er das ganze Array nach der Variable absuchen.
Wer hat (wenn auch nur in der Theroie) eine bessere Idee, die ungefähr den gleichen Effekt hat. Ich brauche hier jetzt keine Code-Beispiele sondern einfach Ideen.
Danke
TO