Текущий архив: 2002.04.18;
Скачать: CL | DM;
Вниз
Как перейти на следующую запись? Найти похожие ветки
← →
shane54 (2002-03-27 16:06) [0]Вот такой код выдает только первую запись...
for i := 0 to Table.RecordCount -1 do
begin
for j := 0 to Table.FieldCount - 1 do
write(Table.Fields[j].DisplayText, " ");
writeln;
end;
← →
Aleksandr (2002-03-27 16:19) [1]Ну, если Вам хочется непременно такой код, то надо делать так:
Table.First;
for i:=0 to Table.RecordCount-1 do begin
for j:=0 to Table.FieldCount-1 do
write(Table.Fields[j].DisplayText," ");
writeln;
Table.MoveBy(1)
end;
а вообще принято делать так:
Table.First;
while NOT Table.EOF do begin
for j:=0 to Table.FieldCount-1 do
write(Table.Fields[j].DisplayText," ");
writeln;
Table.Next
end
← →
shane54 (2002-03-27 16:24) [2]Спасибо, правда я уже сам все решил...
← →
Digitman (2002-03-27 16:28) [3]1. Особенности реализации доступа к таблице с использованием индекса таковы, что при открытии таблицы (либо смене тек.индекса) св-во RecordCount будет <= 1. Чтобы получить актуальное значение RecordCount в тек.транзакции, нужно "сходить в конец" таблицы вызовом метода Last.
2. Даже если бы не было такой особенности и RecordCount в любой момент времени "показывало" действительное число записей в НД, переменная цикла i в приведенном тобой фрагменте нигде не используется, и по записям ты не перемещаешься вообще, так что цикл for j := 0 to будет все время работать в пределах тек.записи, той, на которой ты "стоишь" в момент старта цикла for i := 0 to
← →
Anatoly Podgoretsky (2002-03-27 23:23) [4]shane54 © (27.03.02 16:24)
Это кстати говорит, что не надо торопиться с вопросом, зачем замусоривать форум.
Страницы: 1 вся ветка
Текущий архив: 2002.04.18;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.004 c