Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.21;
Скачать: CL | DM;

Вниз

запись в файле record как найти нужную запись   Найти похожие ветки 

 
Vic-z   (2007-01-05 13:41) [0]

Структура записи в файле такая

TBase_f=record
  tel: String[15];
  fio: String[80];
  ul: String[80];
  gor: String[40];
  dus: String[15];
end;
var
 Form1: TForm1;
 f: File of TBase_f;
 rec: TBase_f;      
 n: Integer;      
 tel_red,fio_red,ul_red,gor_red,dus_red:String;

так читаю все записи

procedure TForm1.FormCreate(Sender: TObject);
begin
 AssignFile(f,"c:\tel.db");
 Reset(f);
 while not EOF(f) do
    begin
       read(f, rec);
       begin
           n:=n+1;
           StringGrid1.Cells[0,n]:= rec.tel;
           StringGrid1.Cells[1,n]:= rec.fio;
           StringGrid1.Cells[2,n]:= rec.ul;
           StringGrid1.Cells[3,n]:= rec.gor;
           StringGrid1.Cells[4,n]:= rec.dus;
       end;
 end;
 CloseFile(f);
end;

а как можно найти конкретную запись в файле например по номеру телефона rec.tel
типа вводим номер в Edit1.text и кликаем на Button1
и как найти все записи если введен номер не полностью, например ищем 2234
получаем все записи 22341,22342...22349


 
Anatoly Podgoretsky ©   (2007-01-05 13:45) [1]

> Vic-z  (05.01.2007 13:41:00)  [0]

if rec.tel = ... then


 
Vic-z   (2007-01-05 13:55) [2]


> Anatoly Podgoretsky ©   (05.01.07 13:45) [1]
> if rec.tel = ... then

а как по неполностью введенному номеру отобразить все найденные записи, вероятно как то использовать рег.выражения (не знаю как, подскажите)?
И можно ли как то удалить или изменить найденую запись где то в середине файла?


 
tesseract ©   (2007-01-05 14:00) [3]


> И можно ли как то удалить или изменить найденую запись где
> то в середине файла?


Изменить можно, Seek(f,RecordNo*SizeOf(Tbase_F)) / Write(f, NewRecord).

Удалить нельзя, только ввести пометку "удалён", или записать туда новую запись.


 
Vic-z   (2007-01-05 14:05) [4]


> tesseract ©   (05.01.07 14:00) [3]
> Изменить можно, Seek(f,RecordNo*SizeOf(Tbase_F)) / Write(f,
>  NewRecord).
спасибо
> Удалить нельзя, только ввести пометку "удалён", или записать
> туда новую запись.

пометка "удалён" что дает? можно подробнее как измениться структура файла?


 
Anatoly Podgoretsky ©   (2007-01-05 14:08) [5]

> Vic-z  (05.01.2007 13:55:02)  [2]

if POS("шаблон", rec.tel) > 0 then


 
Anatoly Podgoretsky ©   (2007-01-05 14:10) [6]

> Vic-z  (05.01.2007 14:05:04)  [4]

Дает признак, что запись удалена.
Структура никак не изменится.
Если структура изменится, то пиши пропало.

Твои вопросы не тянуют на начинающего, они ниже.



Страницы: 1 вся ветка

Текущий архив: 2007.01.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.033 c
15-1167809375
Хмм
2007-01-03 10:29
2007.01.21
DLL .... а можно ли...


3-1162205718
oleg_v
2006-10-30 13:55
2007.01.21
как обнулить (обновить) поле Autoincrement(+)


3-1162302080
MAX727
2006-10-31 16:41
2007.01.21
Как создать .mdb - файл


5-1146823516
Керик
2006-05-05 14:05
2007.01.21
Серые значки пунктов меню


2-1167857415
Ламер 2.Х
2007-01-03 23:50
2007.01.21
Indy