![]() |
|
|
#1
|
|||
|
|||
|
Для участия а конкурсе на замещение вакантной должности сотрудника фирмы желающие подают следующую информацию:
Ф.И.О., год рождения, образование (среднее, специальное, высшее), знание иностранных языков (английский, немецкий, французский, владею свободно, читаю и перевожу со словарем), владение компьютером (MSDOS, Windows), стаж работы, наличие рекомендаций. Вывести список претендентов в соответствии с требованиями руководства фирмы ![]() требования предполагаю .........ннадо вначале оговаривать...т.е. предлагать пользователю их выбрать...типа критерий отбора)))))))) Последний раз редактировалось kate_miss, 21.08.2010 в 00:23. |
|
#2
|
||||
|
||||
|
Что-то я не понял, а что вы собственно хотите? Картинка эта взята из рабочей программы или вы так видите решение?
|
|
#3
|
|||
|
|||
|
Я так полагаю, нужна форма поиска и собственно процедура поиска. при том, что информация на самом деле хранится в виде зеписей в типизированном файле.
Ну. собственно, делаем критерии, можно в таком-же виде, как и форма ввода, только к каждому критерию прицепляем еще CheckBox - включать его в приск или нет. Далее последовательно считываем записи из файла и проверяем по выбранным пользователем критериям. Результат, в виде списка или файла, вываливаем пользователю. Работы максимум на час-полтора (форму дольше рисовать, чем код писать). |
|
#4
|
|||
|
|||
|
форма это мое видение решения.....вот только куда критерии вставить еще не нашла.......))))))))
![]() |
|
#5
|
||||
|
||||
|
Вместо названий группбоксов положите на то-же место чекбоксы с названием.
|
|
#6
|
|||
|
|||
|
***************код****************
Код:
type
TSotrydnik= record
fio:string[15];
god:integer;
obr:string[15];
inyaz:string[15];
stepen:string[10];
komp:string[10];
stazh:integer;
recom:string[10];
end;
var
Form1: TForm1;
Mass:array [1..300] of TSotrydnik;
masscnt:integer;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
BitBtn2.Hide;
masscnt:=0;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
//Memo1.Lines.Add('-------ФИО-------Год рождения-------Образование-------Ин.яз-------Владение-------Знание ПК-------Стаж-------Рекомендации');
//Memo1.Lines.Add('------------------------------------------------------------------------------------------------------------------------');
masscnt:=masscnt+1;
Mass[masscnt].fio:=Edit1.Text;
Mass[masscnt].god:=StrToInt(Edit2.Text);
Mass[masscnt].obr:=Edit3.Text;
Mass[masscnt].inyaz:=Edit4.Text;
Mass[masscnt].stepen:=Edit5.Text;
Mass[masscnt].komp:=Edit6.Text;
Mass[masscnt].stazh:=StrToInt(Edit7.Text);
Mass[masscnt].recom:=Edit8.Text;
Memo1.Lines.Add(Mass[masscnt].fio+' '+IntToStr(Mass[masscnt].god)+' '+Mass[masscnt].obr+' '+
Mass[masscnt].inyaz+' '+Mass[masscnt].stepen+' '+Mass[masscnt].komp+' '+IntToStr(Mass[masscnt].stazh)+' '+Mass[masscnt].recom);
Edit1.Text := '';
Edit2.Text := '';
Edit3.Text := '';
Edit4.Text := '';
Edit5.Text := '';
Edit6.Text := '';
Edit7.Text := '';
Edit8.Text := '';
Edit1.SetFocus;
end;
procedure TForm1.BitBtn4Click(Sender: TObject);
var f:FILE of TSotrydnik;
begin
if OpenDialog1.Execute then
begin
masscnt:=0;
AssignFile(f,OpenDialog1.FileName);
Reset(f);
while not eof(f) do
begin
masscnt:=masscnt+1;
Read(f,Mass[masscnt]);
end;
CloseFile(f);
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var f:FILE of TSotrydnik;
begin
Form1.Close;
//CloseFile(f);
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
var i:integer;
f:FILE of TSotrydnik;
begin
if SaveDialog1.Execute then
begin
AssignFile(f,SaveDialog1.FileName);
Rewrite(f);
for i:=1 to masscnt do
write(f,Mass[i]);
CloseFile(f);
end;
end;
procedure TForm1.BitBtn5Click(Sender: TObject);
var f:FILE of TSotrydnik;
begin
//OpenDialog1.Title := 'Создать новый файл';
if OpenDialog1.Execute then
begin
AssignFile(f,OpenDialog1.FileName);
Rewrite(f);
BitBtn2.Show; //Сделать видимой кнопку "Ввести запись"
end;
{var i:integer;
begin
Memo1.Lines.Add('-------ФИО-------Год рождения-------Образование-------Ин.яз-------Владение-------Знание ПК-------Стаж-------Рекомендации');
for i:=1 to Masscnt do
begin
Memo1.Lines.Add(Mass[i].fio+' '+IntToStr(Mass[i].god)+' '+Mass[i].obr+' '+
Mass[i].inyaz+' '+Mass[i].stepen+' '+Mass[i].komp+' '+IntToStr(Mass[i].stazh)+' '+Mass[i].recom);
end;
end;}
end;
end.ВОТ ЧТО У МЕНЯ ПОКА ПОЛУЧИЛОСЬ.......только вот что-то открытие не работает ------ вернее в memo данные не отображаются(((((((( и вот эти критерии.....в заданиии так не ясно...что я даже не понимаю как их сделать.....!!!!!!!! help me))))) и еще помогите сделать красивый вывод данных в memo.......не получается..все как то в разброс)))))) |
|
#7
|
|||
|
|||
|
Для того, что бы в Memo вывелось красиво, надо установить в нем моноширинный шрифт (например, courier new). Ну и ширину полей посчитать.
|
|
#8
|
||||
|
||||
|
kate_miss можеттебе лутче использовать richedit тогда ище красивее будет)))
и в твоем случае лутче использовать динамический масив таки красивей будет и потребность в masscnt отпадет. в мемо ниче не выводится при открытии так как ты ничего туда и не выводишь))) Последний раз редактировалось Bars1992, 22.08.2010 в 20:21. |
|
#9
|
|||
|
|||
|
Цитата:
подскажите пожалуйста как использовать richedit...просто я заменила на него ....выводит также......а как что задать незнаю(((((((( |
|
#10
|
||||
|
||||
|
одинм из главных войств рич едита это SelAttributes, то-есть в нем можно выставлять цвет, высоту, жырность текста. Если вы изменили SelAttributes рич едита, то ети атрибуты будут применятся только к тексту который будет набраный или вставленый дальше. Детальней про этот компонент можно прочитать здесь. поексперементируйте в каком нибудь левом проекте. я думаю вы быстро вникните.
|
|
#11
|
||||
|
||||
|
Может так Записи и файлы.rar
|