Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.12;
Скачать: CL | DM;

Вниз

можно получить элемент 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.041 c
9-1091606822
Ландграф Павел
2004-08-04 12:07
2004.12.12
поиск пути не по клеткам...


3-1100516597
DimonNew
2004-11-15 14:03
2004.12.12
Есть ли альтернатива запросу с whrere in


9-1087490521
Drinkins
2004-06-17 20:42
2004.12.12
Зацените Кубик-Рубик (http://NikoVOsade.narod.ru/Cub__r.rar)


14-1100943955
cyborg
2004-11-20 12:45
2004.12.12
Обхохотаться можно :)


4-1099071933
cerber1
2004-10-29 21:45
2004.12.12
Работает ли мышь? Как поределить програмно?