Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.008 c
1-1212311072
Tack
2008-06-01 13:04
2009.08.23
Отключить автопрокрутку в TScrollBox


15-1244210076
Student
2009-06-05 17:54
2009.08.23
Качество кода


15-1245789024
Юрий
2009-06-24 00:30
2009.08.23
С днем рождения ! 24 июня 2009 среда


15-1245441575
Step
2009-06-19 23:59
2009.08.23
Служба клиент групповой политики


1-1211808558
Ilg
2008-05-26 17:29
2009.08.23
Кнопка с фиксацией и TabStop





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