Главная страница
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.026 c
3-1100156376
Брат
2004-11-11 09:59
2004.12.12
Проверка существования таблицы


1-1101423144
Rand
2004-11-26 01:52
2004.12.12
Необязательные параметры


9-1092490542
CoolProger:DWORD;
2004-08-14 17:35
2004.12.12
курсор мышки в дирекст


3-1100082487
Pertovsky
2004-11-10 13:28
2004.12.12
Десятичные разряды.


1-1101744749
Сор
2004-11-29 19:12
2004.12.12
TextFile