Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.01.2013, 19:21
Unkeep Unkeep вне форума
Прохожий
 
Регистрация: 20.12.2012
Сообщения: 2
Репутация: 10
Восклицание отображение txt в datagrid. помогите разобраться

Здравствуйте. Всё никак не могу справится с задачей: "Необходимо считать данный из txt (разделены символами табуляции) и отобразить в datagrid". Перерыл кучу форумов но всё равно топчусь на месте.
Планирую сделать так:
1)считывание построчно из файла
2)разборка строки по полям
3) занесение в dataset/clientdataset/table (не знаю что лучше, подскажите)
4)сортировка в dataset/clientdataset/table
5)отображение в datagrid

столкнулся со следующими трудностями.
1)у меня вся обработка файла и заполнение dataset вынесена в отдельный юнит. Там я пытаюсь программно создать dataset, наделить его полями, отфильтровать и передать его в юнит с формой для datasourse.
так вот
Код:
DS:=TClientDataSet.Create(???);
что писать в параметрах конструктора? Обычно писал self, или aplication а тут другой юнит и так не прокатывает уже
2)пробовал программно создать простую TClientDataSet и опять же программно передать TClientDataSet в datasourse. Но что то изменений нет никаких в datagrid (в datagrid1 параметр datasourse = datasourse1; в datasourse1 параметр dataset=ClientDataSet1 (та что создаются программно) )
может не хватает каких то ещё команд? типа обновить что-то из этой цепочки..или может что-то закрыть или открыть надо предварительно..

заранее спасибо. буду очень благодарен, за похожие примеры или исходники.



весь код
Код:
unit Main;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics,Vcl.Controls, Vcl.Forms, Vcl.Dialogs,
  Vcl.StdCtrls, Handling, Vcl.Grids, Data.DB, Datasnap.DBClient, Vcl.DBGrids,
  Bde.DBTables;

type
  TForm1 = class(TForm)
    BtnOpen: TButton;
    BtnProcess: TButton;
    OpenDialogTxt: TOpenDialog;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    ClientDataSet1: TClientDataSet;
    procedure BtnOpenClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BtnOpenClick(Sender: TObject);
begin
  OpenDialogTxt:= TOpenDialog.Create(self);
  OpenDialogTxt.Filter:='txt files|*.txt';

  if OpenDialogTxt.Execute
      then
      begin
          DataSource1.DataSet:=HandleTxt(OpenDialogTxt.FileName,'|');
          DBGrid1.Update;
      end
      else  ShowMessage('Error');

  OpenDialogTxt.Free;
end;
end.

Код:
unit Handling;

  interface

  uses
  Winapi.Messages, System.SysUtils, Vcl.Dialogs,Data.DB,Vcl.Grids,  Datasnap.DBClient, Vcl.DBGrids,
  Bde.DBTables;
  var
  ftxt:TextFile;
  num_lines:integer=0;
  separator:string;
  DS: TClientDataSet;
  function  HandleTxt(path:TFileName;_separator:string):TClientDataSet;

  implementation

  function  HandleTxt(path:TFileName;_separator:string):TClientDataSet;
  var
  line:string;
  I:Integer;
    begin
      separator:=_separator;
      AssignFile(ftxt, path);
      reset(ftxt);
      DS:=TClientDataSet.Create(nil);
        DS.FieldDefs.Add('id', ftInteger);
        DS.FieldDefs.Add('nick', ftString, 20);
        DS.FieldDefs.Add('note', ftString, 40);
        DS.CreateDataSet;
     // While not (Eof(ftxt)) do
       // begin
         // ReadLn(ftxt,line);
         //
      //  end;
      result:=DS;

    end;

  procedure StrToRow(str:string);
    begin

    end;



end.

Последний раз редактировалось Unkeep, 08.01.2013 в 03:04.
Ответить с цитированием
  #2  
Старый 08.01.2013, 00:32
Unkeep Unkeep вне форума
Прохожий
 
Регистрация: 20.12.2012
Сообщения: 2
Репутация: 10
По умолчанию

? ? ? ? ? ? ?
Вложения
Тип файла: rar del.rar (94.1 Кбайт, 10 просмотров)

Последний раз редактировалось Unkeep, 08.01.2013 в 03:14.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:18.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter