![]() |
|
|
|
|
#1
|
|||
|
|||
|
На глаза попалась БД и оч заинтересовал ее код. Не могу назвать себя супер delphi программистом, но основные моменты понимаю, а здесь "что-то с чем-то". Пжс кто-нибудь проосвятите ремарками по поводу кода программы. Как она стрингрид с файлом связывает особенно интересно
Код:
var
Form1: TForm1;
save, fileSave: boolean;
fileName: String;
stDay : array[1..7] of string[11] = ('воскресенье','понедельник','вторн ик',
'среда','четверг','пятница','суббот а');
stMonth : array[1..12] of string[8] = ('января','февраля','марта',
'апреля','мая','июня','июля',
'августа','сентября','октября',
'ноября','декабря');
implementation
{$R *.dfm}
procedure TForm1.FormActivate(Sender: TObject);
var
Present: TDateTime;
Year, Month, Day : Word;
begin
with Session do
begin
ConfigMode := cmSession;
try
AddStandardAlias( 'kollej',
ExtractFilePath(ParamStr(0))+'DATA\ ',
'PARADOX');
Table2.Active:=True;
finally
ConfigMode := cmAll;
end;
end;
end;
procedure TForm1.ToolButton8Click(Sender: TObject);
begin
DataSource1.DataSet:=Table2;
end; |
|
#2
|
||||
|
||||
|
Самого кода связи стринггрида с данными тут нет. Здесь только подключение к парадоксовской БД и открытие какой-то таблицы из нее.
Видимо вы что-то пропустили. |
|
#3
|
|||
|
|||
|
Здесь полностью содержание Unit1, Unit2 отвечает исключительно за поиск в стрингрид. Страдалецъ а добаление даты это особенность парадоксовой БД?
|
|
#4
|
||||
|
||||
|
Половина, то что описано нигде не задействована. Скажем в процедуре:
FormActivate описаны переменные Present,Year, Month, Day. Они в теле процедуры никак не обрабатываются и оптимизатор их вообще проигнорирует. Описание массива недели месяца тоже нигде в модуле не используются, и если этот модуль в программе более нигде не вызывается тоже будут проигнорированы оптимизатором. Вы пишете, что полностью дали unit1,unit2 - не похоже, наблюдается только какой-то один из юнитов, скорее всего unit1 |
|
#5
|
|||
|
|||
|
Страдалецъ вот Unit2, видемо здесь собака зарыта и тут нетолько поиск...
Код:
var
Form2: TForm2;
fam:string[30];
implementation
uses Unit1;
{$R *.dfm}
procedure TForm2.BitBtn2Click(Sender: TObject);
begin
if RadioButton6.Checked then begin
fam:=Edit1.Text;
if fam <> '' // пользователь ввел фамилию
then
begin
with form1.Query2 do begin
Close; // закрыть файл-результат выполнения предыдущего запроса
SQL.Clear; // удалить текст предыдущего запроса
// записываем новый запрос в свойство SQL
SQL.Add(' SELECT DISTINCT Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Data,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,K_oldi,K_topshirdi,Rasm,Nomer');
SQL.Add('FROM ":kollej:kutubxona.DB"');
SQL.Add('WHERE');
SQL.Add('(Yonalish= "'+ fam + '")');
SQL.Add('ORDER BY Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,Rasm,Nomer');
Open; // активизируем выполнение запроса
end;
if form1.Query2.RecordCount <> 0 then
form1.DataSource1.DataSet:=form1.Query2 // отобразить рез-т выполнения запроса
else begin
ShowMessage('Bunday Yo`nalish mavjud emas.');
form1.DataSource1.DataSet:=form1.Table2;
end;
end;
end;
if RadioButton4.Checked then begin
fam:=Edit1.Text;
if fam <> '' then begin
with form1.Query2 do begin
Close;
SQL.Clear;
// записываем новый запрос в свойство SQL
SQL.Add(' SELECT DISTINCT Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Data,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,K_oldi,K_topshirdi,Rasm,Nomer');
SQL.Add('FROM ":kollej:kutubxona.DB"');
SQL.Add('WHERE');
SQL.Add('(Kurs= "'+ fam + '")');
SQL.Add('ORDER BY Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,Rasm,Nomer');
Open;
end;
if form1.Query2.RecordCount <> 0 then
form1.DataSource1.DataSet:=form1.Query2
else begin
ShowMessage('Bunday Kurs mavjud emas.');
form1.DataSource1.DataSet:=form1.Table2;
end;
end;
end;
if RadioButton8.Checked then begin
fam:=Edit1.Text;
if fam <> '' then begin
with form1.Query2 do begin
Close;
SQL.Clear;
// записываем новый запрос в свойство SQL
SQL.Add(' SELECT DISTINCT Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Data,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,K_oldi,K_topshirdi,Rasm,Nomer');
SQL.Add('FROM ":kollej:kutubxona.DB"');
SQL.Add('WHERE');
SQL.Add('(Guruh= "'+ fam + '")');
SQL.Add('ORDER BY Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,Rasm,Nomer');
Open;
end;
if form1.Query2.RecordCount <> 0 then
form1.DataSource1.DataSet:=form1.Query2
else begin
ShowMessage('Bunday Guruh mavjud emas.');
form1.DataSource1.DataSet:=form1.Table2;
end;
end;
end;
if RadioButton1.Checked then begin
fam:=Edit1.Text;
if fam <> '' then begin
with form1.Query2 do begin
Close;
SQL.Clear;
// записываем новый запрос в свойство SQL
SQL.Add(' SELECT DISTINCT Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Data,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,K_oldi,K_topshirdi,Rasm,Nomer');
SQL.Add('FROM ":kollej:kutubxona.DB"');
SQL.Add('WHERE');
SQL.Add('(Ism= "'+ fam + '")');
SQL.Add('ORDER BY Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,Rasm,Nomer');
Open;
end;
if form1.Query2.RecordCount <> 0 then
form1.DataSource1.DataSet:=form1.Query2
else begin
ShowMessage('Bunday Ismli talaba mavjud emas.');
form1.DataSource1.DataSet:=form1.Table2;
end;
end;
end;
if RadioButton2.Checked then begin
fam:=Edit1.Text;
if fam <> '' then begin
with form1.Query2 do begin
Close;
SQL.Clear;
// записываем новый запрос в свойство SQL
SQL.Add(' SELECT DISTINCT Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Data,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,K_oldi,K_topshirdi,Rasm,Nomer');
SQL.Add('FROM ":kollej:kutubxona.DB"');
SQL.Add('WHERE');
SQL.Add('(Fam= "'+ fam + '")');
SQL.Add('ORDER BY Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,Rasm,Nomer');
Open;
end;
if form1.Query2.RecordCount <> 0 then
form1.DataSource1.DataSet:=form1.Query2
else begin
ShowMessage('Bunday Familyali talaba mavjud emas.');
form1.DataSource1.DataSet:=form1.Table2;
end;
end;
end;
if RadioButton5.Checked then begin
fam:=Edit1.Text;
if fam <> '' then begin
with form1.Query2 do begin
Close;
SQL.Clear;
// записываем новый запрос в свойство SQL
SQL.Add(' SELECT DISTINCT Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Data,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,K_oldi,K_topshirdi,Rasm,Nomer');
SQL.Add('FROM ":kollej:kutubxona.DB"');
SQL.Add('WHERE');
SQL.Add('(Adres= "'+ fam + '")');
SQL.Add('ORDER BY Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,Rasm,Nomer');
Open;
end;
if form1.Query2.RecordCount <> 0 then
form1.DataSource1.DataSet:=form1.Query2
else begin
ShowMessage('Bunday Adres mavjud emas.');
form1.DataSource1.DataSet:=form1.Table2;
end;
end;
end;
if RadioButton7.Checked then begin
fam:=Edit1.Text;
if fam <> '' then begin
with form1.Query2 do begin
Close;
SQL.Clear;
// записываем новый запрос в свойство SQL
SQL.Add(' SELECT DISTINCT Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Data,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,K_oldi,K_topshirdi,Rasm,Nomer');
SQL.Add('FROM ":kollej:kutubxona.DB"');
SQL.Add('WHERE');
SQL.Add('(K_nom= "'+ fam + '")');
SQL.Add('ORDER BY Yonalish,Kurs,Guruh,Ism,Fam,Otchestva,Adres,Telefon,Infor,K_nom,K_avtor,Maul_xodim,K_kod,Rasm,Nomer');
Open;
end;
if form1.Query2.RecordCount <> 0 then
form1.DataSource1.DataSet:=form1.Query2
else begin
ShowMessage('Bunday kitob mavjud emas.');
form1.DataSource1.DataSet:=form1.Table2;
end;
end;
end;
end;
end. |
|
#6
|
||||
|
||||
|
Собственно StringGrid здесь тоже не наблюдается. Может вы путаете TStringGrid и TDbGrid ?
|