Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2016, 13:39   #1
medved_program
Пользователь
 
Регистрация: 15.01.2015
Сообщений: 20
По умолчанию Запись данных из txt в DBGride

Доброго времени суток, столкнулся с проблемой при переносе данных и txt файла в таблицу DBGride, добавляется лишь первый столбец.
вот листинг
PHP код:
procedure TFormDisp.Button1Click(SenderTObject);
var
f:textFile;
s,sum:string;
begin

While not DataModule1.Disp.Eof do
DataModule1.Disp.Delete;
AssignFile(f,'DispData.txt');
reset(f);
While 
not eof (f) do begin
Readln
(f,s);
if 
pos('|',s)<>0 then
begin

DataModule1
.Disp.Insert;
DataModule1.Disp.Fields[1].AsString:=Copy(s,1,pos('|',s)-1);
DataModule1.Disp.Fields[2].AsString:=Copy(s,1,pos('|',s)-1);
DataModule1.Disp.Fields[3].AsString:=Copy(s,1,pos('|',s)-1);
DataModule1.Disp.Fields[4].AsString:=Copy(s,1,pos('|',s)-1);
DataModule1.Disp.Fields[5].AsInteger:=StrToInt(copy(s,pos('|',s)+1length(s)-pos('|',s)+1));

DataModule1.Disp.Post;
end;
end;
closeFile(f);

end;

end
medved_program вне форума Ответить с цитированием
Старый 21.02.2016, 14:22   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Нет ни какой проблемы, сам же и добавляешь одно и то же. Можно удалять каждый выдернутый кусок текста из строки после заполнения поля. Можно PosEx воспользоваться
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 21.02.2016, 14:23   #3
kropotkina-alice
Форумчанин
 
Аватар для kropotkina-alice
 
Регистрация: 27.10.2014
Сообщений: 594
По умолчанию

PosEx(...)
kropotkina-alice вне форума Ответить с цитированием
Старый 21.02.2016, 17:05   #4
medved_program
Пользователь
 
Регистрация: 15.01.2015
Сообщений: 20
По умолчанию

мне удалять нельзя, необходимо просто брать данные и заносить в таблицу

такой функции в delphi 7 у меня нету.

Последний раз редактировалось Аватар; 21.02.2016 в 17:54.
medved_program вне форума Ответить с цитированием
Старый 21.02.2016, 17:49   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
нету
unit StrUtils
Цитата:
мне удалять нельзя
Кто-то запретил?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 21.02.2016 в 17:54.
Аватар вне форума Ответить с цитированием
Старый 21.02.2016, 18:46   #6
medved_program
Пользователь
 
Регистрация: 15.01.2015
Сообщений: 20
По умолчанию

нет, но у меня данные обновляются при помощи данного файла, т.е. при обновлении все данные из таблицы удаляются, а после добавляются снова и вместе со старыми, будут присутствовать и новые данные,
P.S. Ваш способ тоже подходит, но его мне будет долго и трудно реализовать

Последний раз редактировалось medved_program; 21.02.2016 в 18:48.
medved_program вне форума Ответить с цитированием
Старый 21.02.2016, 19:31   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Вот пример с PosEx
Код:
  s:='abc|jjjj|cccccc|12345';
  i:=0;
  repeat
    Inc(i);
    j:=PosEx('|',s,i);
    if j=0 then Memo1.Lines.Add(Copy(s,i,Length(s)))
           else Memo1.Lines.Add(Copy(s,i,j-i));
    i:=j;
  until i=0;
Можно и сразу с помощью JET OLEDB такой текстовый файл в датасет засунуть
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 21.02.2016, 19:52   #8
medved_program
Пользователь
 
Регистрация: 15.01.2015
Сообщений: 20
По умолчанию

спасибо за код, сейчас попробую, что-нибудь сообразить
medved_program вне форума Ответить с цитированием
Старый 21.02.2016, 19:58   #9
medved_program
Пользователь
 
Регистрация: 15.01.2015
Сообщений: 20
По умолчанию

нет, у меня delphi не знает команды PosEx
medved_program вне форума Ответить с цитированием
Старый 21.02.2016, 20:33   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А почитать внимательно пост #5?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись данных в файл txt с переносом Lidovsci PHP 3 09.10.2011 22:13
импорт из txt, работа с массивом данных, экспорт в txt Danara Microsoft Office Excel 4 31.03.2010 00:26
Запись массива данных из Excel в файл txt Maxx Microsoft Office Excel 5 11.12.2009 14:00
Запись массива в txt yura-cat Помощь студентам 5 20.10.2008 23:54
Запись из файла txt или mdb в базу данных DerSky БД в Delphi 6 09.06.2008 12:50