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

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

TMemoField [D7]


Страницы:   1 2

OlegL ©   (2004-12-14 09:48:00) 

Люди как работается с memo полями (TMemoField)


OlegL   (2004-12-14 17:59:00) [1]

Может всё дело в Foxpro


Александр Иванов   (2004-12-14 17:51:00) [2]

В [18] и [19] код рабочий.


OlegL   (2004-12-14 17:49:00) [3]


> sniknik ©

Со StringStream я срану испробовал ...глухо и так
Table2PNAME.AsString:= Table1.FieldByName('pname').AsString[1];
тоже не идёт.


Александр Иванов   (2004-12-14 15:35:00) [4]

Да, действительно изврат. Уже не в ту сторону изначально мысли повернулись. :).


sniknik   (2004-12-14 15:30:00) [5]

Александр Иванов ©   (14.12.04 15:19) [18]
зачем же такие извраты? ;)

procedure TForm1.Button1Click(Sender: TObject);
begin
 Table1.First;
 while not Table1.Eof do begin
   Table2.Append;
   Table2PNAME.AsString:= Table1.FieldByName('pname').AsString[1];
   Table1.Next;
 end;
 if Table2.State in (dsEdit, dsInsert) then Table2.Post;
end;

вполне полноценная замена в случае если поле PName имеет тип Character (1 символ так понимаю ;)


Александр Иванов   (2004-12-14 15:19:00) [6]

procedure TForm1.Button1Click(Sender: TObject);
var
Stream1: TStringStream;
begin
Table1.First;
while not Table1.Eof do
 begin
   Table2.Append;
   Stream1 := TStringStream.Create(Table1.FieldByName('pname').AsString);
   Table2PNAME.LoadFromStream(Stream1);
   Table2.Post;
   Table1.Next;
 end;
end;

В данном случае поле PName из первой табички имеет тип Character


sniknik   (2004-12-14 15:14:00) [7]

> А если
> Table1.FieldByName('pname')
> не блоб
то все одно какойто тип да присутствует, тогда там есть asТипПоля
st:= Table1.FieldByName('pname').asString; к примеру. (в принципе и мемо поле так можно, хотя от компонент наверное зависит... ADO может остальные ... хз. проверь)


OlegL   (2004-12-14 14:44:00) [8]

А если
Table1.FieldByName('pname')
не блоб


Александр Иванов   (2004-12-14 12:20:00) [9]

procedure TForm1.Button1Click(Sender: TObject);
var
 Stream1: TBlobStream;
begin
Table1.First;
while not Table1.Eof do
  begin
    Table2.Append;
    Stream1 := TBlobStream.Create(TBlobField(Table1.FieldByName('pname')), bmRead);
    Table2PNAME.LoadFromStream(Stream1);
    Table2.Post;
    Table1.Next;
  end;
end;


Александр Иванов   (2004-12-14 12:02:00) [10]

А метод Post вызываешь?


OlegL   (2004-12-14 11:45:00) [11]

точнее

t_str := TStringStream.Create(DataSet2.FieldByName('pname').Value);
m_str := TMemoryStream.Create();
m_str.LoadFromStream(t_str);
TMemoField(DsDbfTable1.Fields.FieldByName('pname')).LoadFromStream(m_str);


Александр Иванов   (2004-12-14 11:42:00) [12]

Что-то я не понял.
Весь код выглядит так:

t_str := TStringStream.Create(fieldbyname('pname').Value);
m_str := TMemoryStream.Create();
m_str.LoadFromStream(t_str);
TMemoField(DsDbfTable1.Fields.FieldByName('pname')).LoadFromStream(m_str)

???


OlegL   (2004-12-14 11:38:00) [13]

А str какого типа должен быть? Я делаю так :-)))

t_str := TStringStream.Create(fieldbyname('pname').Value);
m_str := TMemoryStream.Create();
m_str.LoadFromStream(t_str);


OlegL   (2004-12-14 11:35:00) [14]

пробовал уже .. то же самое


Александр Иванов   (2004-12-14 11:34:00) [15]

Да ... Такие компонены не видел.
Но попробуй так:

TBlobField(DsDbfTable1.Fields.FieldByName('pname')).LoadFromStream(m_str)


OlegL   (2004-12-14 11:17:00) [16]

Не говорит ничего, просто поле пустое.
pname - мемо
Работаю с dbf посредством компонент Degisy Data


Александр Иванов   (2004-12-14 11:10:00) [17]

Что говорит?
И какой тип поля pname?
Какая БД?


OlegL   (2004-12-14 11:02:00) [18]

Вообще-то не совсем разобрался. Пишу
TMemoField(DsDbfTable1.Fields.FieldByName('pname')).LoadFromStream(m_str)
и не работатет.


OlegL   (2004-12-14 10:10:00) [19]

Всё спасибо, разобрался :-))


OlegL   (2004-12-14 10:08:00) [20]

А поподробней можно?


Страницы:   1 2

Наверх

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