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

Вниз

Возможно ли такое? Или и нестоит заморачиваться?   Найти похожие ветки 

 
Игорёк Ш.   (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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.006 c
2-1246011562
AndrewG
2009-06-26 14:19
2009.08.23
Получить номер элемента в массиве


15-1245475073
TUser
2009-06-20 09:17
2009.08.23
Визбору - 75 !!!


2-1245839187
Sesh
2009-06-24 14:26
2009.08.23
Задать атрибуты файлам


1-1212411569
Kolan
2008-06-02 16:59
2009.08.23
Так присвоение булевой переменной атомарное или нет?


15-1245558337
honor
2009-06-21 08:25
2009.08.23
Вопрос по версии Delphi





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский