Форум: "Начинающим";
Текущий архив: 2006.01.08;
Скачать: [xml.tar.bz2];
ВнизПоиск в файле по параметрам Найти похожие ветки
← →
newhite © (2005-12-21 00:50) [0]Помогите разобраться!!!
В файле sklad.db есть 11 записей типа рекорд. Этой процедурой запускается поиск в файле по параметрам из комбоксов. Проблема: некоторые записи (подходящие по поиску) повторяются в итоговом листбоксе по несколько раз. Что это может быть?
(плиз, хелп). завтра уже сдавать прогу :(
procedure TPoiskForm.Button2Click(Sender: TObject);
type
//запись файла
tovar=record
klas:string[20];
tip:string[20];
color:string[20];
price:string[20];
end;
var
f: file of tovar; // файл записей
rec: tovar; // запись, прочитанная из файла
n,i: integer; // кол-во записей удовлетворяющих запросу
st: string[200];
begin
AssignFile(f,"A:\sklad.db");
{$I-}
Reset(f); // открыть файл для чтения
{$I-}
if IOResult <> 0 then
begin
ShowMessage("Ошибка открытия файла БД.");
Exit;
end;
// обработка БД
if RadioButton2.Checked then
ListBox1.Items.Add("*** " + ComboBox4.Text + " ***");
if RadioButton3.Checked then
ListBox1.Items.Add("*** " + ComboBox5.Text + " ***");
if RadioButton4.Checked then
ListBox1.Items.Add("*** " + ComboBox6.Text + " ***");
n :=0;
ListBox1.Clear; // очистить список поля ListBox
while not EOF(f) do
begin
read(f,rec); //прочитать запись
if RadioButton1.Checked or
(rec.klas = ComboBox4.Text) or
(rec.tip = ComboBox5.Text) or
(rec.color = ComboBox6.Text) then
begin
n:=n+1;
st:="Велосипед: "+"класс: "+rec.klas+", тип рамы: "+rec.tip+", цвет: "+rec.color+", цена: $"+rec.price;
end;
listbox1.Items.add(st);
end;
closefile(f);
if n=0 then
showmessage("В БД нет запрашиваемой информации");
end;
← →
Плохиш © (2005-12-21 11:08) [1]
> end;
> listbox1.Items.add(st);
Эти две строки поменять местами
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.01.08;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c