Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.05.2012, 20:46
Devil669 Devil669 вне форума
Прохожий
 
Регистрация: 23.12.2011
Сообщения: 8
Репутация: 10
По умолчанию проблемы с прогой "Кулинарная книга"

Нашел прогу "Кулинарная книга", однако когда пытаюсь запустить ее в делфи выдает ошибку "Class TpFIBDataSet not found...". В чем дело?

Код:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, DBCtrls, StdCtrls, DB, FIBDataSet, pFIBDataSet,
  DatM, FIBQuery, pFIBQuery, pFIBStoredProc, Addrecept,
  SpravRec, Spr, RecShow, Unit2, Unit3, Avtor;

type
  TMainForm = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    GroupBox1: TGroupBox;
    Items: TDBLookupComboBox;
    ItList: TListBox;
    Button1: TButton;
    Button2: TButton;
    Button4: TButton;
    GroupBox2: TGroupBox;
    DataSource1: TDataSource;
    DS1: TpFIBDataSet;
    Proc: TpFIBStoredProc;
    Q1: TpFIBQuery;
    Recepts: TDBLookupListBox;
    DataSource2: TDataSource;
    DS2: TpFIBDataSet;
    Button3: TButton;
    Q2: TpFIBQuery;
    Memo1: TMemo;
    procedure FormShow(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
  private
    procedure Search;

    { Private declarations }
  public
    { Public declarations }
  end;

var
  MainForm: TMainForm;
      t: Boolean;

implementation

uses Math;

{$R *.dfm}

procedure TMainForm.FormShow(Sender: TObject);
begin
  DS1.Active:= true;
  t:= false;
  //DS2.Active:= true;
end;

procedure TMainForm.Button1Click(Sender: TObject);
var s: String;
id, i: Integer;
begin
  Memo1.Clear;
  Memo1.Lines.Add('Здесь будет список рецептов, которые нашла программа. '+
                  'При нажатии кнопки подробнее вы увидете сам рецепт');
  s:= DS1.Fields[1].Value;
  id:= DS1.Fields[0].Value;
  for i:= 0 to ItList.Items.Count-1 do
    if Integer(ItList.Items.Objects[i])= id then
      begin
        MessageDlg('Такой продукт уже введен!!',mtWarning, [mbOK], 0);
        Exit;
      end;
  ItList.Items.AddObject(S,TObject(id));
end;

procedure TMainForm.Button4Click(Sender: TObject);
begin
  ItList.DeleteSelected;
end;

procedure TMainForm.Search;
var i, id: Integer;
name: String;
begin
  Q1.Transaction.StartTransaction;
  for i := 0 to ItList.Items.Count-1 do
    begin
      id:= Integer(ItList.Items.Objects[i]);
      name:= ItList.Items.Strings[i];
      Q1.SQL.Text:= 'INSERT INTO TEMP VALUES(:ID, :N)';
      Q1.ExecWP([id, name]);
    end;
  Q1.SQL.Text:= 'INSERT INTO RECEPT1 SELECT RECEPT.ID, RECEPT.NAME, RECEPT.TEXT, RECEPT.KOL '+
                'FROM RECEPT INNER JOIN LIST ON (RECEPT.ID = LIST.ID_REC) '+
                'INNER JOIN TEMP ON (TEMP.ID = LIST.ID_IT)';
  Q1.ExecQuery;
  DS2.Close;
  DS2.ParamByName('K').Value:= ItList.Items.Count;
  DS2.Open;
end;

procedure TMainForm.Button2Click(Sender: TObject);
var count: Integer;
begin
  Q1.Transaction.Commit;
  Search;
  t:= true;
  DS1.Close;
  DS1.Open;
  count:= DS2.RecordCount;
  if count = 0 then
    begin
      Memo1.Clear;
      Memo1.Lines.Add('Не было найдено рецептов по введенным продуктам.');
    end;
end;

procedure TMainForm.N8Click(Sender: TObject);
var ref: TAddRece;
begin
  ref:=TAddRece.Create(Application);
  ref.Open;
  Ref.Execute;
  ref.Free;
end;

procedure TMainForm.N6Click(Sender: TObject);
var ref: TSpravoch;
begin
  Spravoch.Show;
end;

procedure TMainForm.N7Click(Sender: TObject);
begin
  SprRec.Show;
end;

procedure TMainForm.Button3Click(Sender: TObject);
var str: String;
id: Integer;
begin
  Str:= DS2.Fields[2].Value;
  id:= DS2.Fields[0].Value;
  Form2.DS1.Close;
  Form2.DS1.ParamByName('K').Value:= id;
  Form2.DS1.Open;
  Form2.Memo1.Clear;
  Form2.Memo1.Lines.Add(str);
  Form2.Show; 
end;

procedure TMainForm.N10Click(Sender: TObject);
begin
  Form3.Show;
end;

procedure TMainForm.N4Click(Sender: TObject);
begin
  Form4.Show;
end;

procedure TMainForm.N5Click(Sender: TObject);
begin
  Application.Terminate;
end;

end.
Ответить с цитированием
  #2  
Старый 13.05.2012, 21:05
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Необходимо доставить соответствующую библиотеку. FibPlus по-моему называется.
__________________
Google в помощь
Ответить с цитированием
  #3  
Старый 13.05.2012, 21:45
Аватар для cotseec
cotseec cotseec вне форума
Активный
 
Регистрация: 16.07.2008
Сообщения: 353
Версия Delphi: D7,TDE06,RAD09
Репутация: 1443
По умолчанию

у гугла тоже можно спрашивать компонент FIBPlus
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 10:13.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter