Здравствуйте. Нужна помощь: дана программа базы данных, в нее нужно интегрировать кнопку поиска и вывода студентов-однофамильцев на отдельную форму. пробовал писать процедуры, видимо, где-то ошибка...
вот функция поиска однофамильцев и процедура обработки, помогите пожалуйста, очень надо
[CODE]function IsOdnofam(S: TStud): boolean;
var
c : array of string;
compare : string;
b,r : char;
i,j,jc : integer;
begin
Result := true;
SetLength(c,StringGrid1.RowCount - 2); i := 0; jc := 0;
for j := 1 to StringGrid1.RowCount - 1 do
begin
b := cells[5,j];
while b[i] <> ' ' do
begin
r := r + b[i];
Inc(i);
end;
c[j-1] := r;
end;
while jc <> StringGrid1.RowCount do
for j := jc to StringGrid1.ColCount - 1 do
begin
compare := c[jc];
i := j;
if (compared = c[j]) and (i <> j) then
result:=false;
end;
if j = StringGrid1.ColCount - 1 then
inc(jc);
end;
end.
end;
procedure SetFindOdnofam(StringGrid: TStringGrid);
var
i: word;
j: integer;
begin
FindStr:=AnsiUpperCase(FindStr);
ResetStud; i:=0; adr:=-1;
with StringGrid do
while not EOF(fStud) do
begin
Read(fStud,Stud); adr:=adr+1; // AnsiUpperCase(const S: string): string;
if (Stud.y<>0) and (IsOdnofam(Stud)) then begin
Inc(i);
Cells[0,i]:=IntToStr(adr);
Cells[1,i]:=IntToStr(i);
Cells[2,i]:=IntToStr(Stud.IdGroup);
Cells[3,i]:=IntToStr(Stud.IdStud);
Cells[4,i]:=Stud.FIO;
end;
end;
StringGrid.RowCount:=i+1;
if i>0 then StringGrid.FixedRows:=1;
CloseFile(fStud);
end;[/CODE]
если что, сам проект выложил здесь
http://dump.ru/file/4080317