Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];

Вниз

импорт текстовой таблицы в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.028 c
1-1092825970
Roadstar
2004-08-18 14:46
2004.09.05
ListView


8-1087053152
barnaul
2004-06-12 19:12
2004.09.05
Задать движение точки по эллипсу на форме


4-1090309158
andrey__
2004-07-20 11:39
2004.09.05
Как программно узнать процент Загрузку ЦП


1-1093007891
iBitmap
2004-08-20 17:18
2004.09.05
cm_mouseleave при MouseDown


14-1092742868
DelphiNew
2004-08-17 15:41
2004.09.05
расчёт Возмещение НДС





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский