Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ClientDataSet ftArray не могу создать поле


Вова ©   (2013-10-20 23:47:00) 

В ClientDataset есть тип данных поля ftArray, ну или FtStream на худой конец. Но когда я добавляю поле с таким типом данных и нажимаю Create  то мне выдается ошибка Invalid Type - почему?
А следующий вопрос будет -  как затолкать массив типа byte (вообщем то динамический) в поле ClientDataSet?


sniknik   (2013-10-21 20:19:00) [1]

главное не путать переменные с указателями...


sniknik   (2013-10-21 20:17:00) [2]

пример
procedure TForm1.Button1Click(Sender: TObject);
type
 TPixel = record
   x: cardinal;
   y: cardinal;
 end;
 Tmass = array of TPixel;
var
 mass: Tmass;
 st: string;
 Size: integer;
begin
 SetLength(mass, 2);
 mass[0].x:= 1;
 mass[0].y:= 2;
 mass[1].x:= 3;
 mass[1].y:= 4;

 Size:= Length(mass)*SizeOf(TPixel);
 SetLength(st, Size);
 Move(mass[0], st[1], Size);

 mass[0].x:= 0;
 mass[0].y:= 0;
 mass[1].x:= 0;
 mass[1].y:= 0;

 Move(st[1], mass[0], Size);
 ShowMessage(IntToStr(mass[1].x));
end;


Вова   (2013-10-21 17:34:00) [3]


> > Я не использую BD просто в локальной таблице все хранится.
> абсолютно неважно есть bd или нет, данные локально в тех
> же компонентах/типы описаны для всех. > К тому же я понял,
>  что массив вовсе не из байтов должен бытьвся информация
> из байтов(более дробно из битов)... различие в интерпретации.
> > m array of cardinal;//m[i]:=x + y*x;> Во!Length(m) * SizeOf(cardinal)
> = количество байт.


я в курсе, но  все равно не знаю как массив затолкать в стринг.


Туповатый   (2013-10-21 14:44:00) [4]


> (более дробно из битов)

помнится, еще миллибит бит был.


sniknik   (2013-10-21 12:10:00) [5]

> Я не использую BD просто в локальной таблице все хранится.
абсолютно неважно есть bd или нет, данные локально в тех же компонентах/типы описаны для всех.

> К тому же я понял, что массив вовсе не из байтов должен быть
вся информация из байтов(более дробно из битов)... различие в интерпретации.

> m array of cardinal;//m[i]:=x + y*x;
> Во!
Length(m) * SizeOf(cardinal) = количество байт.


Вова   (2013-10-21 11:31:00) [6]

   

m array of cardinal;//m[i]:=x + y*x;


Во!


Вова   (2013-10-21 11:04:00) [7]

.....или из битов массив....вообщем как запихать любой массив )) т.к. размер занимаемый в памяти компа у массива должен быть минимальным, но одномерный массив содержит намного больше элементов, чем тот что я выше нарисовал, поэтому какой будет массив пока я не знаю, потому что не могу попробовать.


Вова   (2013-10-21 11:01:00) [8]

Я не использую BD просто в локальной таблице все хранится.

К тому же я понял, что массив вовсе не из байтов должен быть



TPixel record
begin
    x:cardinal;
    y:cardinal;
end

Tmass array  of TPixel;


а такой. Делфи рядом нет, синтаксис я не помню без делфи, так что не пинать )


> ftBlob, CreateBlobField, TBlobStream + F1


попробую


Ega23   (2013-10-21 09:52:00) [9]

ftBlob, CreateBlobField, TBlobStream + F1


sniknik   (2013-10-21 08:32:00) [10]

строка это тот же массив, просто стандартная интерпретация у типа текст.

> выдается ошибка Invalid Type - почему?
значит не поддерживается клиентским датасетом... описания типов для всех (bde, ado, ... подключенными базами), у каждого конкретного набор ограничивается своими, в основном одинаковым.

кстати ftArray не знаю кем поддерживается... вот у informix тип есть, но через что не подключайся в дельфю его "пробросить" не получалось.


Вова   (2013-10-21 01:22:00) [11]


> ну вот когда - тогда и ответ.


да нет, уже сейчас, и почему для меня идеально подходит стринг, у меня в массиве числа, а не буквы...который там к тому же фиксированной длины, я что то не понял


Туповатый   (2013-10-21 00:24:00) [12]


> ftArray, ну или FtStream на худой конец.

значит, для тебя идеально подходит ftString

> следующий вопрос будет

ну вот когда - тогда и ответ.


Наверх

Титульная страница Поиск, карта сайта Написать письмо