| 
| 
 | Вопрос # 3 164/ вопрос открыт / | 
 |  Здравствуйте, уважаемые эксперты!У меня возникла проблева выгрузки строк из FileListBox в DBGrid чтобы соответствовали строки а то у меня получилось выгрузить только в одну стору DBGrid/
 Приложение:Переключить в обычный режим procedure TForm1.Button4Click(Sender: TObject);var F: TextFile; S: String;beginADOTable1.Edit;AssignFile(F,'C:test.txt');Reset(F);while not EOF(F) dobegin  ReadLn(F,S);  ADOTable1.FieldByName('Files').AsString:= FileListBox1.Items.Text;end;CloseFile(F);end;
|  |   Вопрос задал: demyan (статус: Посетитель)Вопрос отправлен: 9 сентября 2009, 14:22
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, demyan!если надо добавлять строки, то код должен быть такой
 
 begin
AssignFile(F,'C:\test.txt');
Reset(F);
while not EOF(F) do
begin
  ReadLn(F,S);
  ADOTable1.Insert; //ой, или Append? давно не использовал.
  ADOTable1.FieldByName('Files').AsString:= FileListBox1.Items.Text;
  ADOTable1.Post;
end;
CloseFile(F);
end;если же надо "перезаписать данные", при условии, что записей в таблице достаточно, то где то так
 begin
AssignFile(F,'C:\test.txt');
Reset(F);
while not EOF(F) do
begin
  ReadLn(F,S);
  ADOTable1.Edit; 
  ADOTable1.FieldByName('Files').AsString:= FileListBox1.Items.Text;
  ADOTable1.Post;
  ADOTable1.Next; //или MoveNext;
end;
CloseFile(F);
end;
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 9 сентября 2009, 14:38
 Оценка за ответ: 3
 Комментарий к оценке: Не то.В FileListBox есть
 Понееник.txt
 Вторник.txt
 Среда.txt
 Так вот мне нужно чтобы эти строки записались в таблицу такимиже строками а у тебя получасется все в одну строчку
 Понееник.txt,Вторник.txt,Среда.txt
 Проверь сам.
 |  
 Мини-форум вопросаВсего сообщений: 6; последнее сообщение — 9 сентября 2009, 16:10; участников в обсуждении: 4. 
|   | Вадим К (статус: Академик), 9 сентября 2009, 14:34 [#1]:в грид выгрузить данные нельзя. грид - это только средство отображения. Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Тов. Женька (статус: 3-ий класс), 9 сентября 2009, 14:41 [#2]:Используйте Append (для добавления записи в конец) и Post (для "закрепления"). |  
|   | min@y™ (статус: Доктор наук), 9 сентября 2009, 14:42 [#3]:Чота не пойму, зачем нужно чтение строк из файла C:\test.txt? Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Вадим К (статус: Академик), 9 сентября 2009, 14:43 [#4]:то min@y™ так. банальный импорт
   Галочка "подтверждения прочтения" - вселенское зло. |  
|   | demyan (статус: Посетитель), 9 сентября 2009, 16:01 [#5]:Я имел ввиду что строки FileListBox допустим Понедельник
 Вторник
 Среда
 Четверг
 и т.д.
 Мне нужно чтобы эти строки были записаны в поле таблицы Files в таком же порядке
 Понедельник
 Вторник
 Среда
 Четверг
 и т.д.
 а не в одну строку Понедельник, Вторник, Среда, Четверг, и т.д..
 Демьян |  
|   | Вадим К (статус: Академик), 9 сентября 2009, 16:10 [#6]:стоп, так в исходном коде были глупости. если просто с листбокса, то тогда так 
 begin
AssignFile(F,'C:\test.txt');
Reset(F);
while not EOF(F) do
begin
  ReadLn(F,S);
  ADOTable1.Insert; //ой, или Append? давно не использовал.
  ADOTable1.FieldByName('Files').AsString:= s;
  ADOTable1.Post;
end;
CloseFile(F)но только тогда зачем лисбокс. либо напрямую с листбокса
 var i:integer;
begin
for i := 0 to FileListBox1.items.count - 1 d0
begin
  ADOTable1.Insert; //ой, или Append? давно не использовал.
  ADOTable1.FieldByName('Files').AsString:= FileListBox1.items[i];
  ADOTable1.Post;
end;А вот сумарно и файл и листбокс - я не знаю.А вот будет ли порядок совпадать с тем, что есть в таблице - никто не гарантирует при таком подходе. Если таблица не отсортирована, то говорить о порядке записей нельзя. Это базовые понятия теории реляционных БД.
 P.S. на форуме принято употреблять "Вы"
 Галочка "подтверждения прочтения" - вселенское зло. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |