Coś jak konsola w grach

0

Witam, chciałem zapytać jak zrobić coś takiego, aby wpisując komendę w Edicie np. r_mode wyświetlało mi wartość odpowiadającą tej zmiennej tzn wyobrażam sobie że można zrobić:

if Edit.Text = 'r_mode' then Listbox.Items.Add(IntToStr(r_mode));

Ale co jeśli takich poleceń w konsoli są tysiące ?? Czy jest jakiś uniwersalny sposób ??

0

Zadeklaruj sobie typ:

type
 TPole = record
         nazwa:string;
         wartosc:variant;
        end;

I potem robisz sobie z tego tablice... Dynamiczna, czy statyczna, jak wolisz. I do tego procedurki:

function IndeksPola(nazwa:string;tablica:array of TPole):integer;
var i:integer;
begin
 Result:=-1;
 for i:=Low(tablica) to High(tablica) do
  if tablica[i].nazwa=nazwa then
   begin
    Result:=i;
    exit;
   end;
end;

procedure UstawPole(nazwa:string;co:variant;tablica:array of TPole);
var i:integer;
begin
 i:=IndeksPola(nazwa, tablica);
 if i<>-1 then
  tablica[i].wartosc:=co;
end;

function OdczytajPole(nazwa:string;tablica:array of TPole):variant;
var i:integer;
begin
 i:=IndeksPola(nazwa, tablica);
 if i<>-1 then
  Result:=tablica[i].wartosc;
end;

(pisane z glowy, ale powinno byc ok)
W sumie to najlepiej do konsoli byloby wykorzystac jakis prosty jezyk skryptowy, ale jesli tobie wystarczy tylko przekazywanie wartosci zmiennych to to jest chyba najlepsze rozwiazanie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1