Конференция "FreePascal" » СУБД для WinCE/Win Mobile [другое]
 
  • Виталий Панасенко(дом) (10.04.10 18:56) [0]
    Решил посмотреть на Лазарус..заинтересовала его кросс-платформенность..решил создать простое приложение для Pocket PC(OS - Windows Mobile 6.5()Emulator). С использованием TDbf.. На форме грид и навигатор, в коде создается dbfник из одного поля.. самой фалйо создается, но вот добавить через dbAware не получается... в коде создаю таблицу, открываю НД. в гриде появляется колонка для этого одного поля.. но ничего с данными сделать не могу.. ни добавить, ни изменить.. это прикол TDbf или все-таки LCL?
  • Виталий Панасенко(дом) (10.04.10 19:11) [1]
    Начал малость отлаживать, понял, что компонент TDbf (НД) находится почему-то в режиме "только для чтения".. Хотя инспектор показывает, что с-во ReadOnly=Flase.. и весь код
    unit Unit1;

    {$mode objfpc}{$H+}

    interface

    uses
     Classes,SysUtils,dbf,Dbf_Fields,db,FileUtil,LResources,Forms,Controls,
     Graphics,Dialogs,StdCtrls,DBGrids,DbCtrls;

    type

     { TForm1 }

     TForm1 = class(TForm)
       Button1:TButton;
       Datasource1:TDatasource;
       DBGrid1:TDBGrid;
       DBNavigator1:TDBNavigator;
       T:TDbf;
       procedure Button1Click(Sender:TObject);
       procedure FormCreate(Sender:TObject);
     private
       { private declarations }
     public
       { public declarations }
     end;

    var
     Form1: TForm1;

    implementation

    {$R *.lfm}

    { TForm1 }

    procedure TForm1.Button1Click(Sender:TObject);
    var
      F : TDbfFieldDefs;
    begin
     ShowMessage('Привет, мир!');
     F := TDbfFieldDefs.Create(Self);
     with F.AddFieldDef do
      begin
       //-Имя поля
       FieldName := 'F1';
       NativeFieldType := 'C';
       //-Размер поля
       Size := 25;
       //-Знаков после запятой - имеет значение только для N
       Precision := 0;
       //-Определим поле из запроса которое будем суда подставлять
      end;//-with
     T.CreateTableEx(F);
     ShowMessage('Create');
     F.Free();
     //Application.Terminate();
     T.Open();
     ShowMessage('Open');
     T.AppendRecord(['1']);
     ShowMessage('Append');

     T.AppendRecord(['2']);
    end;

    procedure TForm1.FormCreate(Sender:TObject);
    begin
      T.FilePathFull := ExtractFilePath(ParamStr(0));
      T.FilePath := '.\';
      T.TableName := 't1.dbf';
      ShowMessage(T.FilePathFull);
      //T.CreateTable;
    end;

    end.                                    

 
Конференция "FreePascal" » СУБД для WinCE/Win Mobile [другое]
Есть новые Нет новых   [118638   +31][b:0][p:0.001]