Форум: "Начинающим";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];
ВнизGet Var By Name, получение переменной по имени. Найти похожие ветки
← →
opopo (2006-02-28 22:15) [0]Господа, есть ли какая-либо возможность получать доступ к переменной, при зная при этом только её стринговое значение. Я понимаю, что видимо встроенной функции в дельфю нет, но может кто сталкивался с подобной проблеммой?
← →
Desdechado © (2006-02-28 22:40) [1]а как ты к ней еще доступ получаешь?
можно, конечно, на нее указатель повесить...
но ведь проще написать
a:=b;
чем
c:=@b;
a:=c^;
← →
opopo (2006-02-28 23:15) [2]я видимо подразумеваю другое, например:
var
myvar:integer;
si:integer;
begin
si := getvarbyname("myvar");
реально такое организовать?
← →
Pavia © (2006-02-28 23:22) [3]opopo
нет
← →
Джо © (2006-02-28 23:27) [4]
TForm1 = class(TForm)
private
FMyIntProp: Integer;
FMyStringProp: string;
public
published
property MyStringProp: string read FMyStringProp write FMyStringProp;
property MyIntProp: Integer read FMyIntProp write FMyIntProp;
end;
...
uses TypInfo;
...
procedure TForm1.Button1Click(Sender: TObject);
var
S: string;
I: Integer;
begin
SetPropValue(Self,"MyStringProp","stroka");
SetPropValue(Self,"MyIntProp",2006);
S := GetPropValue(Self,"MyStringProp");
I := GetPropValue(Self,"MyIntProp");
ShowMessageFmt ("%s,%d",[S,I]);
end;
← →
Джо © (2006-02-28 23:35) [5]Ну, если не свойства, а переменная, то есть и такой изврат:
var
IntVariable: Integer;
...
procedure TForm1.Button1Click(Sender: TObject);
var
Addr: PInteger;
I: Integer;
begin
IntVariable := 1990;
Addr := GetProcAddress(0,"IntVariable");
if Addr <> nil then
begin
I := Addr^;
ShowMessageFmt ("%d",[I]);
end;
end;
exports
IntVariable;
end.
← →
Германн © (2006-03-01 02:51) [6]2 Джо ©
Перебор!
← →
Джо © (2006-03-01 02:52) [7]> [6] Германн © (01.03.06 02:51)
> 2 Джо ©
> Перебор!
Нормально! :0)
← →
Германн © (2006-03-01 02:58) [8]2 Джо © (01.03.06 02:52) [7]
Ты забыл классика жанра!
Нормально Георгий! Отлично Константин!
← →
opopo (2006-03-01 10:13) [9]Джо, с переменной придумано просто класс, фантастика! Спасибо!
← →
Джо © (2006-03-01 11:37) [10]> [9] opopo (01.03.06 10:13)
> Джо, с переменной придумано просто класс, фантастика! Спасибо!
Это однюдь не я придумал, так что не за что :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.013 c