Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.01.21;
Скачать: [xml.tar.bz2];

Вниз

запись в файле 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.053 c
11-1144487694
Maloric
2006-04-08 13:14
2007.01.21
Form1.ScaleBy


15-1167494417
red_imp
2006-12-30 19:00
2007.01.21
Фрактал Минковского


3-1161885778
Katya
2006-10-26 22:02
2007.01.21
Редактирование времени в DBGrid


15-1166817209
Ученик чародея
2006-12-22 22:53
2007.01.21
FSF начинает кампанию против Microsoft Vista.


2-1168086965
Ламер 2.Х
2007-01-06 15:36
2007.01.21
Закрытие формы





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский