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

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

Как считать текстовый файл в VARCHAR(1500)? [D6, FireBird 1.5 RC9]


Rumba ©   (2004-02-18 16:55:00) 

Мастаки, юзаю FIBPlus 5.08 - как считать из файла данные и занести
их в текстовое поле? Надо чтобы переносы строк сохранялись...


Rumba   (2004-02-18 19:21:00) [1]

thanks


Delirium   (2004-02-18 18:54:00) [2]

var FileS: TFileStream;
   StringS: TStringStream;
...
FileS:=TFileStream.Create('...', fmOpenRead);
StringS:=TStringStream.Create('');
StringS.CopyFrom(FileS, 0);
...
FieldByName('...').AsString:=StringS.DataString;
...

Надёжнее варианта придумать сложно...


Rumba   (2004-02-18 18:49:00) [3]

ошибок нету


Delirium   (2004-02-18 18:40:00) [4]

Ничего не пишет и ошибок нет?! Сомневаюсь... кривые компаненты сталобыть, используй тогда TStringStream, что ещё посоветовать.


Rumba   (2004-02-18 18:36:00) [5]


procedure Tdm.aOpenFileExecute(Sender: TObject);
begin
 if not OpenDialog1.Execute then Exit;
 with dm.dsScheme do
 begin
   if State in [dsBrowse] then Edit;
   TBLOBField(FieldByName('DESC')).LoadFromFile(OpenDialog1.FileName);
//    Post;
 end;
end;

пусто - ничего не пишет


Delirium   (2004-02-18 18:25:00) [6]

А так не проще ?
...
TBLOBField(FieldByName('DESC')).LoadFromFile('...');
...


Rumba   (2004-02-18 17:50:00) [7]


procedure Tdm.aOpenFileExecute(Sender: TObject);
var FileS: TFileStream;
   FieldS: TFIBBlobStream;
begin
 if not OpenDialog1.Execute then Exit;
 try
   FileS := TFileStream.Create(OpenDialog1.FileName, fmOpenRead);
   FieldS := dsScheme.CreateBlobStream(dsScheme.FieldByName('DESC'), bmReadWrite); //!!!!!!!! error - Incompatible types:TFIBBlobStream and TStream
   with dsScheme do
   begin
     if State in [dsBrowse] then Edit;
     try
       FieldS.CopyFrom(FileS, FileS.Size);
       Post;
     finally
       FieldS.Free;
     end
   end;
 finally
   FileS.Free;
 end;
end;


Delirium   (2004-02-18 17:33:00) [8]

F1 + TBLOBField


Rumba   (2004-02-18 17:24:00) [9]

:)
ну а как его в поле сохранить с переносом строк?


Johnmen   (2004-02-18 17:22:00) [10]

Ты же уже считал...:)


Rumba   (2004-02-18 17:18:00) [11]

Ау? как считать?


Rumba   (2004-02-18 16:58:00) [12]


...
 if not OpenDialog1.Execute then Exit;
 try
   FileS := TFileStream.Create(OpenDialog1.FileName, fmOpenRead);
   FieldByName('DESC')???? - что тут написать?
 finally
   FileS.Free;
 end;
...


Val   (2004-02-18 16:57:00) [13]

проблема в считывании из файла или записи в БД?


Наверх

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