Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.05;
Скачать: CL | DM;

Вниз

импорт текстовой таблицы в DBGrid   Найти похожие ветки 

 
Diman   (2004-08-09 14:28) [0]

Как импортировать таблицу(неизвестное число столбцов чисел Integer) из текстового файла в DBGrid ?


 
Соловьев ©   (2004-08-09 14:31) [1]

никак...


 
46_55_41_44 ©   (2004-08-09 14:32) [2]

Если у тебя установлена RxLib, то в ней есть компонента TRxMemoryData, куда можно пихать все что угодно(Сам создаешь в  Design Time поля)... И связать c Dataset"ом. А Dataset соответственно с DBGrid.


 
Sergey13 ©   (2004-08-09 14:35) [3]

2Diman   (09.08.04 14:28)
>Как импортировать таблицу(неизвестное число столбцов чисел Integer) из текстового файла в DBGrid ?
Может в Ексель проще?


 
46_55_41_44 ©   (2004-08-09 14:37) [4]


> Соловьев ©   (09.08.04 14:31) [1]
> никак...

Что значит никак... я могу сделать в 2 счета... ноу проблем )))

Diman:
А как считывать данные из файла тоже написать?


 
Diman   (2004-08-09 14:45) [5]

Вот именно и надо мне: Как считывать данные из файла в таблицу!!!


 
Skyle ©   (2004-08-09 14:47) [6]


> Вот именно и надо мне: Как считывать данные из файла в таблицу!!!

Таблица - показывает, DataSet - хранит. Читать надо в датасет.
Достаточно легко будет использовать для этих целей TClientDataSet.


 
Diman   (2004-08-09 14:52) [7]

Не судите строго новичка - TClientDataSet поставил, DBGrid - тоже. Как же закодировать считывание данных из файла в TClientDataSet?


 
46_55_41_44 ©   (2004-08-09 14:58) [8]

Var
 F     : TextFile;
 S     : String;
begin
 AssignFile(F, "c:\w.txt");
 Reset(F);
 repeat
   Readln(F, S);
   TDataSet.Append;
   TDataSet.FieldByName(FieldName).AsInteger := StrToInt(s);
 Until EOF(f);
 CloseFile(F);
end;


 
Diman   (2004-08-09 15:08) [9]

Большое спасибо! А как  связать эти данные с DBGrid,и преобразовать в EXCEL-формат ?


 
46_55_41_44 ©   (2004-08-09 15:16) [10]

В DBGrid могу сказать как...
А вот в EXCEL уж извини... я этого не делал! Мне не надо было просто. А так надо сидеть и копаться! Поэтому сорри :) времени нет

И так...
В Data Access берешь DataSource.(например DataSource1)
В параметре DataSet выбераешь таблицу куда впихнул эти самые данные из файла...
Так дальше больше )))
Потом в DBGrid.DataSource выбираешь DataSource1
И все..
готово!!!


 
Diman   (2004-08-09 15:22) [11]

Спасибо!!!


 
Соловьев ©   (2004-08-09 15:24) [12]


> Что значит никак... я могу сделать в 2 счета... ноу проблем
> )))

вопрос как звучал? данные в ДБГрид? сделай пожалуйста. без датасорсов.


 
46_55_41_44 ©   (2004-08-09 15:27) [13]


> вопрос как звучал? данные в ДБГрид? сделай пожалуйста. без
> датасорсов

Я что сказал, что сделаю без датасорсов? И к тому же такого требования не было!
Помоему Диман доволен!


 
Diman   (2004-08-09 15:43) [14]

Где взять FieldName в ClientDatS1.FieldByName(FieldName)?


 
Diman   (2004-08-09 15:45) [15]

Моя программа
begin
       assignfile(f,filnam);  // filnam = OpenDialog1.Filename
       Reset(f);
        repeat
          Readln(f, s);
          ClientDatS1.append;
          ClientDatS1.FieldByName(FieldName).AsInteger := StrToInt(s);
        Until EOF(f);
        CloseFile(f);
     end;


 
Diman   (2004-08-09 15:48) [16]

-И так...
- В Data Access берешь DataSource.(например DataSource1)
-В параметре DataSet выбераешь таблицу куда впихнул эти самые   -данные из файла...
  А в какую таблицу я впижнул эти данные


 
Sergey13 ©   (2004-08-09 15:51) [17]

2[16] Diman   (09.08.04 15:48)
А в таблицу ли ты их впихнул? Походка не изменилась? 8-)


 
46_55_41_44 ©   (2004-08-09 15:53) [18]

Знаешь я не использую эту самую TClientDataSet.
У меня RxLib есть... им пользуюсь.
А так... Двойной щелчок на компоненте TClientDataSet (ClientDatS1 твой случай)и появится окошко где с помощью правой кнопки мыши добавишь поля нужные!


 
46_55_41_44 ©   (2004-08-09 15:54) [19]

Хотя не знаю будет ли работать.. Просто потому что как уже говорил не работал я с этой TClientDataSet.


 
Diman   (2004-08-09 15:56) [20]

А у TDataSource нет свойства Append!


 
Diman   (2004-08-09 15:57) [21]

Точнее метода DataSource1.Append


 
46_55_41_44 ©   (2004-08-09 15:58) [22]

Ну конечно нет!
Его и быть не может!
не  DataSource1, а DataSet.
Это разные вещи... Тут подразумевается твой TClientDataSet.


 
Diman   (2004-08-09 16:15) [23]

Простите ради бога, я запутался.
Не могли бы вы написать пример кода как импортировать из текстового файла таблицу, состоящую из 10 столбцов данных, разделитель - пробел, в DBGrid. Буду очень признателен!


 
46_55_41_44 ©   (2004-08-09 16:25) [24]

дай мне свою почту...
пришлю тебе...
напишу и пришлю!
да и еще... скачай RxLib и установи его у себя!!!


 
Diman   (2004-08-09 16:28) [25]

crystalsoft@rambler.ru  
Очень жду, заранее благодарен.


 
KSergey ©   (2004-08-09 16:31) [26]

crystalsoft - такого еще не было, пожалуй... ;)


 
46_55_41_44 ©   (2004-08-09 16:41) [27]

Столбцов должно быть ровно 10... понятно?
Я сделаю именно для такого случая!!!
Могу конечно сделать для общего случая... Но на это просто нет времени...
остальное сам сделаешь!!!


 
Diman   (2004-08-09 16:45) [28]

ОК!


 
46_55_41_44 ©   (2004-08-09 17:23) [29]

Ну все... готово!!!
Смотри свою почту!!!
Сделал... Работает!
Если не сможешь просмотреть исходник, то значит у тебя не RxLib.


 
46_55_41_44 ©   (2004-08-09 17:34) [30]

В этом сдучае установи компоненту RxLib 2.45


 
Rule ©   (2004-08-10 09:34) [31]

Diman   (09.08.04 15:08) [9]
Большое спасибо! А как  связать эти данные с DBGrid,и преобразовать в EXCEL-формат ?

ну как связать ты понял а как переправить в Эксел читай тут
http://www.kornjakov.ru/stat.htm


 
Anatoly Podgoretsky ©   (2004-08-10 09:46) [32]

46_55_41_44 ©   (09.08.04 15:27) [13]
Доволен говоришь :-)


 
Соловьев ©   (2004-08-10 09:51) [33]


> Ну все... готово!!!
> Смотри свою почту!!!
> Сделал... Работает!
> Если не сможешь просмотреть исходник, то значит у тебя не
> RxLib.

выложил бы код тут - может еще кто-то поюзал. А народ покритиковал:)


 
46_55_41_44 ©   (2004-08-10 10:00) [34]

Anatoly Podgoretsky ©   (10.08.04 09:46) [32]
:)))) Это что вы имеете ввиду? (наивно похлопывает глазами) :)))))


 
46_55_41_44 ©   (2004-08-10 10:02) [35]


> Соловьев ©   (10.08.04 09:51) [33]

Var
F     : TextFile;
S,
s1     : String;
k      : Integer;
begin
if Not Mem.Active then
  Mem.Active := True;
Mem.EmptyTable;
AssignFile(F, edit1.text);
Reset(F);
repeat
  Readln(F, S);
  k := 0;
  Mem.Append;
  repeat
    if (Pos(" ", S) <> 0) and (S <> "") then
    begin
      S1 := Copy(S, 0, Pos(" ", S) - 1);
      Mem.FieldByName("F" + IntToStr(K)).AsInteger := StrToInt(S1);
      S := Copy(S, Pos(" ", S) + 1, Length(S) - Pos(" ", S));
      k := k + 1;
    end
    else
    begin
      if S <> "" then
      begin
        Mem.FieldByName("F" + IntToStr(K)).AsInteger := StrToInt(S);
        S := "";
      end;
    end;
  Until S = "";
//   TDataSet.Append;
//   TDataSet.FieldByName(FieldName).AsInteger := StrToInt(s);
Until EOF(f);
CloseFile(F);

Кодом это можно назвать с большой натяжкой... наспех написанное.... 10 минут!!! Но работает на самом деле!



Страницы: 1 вся ветка

Текущий архив: 2004.09.05;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.05 c
3-1091679619
RDen
2004-08-05 08:20
2004.09.05
не выполняется запрос по полю с названием DATE


1-1092961526
orop
2004-08-20 04:25
2004.09.05
ListView- "осветление иконки пункта".


14-1091990751
Soft
2004-08-08 22:45
2004.09.05
И Ш К У Ш Ш Т В Е Н Н Ы Й И Н Т Е Л Л Е К Т


3-1092027517
46_55_41_44
2004-08-09 08:58
2004.09.05
Как сбросить AutoIncrement?


3-1092124172
pavel_guzhanov
2004-08-10 11:49
2004.09.05
Текст запроса