Главная страница
    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.007 c
15-1245307503
an-petroff
2009-06-18 10:45
2009.08.23
Веб-сервер должен писать в Interbase DB, а не хочет!


15-1245701175
matt
2009-06-23 00:06
2009.08.23
Помогите найти автора цикла книг


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


15-1245612165
Холивар
2009-06-21 23:22
2009.08.23
IDirect3DTexture9 самый простой способ копирования данных с HDC.


3-1226317325
Valerik
2008-11-10 14:42
2009.08.23
Ошибка при записи в таблицу Access





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