Вниз
Скачать: CL | DM;

Поиск в файле по параметрам   Найти похожие ветки 

 
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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.015 c
3-1131954947
mmms
2005-11-14 10:55
2006.01.08
Спросить о сохранении после редактирования DBGrid


6-1127396291
Санек
2005-09-22 17:38
2006.01.08
InternetReadFile как проверить ошибку???


2-1134862647
Neiroman
2005-12-18 02:37
2006.01.08
Memo и строки


1-1134030943
TBeginner
2005-12-08 11:35
2006.01.08
Цвет строки в TListView


4-1130767725
RomeoGolf
2005-10-31 17:08
2006.01.08
Свернуть дочернее окно в панель задач




   Наверх