Форум: "Базы";
Текущий архив: 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.53 MB
Время: 0.031 c