![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нетипизированные указатели [D7]
Vitaliy____ © (2008-07-31 05:51:00)Доброе время суток!
Есть такая задача: организовать чтение/запись из файла в формате
параметр=значение.
Программа должна читать те параметры, что ей "известны" по имени.
Положим, они будут 3-х типов: целое, вещественное, строка.
Помогите с синтаксисом структуры, в которой можно бы было хранить указатель на один из этих 3-х типов данных и пример работы (запись значения по этому указателю).
Конечно можно сделать 3 указателя в каждой записи, но 1) могут добавится другие типы данных 2) Наверняка можно без извращений и потерь памяти - просто я не знаю как это в делфи.
MultIfleX (2008-07-31 06:49:00) [21]о_О
> Напиши еще приведение pointer к integer
i := Integer(Ptr);
i := integer(Pointer(string));
ЗЫ. Integer ненада, нада Cardinal (если канешно у тебя нет областей памяти с отрицательными указателями, в чом я уже не уверен %))
ЗЗЫ. Это только для передачи параметров в какую либо функцию по указателю, или как? Типа в библиотеку? Надеюсь всетаки не запись в файл.... =( ...ато не покатит.
Vitaliy____ (2008-07-31 06:42:00) [22]Без проблем. Помедленнее :)
Ты почти ответил кстати. Напиши еще приведение pointer к integer скажем... и дальше я сам.
Скажем есть переменная v1:integer.
Надо 1) присвоить uk ее адрес
2) По uk обратится к v1
Меня интересует синтаксис приведения указателя к нужному типу данных в делфи - дальше разберусь.
multiflex (2008-07-31 06:37:00) [23]Приз за лучшую головоломку года тебе обеспечен.
> Помогите с синтаксисом структуры, в которой можно бы было
> хранить указатель на один из этих 3-х типов данных
> могут добавится другие типы данных
type
struktura = record
uk : Pointer;
end;
вот пожалуйста, структура хранит указательна ЛЮБОЙ тип данных.
> Наверняка можно без извращений и потерь памяти - просто
> я не знаю как это в делфи.
Да, если постораться, то в Delphi можно и без потерь памяти и извращений.
ЗЫ. Виталий, помедленнее изложи, чего же ты хочеш, ато ничо не понятно чо ты говориш =(