Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
14-1134504989
(CHALING 32)S K i N E R
2005-12-13 23:16
2006.01.08
CHAT


3-1131976444
DelphiLexx
2005-11-14 16:54
2006.01.08
Выделить строку в DBGrid


4-1131124103
Arazel
2005-11-04 20:08
2006.01.08
Как узнать состояние принтеров


2-1134608925
ZeeM
2005-12-15 04:08
2006.01.08
Вопрос по Query


14-1134683046
Kerk
2005-12-16 00:44
2006.01.08
Знаменитый фильм с Тимошенко в главной роли :)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский