Форум: "Начинающим";
Текущий архив: 2009.08.23;
Скачать: [xml.tar.bz2];
ВнизВозможно ли такое? Или и нестоит заморачиваться? Найти похожие ветки
← →
Игорёк Ш. (2009-06-24 18:36) [0]Мастера, возможно ли такое. Чтоб во время выполнения приложения в базу данных(clientdataset), Загрузить текстовый файл?
← →
Плохиш © (2009-06-24 18:38) [1]В программировании возможно всё.
← →
Игорёк Ш. (2009-06-24 18:38) [2]Текстовый файл по умолчанию не имеет определённых полей. произвольный текст.
← →
Ega23 © (2009-06-24 18:39) [3]В BLOB можно запихать всё.
Ты задачу растолкуй.
← →
Игорёк Ш. (2009-06-24 18:42) [4]есть текстовый файл. в нём идёт (к примеру) перечисление продуктов.
мясо
рыба
тушёнка ну и т.п.
каждое наименование идёт с новой строки(в текстовом файле). возможно ли запихать в базу, полностью весь текст(из файла). Если да... То от чего оттолкнуться можно?
← →
clickmaker © (2009-06-24 18:46) [5]> запихать в базу, полностью весь текст
в одно поле?
← →
Новичок (2009-06-24 18:51) [6]
> в одно поле?
нет. Каждое наименование в бд с новой строки должно идти.
← →
Плохиш © (2009-06-24 18:55) [7]
> То от чего оттолкнуться можно?
Надо "оттолкнуться" с помощью чтения букваря по программированию.
← →
clickmaker © (2009-06-24 18:55) [8]> [6] Новичок (24.06.09 18:51)
ну как-то так
StringList.LoadFromFile(FileName);
for i := 0 to StringList.Count-1 do begin
ClDs.Insert;
ClDs.FieldByName("ProductName").AsString := StringList.Strings[i];
ClDs.Post;
end;
ClDs.ApplyUpdates(0);
← →
Плохиш © (2009-06-24 18:55) [9]
> Каждое наименование в бд с новой строки должно идти.
В "бд" строк нет.
← →
Ega23 © (2009-06-24 18:56) [10]
> То от чего оттолкнуться можно?
>
1. Загружаем файл.
2. Разбираем его по словам.
3. Грузим каждое в цикле в базу.
Как самый тупой пример:var
sl : TStringList;
i : Integer;
begin
sl := TStringList.Create;
try
sl.LoadFromFile(......);
for i := 0 to sl.Count -1 do
Грузить_В_БД(Trim(sl[i]));
finally
sl.Free;
end;
end;
← →
Игорёк Ш. (2009-06-24 18:57) [11]спс :))
← →
Игорёк Ш. (2009-06-24 20:13) [12]в чём проблем-с? в listbox всё нормально заносится а вот в dbgrid в каждую строчку все данные из txt файла?
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
if openDialog1.Execute then Memo1.Lines.LoadFromFile(OpenDialog1.FileName); {загружаем в мемо содержимое открытого файла}
Form1.Caption:=ExtractFileName(OpenDialog1.FileName);
begin
for i := 0 to memo1.Lines.Count-1 do
begin
form1.ClientDataSet1.Edit;
form1.ClientDataSet1name.Value :=trim(memo1.Lines.Text );
form1.ClientDataSet1.Post;
form1.ClientDataSet1.Insert;
end;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var l_iPos : Integer;
l_sStr : String;
l_sPiece : String;
begin
ListBox1.Clear;
l_sStr:=memo1.Lines.Text;
l_iPos:=Pos(" ",l_sStr);
while l_iPos<>0 do begin
l_sPiece:=Copy(l_sStr,1,l_iPos-0);
ListBox1.AddItem(l_sPiece,Nil);
Delete(l_sStr,1,l_iPos);
l_iPos:=Pos(" ",l_sStr);
end;
ListBox1.AddItem(l_sStr,Nil);
end;
end.
← →
Игорёк Ш. (2009-06-24 20:36) [13]усё... разобрался
← →
MsGuns © (2009-06-24 21:30) [14]Подобные задачки лучше всего решать, ИМХО, следующим образом - импортируешь файл в эксел, простым макросом разбивешь слова на "поля", которые и рассовываешь по колонкам. Далее "автор" текста вдумчиво правит, разнося или, наоборот, собирая названия в "правильные" колонки.
Из экселя готовую таблицу - в базу.
← →
Новичок (2009-06-24 22:29) [15]не знаю.... код конечно корявенький но то что нужно работает. сначало гружу файл в мемо1, потом разбираю на слова и запихиваю в базу
← →
Игорёк Ш. (2009-06-24 22:29) [16]вот код
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
if openDialog1.Execute then Memo1.Lines.LoadFromFile(OpenDialog1.FileName); {загружаем в мемо содержимое открытого файла}
Form1.Caption:=ExtractFileName(OpenDialog1.FileName);
end;
procedure TForm1.Button2Click(Sender: TObject);
var l_iPos : Integer;
l_sStr : String;
l_sPiece : String;
begin
memo2.Clear;
l_sStr:=memo1.Lines.Text;
l_iPos:=Pos(" ",l_sStr);
while l_iPos<>0 do begin
l_sPiece:=Copy(l_sStr,0,l_iPos-1);
form1.ClientDataSet1.Insert;
form1.ClientDataSet1name.Value :=l_sPiece;
memo2.Lines.AddObject(l_sPiece,Nil);
Delete(l_sStr,1,l_iPos);
l_iPos:=Pos(" ",l_sStr);
end;
end;
← →
Игорёк Ш. (2009-06-24 22:33) [17]толькр один ньюанс возникает перед словом в базе два пробела лишних стоят. Ну думаю разберусь чьё к чему
← →
Игорь Шевченко © (2009-06-24 23:46) [18]давить тех, кто для чтения файла кроме мемо ничего не знает
← →
Германн © (2009-06-25 00:43) [19]
> Игорь Шевченко © (24.06.09 23:46) [18]
>
> давить тех, кто для чтения файла кроме мемо ничего не знает
А я уже давно ругаю тут палитру Дельфи. Бо почти все новички видят только первую её вкладку.
← →
Плохиш © (2009-06-25 10:46) [20]
> Игорь Шевченко © (24.06.09 23:46) [18]
>
> давить тех, кто для чтения файла кроме мемо ничего не знает
Баттонокидатели тоже нужны ;-)
← →
clickmaker © (2009-06-25 12:31) [21]> Бо почти все новички видят только первую её вкладку
"поступило предложение на порносайтах начинать грузить картинки снизу" (с) не помню, чей
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.08.23;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.007 c