|
Вопрос # 3 164/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
У меня возникла проблева выгрузки строк из FileListBox в DBGrid чтобы соответствовали строки а то у меня получилось выгрузить только в одну стору DBGrid/
Приложение: Переключить в обычный режим- procedure TForm1.Button4Click(Sender: TObject);
- var F: TextFile; S: String;
- begin
- ADOTable1.Edit;
- AssignFile(F,'C:test.txt');
- Reset(F);
- while not EOF(F) do
- begin
- 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. на форуме принято употреблять "Вы"
Галочка "подтверждения прочтения" - вселенское зло.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|