Ваш код содержит несколько ошибок и недочетов, которые могут привести к тому, что данные не отображаются в ListBox1. Вот несколько изменений, которые могут помочь:
- Убедитесь, что файлы существуют и доступны для чтения.
- Убедитесь, что формат данных в файлах соответствует ожидаемому.
- Проверьте, что условие if e.spec=Edit1.text then выполняется корректно.
- Используйте правильные процедуры для работы с файлами в формате записи, так как вы работаете с текстовыми файлами и файлами записей.
type
TPred = record
Naz: string[50];
Vac: string[50];
end;
TPerson = record
FIO: string[50];
Spec: string[50];
end;
var
g: TPred;
e: TPerson;
f2: File of TPred;
f22: File of TPred;
f1: File of TPerson;
f11: File of TPerson;
procedure TForm4.Button1Click(Sender: TObject);
begin
// Работа с вакансиями
AssignFile(f2, 'Vacansii.dat');
AssignFile(f22, 'Vacansii2.dat');
Reset(f2);
Rewrite(f22);
while not EOF(f2) do
begin
Read(f2, g);
Write(f22, g);
end;
CloseFile(f2);
CloseFile(f22);
// Работа с анкетами
AssignFile(f1, 'Anket.dat');
AssignFile(f11, 'Anket2.dat');
Reset(f1);
Rewrite(f11);
while not EOF(f1) do
begin
Read(f1, e);
Write(f11, e);
if e.Spec = Edit1.Text then
begin
ListBox1.Items.Add(e.FIO);
end;
end;
CloseFile(f1);
CloseFile(f11);
end;
Некоторые важные моменты:
Убедитесь, что файлы "Vacansii.dat" и "Anket.dat" существуют в правильном формате и месте.
Используйте правильные расширения для файлов с записями, например, ".dat".
Код Reset и Rewrite следует использовать для работы с файлами записей (record files), а не текстовыми файлами. В вашем случае это File of TPred и File of TPerson.
Также, для текстовых файлов, если вам нужно работать именно с ними, нужно использовать подходящие типы и процедуры. Пример для текстовых файлов:
var
tfVacansii: TextFile;
tfVacansii2: TextFile;
tfAnket: TextFile;
tfAnket2: TextFile;
procedure TForm4.Button1Click(Sender: TObject);
var
line: string;
begin
// Работа с вакансиями
AssignFile(tfVacansii, 'Vacansii.txt');
AssignFile(tfVacansii2, 'Vacansii2.txt');
Reset(tfVacansii);
Rewrite(tfVacansii2);
while not EOF(tfVacansii) do
begin
Readln(tfVacansii, g.Naz);
Readln(tfVacansii, g.Vac);
Writeln(tfVacansii2, g.Naz);
Writeln(tfVacansii2, g.Vac);
end;
CloseFile(tfVacansii);
CloseFile(tfVacansii2);
// Работа с анкетами
AssignFile(tfAnket, 'Anket.txt');
AssignFile(tfAnket2, 'Anket2.txt');
Reset(tfAnket);
Rewrite(tfAnket2);
while not EOF(tfAnket) do
begin
Readln(tfAnket, e.FIO);
Readln(tfAnket, e.Spec);
Writeln(tfAnket2, e.FIO);
Writeln(tfAnket2, e.Spec);
if e.Spec = Edit1.Text then
begin
ListBox1.Items.Add(e.FIO);
end;
end;
CloseFile(tfAnket);
CloseFile(tfAnket2);
end;
Naz:string[50];
Vac:string[50];
end;
type TPerson = record
FIO:string[50];
spec:string[50];
end;
Vacansii=file of TPred;
Vacansii2=file of TPred;
Anket=file of TPred;
Anket2=file of TPred;
var
g:TPred;
e:TPerson;
f2:TextFile;
f22:TextFile;
f1:TextFile;
f11:TextFile;
{ TForm4 }
procedure TForm4.Button1Click(Sender: TObject);
begin
AssignFile(f2,'Vacansii');
AssignFile(f22, 'Vacansii2');
{$I-}
Reset(f2);
Rewrite(f22);
{$I+}
while not EOF(f2) do
begin
readln(f2, g.naz);
readln(f2, g.vac);
writeln(f22, g.naz);
writeln(f22, g.vac);
end;
CloseFile(f2);
CloseFile(f22);
//ФИО
AssignFile(f1,'Anket');
AssignFile(f11, 'Anket2');
{$I-}
Reset(f1);
Rewrite(f11);
{$I+}
while not EOF(f1) do
begin
readln(f1, e.fio);
readln(f1, e.spec);
writeln(f11, e.fio);
writeln(f11, e.spec);
if e.spec=Edit1.text then
begin
ListBox1.Items.add(e.fio);
end;
end;
CloseFile(f1);
CloseFile(f11);
end;