Форум: "Основная";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
Внизможно получить элемент set а по строке? Найти похожие ветки
← →
alo (2004-11-27 11:43) [0]другими словами, :
type TFieldType = (ftUnknown, ftString, ftSmallint, ftInteger, ftWord, ftBoolean, ftFloat, ftCurrency, .....
у меня есть
sFieldType := "ftFloat"
мне нужно
DataSet.Parameters.ParamByName(sParamName).DataType := _сюда_тип_который_соответствует_sFieldType_
← →
Piter © (2004-11-27 12:43) [1]Имхо, никак нельзя, кроме такого:
function StrToFieldType(s: string): TFieldType;
begin
if s = "ftFloat" then Result := ftFloat
else if s = "ftString" then Result := ftString
else if ...
else Result := ftUnknow;
end;
один вопрос - зачем такое нужно? Какая-то неправильная логика в приложении...
← →
VMcL © (2004-11-27 13:48) [2]Можно. Для этого используется Run-time Type Information (RTTI).
Пример.unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, TypInfo;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
type
TEnum = (ftUnknown, ftString, ftSmallint, ftInteger, ftWord, ftBoolean, ftFloat, ftCurrency);
procedure TForm1.Button1Click(Sender: TObject);
var
A: TEnum;
begin
A := TEnum(GetEnumValue(TypeInfo(TEnum), "ftSmallint"));
if A = ftSmallint then
ShowMessage("OK")
else
ShowMessage("Failed!");
end;
end.
← →
tchn (2004-11-27 14:43) [3]
> VMcL ©
ок, спасибо
> Piter ©
бывает нужно. в данном случае мне нужно приводить значение variant к типу, ссылка на который хранится в БД в виде строки
← →
Anatoly Podgoretsky © (2004-11-27 14:50) [4]А ты то тут причем, вопрос то от alo
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.04 c