Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Lazarus, Free Pascal, CodeTyphon
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 26.10.2017, 07:53   #1
gribo4ek
Пользователь
 
Регистрация: 07.05.2011
Сообщений: 15
Репутация: 10
По умолчанию DBgrid в txt

Код:

       var i: Integer;
    FS: TFileStream;
    DataSet: TDataSet;
    FileName, Value: AnsiString;
begin
 FileName := 'Rec.txt';
 if FileExists(FileName)
 then begin
      FS := TFileStream.Create(FileName, fmOpenWrite);
      FS.Position := FS.Size;
      end
 else FS := TFileStream.Create(FileName, fmCreate);
 DataSet := DBGrid1.DataSource.DataSet;
 Value := '';
 for i := 0 to DataSet.Fields.Count - 1
 do if Value = ''
    then Value := DataSet.Fields[i].AsString
    else Value := Value + ';' + DataSet.Fields[i].AsString;
 Value := Value + #13#10;
 FS.Write(Value[1], Length(Value));
 FS.Free;
           end;

Данный код выгружает выделенную запись из Грида
как Выгрузить се в txt&&&

_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 26.10.2017 в 10:39.
gribo4ek вне форума   Ответить с цитированием
Старый 26.10.2017, 10:46   #2
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,354
Репутация: 5308
По умолчанию

попробуйте так
Код:

 FileName := 'Rec.txt';
 if FileExists(FileName)
 then begin
      FS := TFileStream.Create(FileName, fmOpenWrite);
      FS.Position := FS.Size;
      end
 else FS := TFileStream.Create(FileName, fmCreate);
 DataSet := DBGrid1.DataSource.DataSet;
 DataSet.First;
 while Not DataSet.Eof do begin
   Value := '';
   for i := 0 to DataSet.Fields.Count - 1 do 
      if Value = ''
        then Value := DataSet.Fields[i].AsString
        else Value := Value + ';' + DataSet.Fields[i].AsString;
   Value := Value + #13#10;
   FS.Write(Value[1], Length(Value));
   DataSet.Next;
 end;

 FS.Free;

Serge_Bliznykov вне форума   Ответить с цитированием
Старый 26.10.2017, 11:51   #3
gribo4ek
Пользователь
 
Регистрация: 07.05.2011
Сообщений: 15
Репутация: 10
По умолчанию

Спасибо
gribo4ek вне форума   Ответить с цитированием
Старый 26.10.2017, 11:53   #4
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 17,954
Репутация: 6285
По умолчанию

1. Это dataset в txt, а не DBgrid в txt. Колонки грида могут отображать не все поля из датасета, да и порядок следования не обязательно такой же
2. Как потом разбирать этот txt (вообще-то scv), если в каком-то текстовом поле точка с запятой будет?
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенести данные из txt в DBGrid demiancz Общие вопросы Delphi 9 21.02.2016 23:17
Переделавание кода на считывание из файла в файл output.txt input.txt !!! airesjke Помощь студентам 0 29.05.2013 14:07
Выгрузка данные из DBGrid-а в txt Angel86rus Общие вопросы Delphi 2 24.07.2009 13:26
DBGrid в TXT RIO БД в Delphi 3 15.06.2009 18:28
Как прочесть txt файл www.site.ru/info.txt BR17UY Работа с сетью в Delphi 1 16.04.2007 13:01


03:39.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru