Форум: "Базы";
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];
ВнизУ меня есть такая процедура Найти похожие ветки
← →
Ольга (2002-01-22 14:19) [0]Все работает, а вот в ListBox3 данные не меняются, не понимаю в чем дело
procedure TForm1.Button6Click(Sender: TObject);
var i,l,j:integer;
s:string;
begin
Table2.close;
Table2.CachedUpdates:=false;
if button6.Caption="Удаленные данные" then
begin
table2.TableName:="last.dbf";
button6.Caption:="Рабочие данные" ;
listbox1.font.Color:=clblue;
listbox2.font.Color:=clblue;
listbox3.font.Color:=clblue;
end
else
begin
table2.TableName:="data.dbf";
button6.Caption:="Удаленные данные";
listbox1.font.Color:=clblack;
listbox2.font.Color:=clblack;
listbox3.font.Color:=clblack;
end;
table1.close;
Table1.EmptyTable;
table2.cachedupdates:=true;
table2.Open;
table1.open;
for i:=1 to table2.recordcount do
begin
table1.insert;
table1.fields[0].asstring:=table2.fields[0].asstring;
table1.fields[1].asstring:=table2.fields[1].asstring;
l:=length(table2.fields[2].asstring);
table1.fields[2].asstring:=table2.fields[2].asstring[l];
for j:=1 to l-1 do
begin
s:=table2.fields[2].asstring[j];
table1.fields[2].asstring:=table1.fields[2].asstring+s;
end;
table2.next;
end;
with Table1 do
begin
try
ApplyUpdates;
except
raise;
end;
CommitUpdates;
end;
listbox1.clear;
listbox2.clear;
listbox3.clear;
Table1.First;
for i:=1 to table1.RecordCount do
begin
listBox1.Items.Add(Table1.FieldbyName("Otdel").asstring);
listBox2.Items.Add(Table1.FieldbyName("Name").asstring);
listBox3.Items.Add(Table1.FieldbyName("Parol").asstring);
table1.Next;
end;
end;
← →
Digitman (2002-01-22 14:40) [1]если не принимать во внимание строчку listBox3.Clear (это можно считать тоже изменением, если до выполнения строчки список был непуст), то это значит только одно : строчка
listBox3.Items.Add(Table1.FieldbyName("Parol").asstring);
не выполняется.
← →
Ольга (2002-01-22 14:43) [2]При первом нажатии на кнопку - все меняется, при следующих - список остается без изменений, в то время, когда другие листбоксы меняют значения.
← →
gek (2002-01-22 15:20) [3]Значит не меняются данные поля FieldbyName("Parol").asstring
Надо см где сие происходит
И еще, что это за код
with Table1 do
begin
try
ApplyUpdates;
except
raise;
end;
CommitUpdates;
end;
может проще надо
with Table1 do
begin
try
ApplyUpdates;
finally
CommitUpdates;
end;
end;
← →
Digitman (2002-01-22 15:21) [4]слушай, ну ты вообще-то имеешь хоть какое-то понятие о трассировке кода ?
← →
Digitman (2002-01-22 15:27) [5]если - лень, так и скажи : "мне лень отладить свой код"
если кроме "батонов" слышать ни о чем не слышала и знать не знаешь (и уж об отладчике встроенном - тем паче), так и скажи : "я не знаю ничего о принципах отладки приложений, отладьте за меня, найдите мои ляпы и исправьте, пожалуйста"
← →
Ольга (2002-01-22 17:21) [6]зачем же так - все с чего-то начинали...
← →
Digitman (2002-01-22 17:47) [7]а что тебе обидного в моем контрвопросе ? ты ведь как свой вопрос ставишь ? "жму на кнопку, и че-то там делается, но не так" ? А что там реально происходит - ты сама хоть чуточку разбиралась ? Ведь код довольно сложную логику реализует, это ж не три строчки, в которых ты сомневаешься ! Что толку-то, что я за тебя оттрассирую этот код ? Тем более, что совершенно непонятно, что значит в твоем вопросе фраза "данные не меняются" ! Даже если "в лоб" предположить, что под этим подразумевается незаполнение по каким-то причинам списка элементов в ListBox3 (а заполнение его происходит именно при вызове метода ListBox3.Items.Add()), то простейший напрашивающийся вывод : не выполняется строчка, содержащая этот вызов. И именно это я тебе подсказал. А ты никак не отреагировала на подсказку. И какие в такой ситуации обиды могут быть, если ты даже не можешь (не хочешь ?) подсказкой воспользоваться ? Вот и получается : "отладьте за меня мой код, а то я не знаю, как его отлаживать"
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c