28. oktober 2000 - 00:35
Der er
3 kommentarer og
1 løsning
Eks Prog
Hm ikke om jeg fatter databaser..jeg ville sætte stor pris på hvis der skulle være en der gad at strikke et lille program sammen til mig hvor man kan sætte billeder i en paradox 7 database
/DarkSide
admin@scanmesse.dk
28. oktober 2000 - 03:10
#2
I delphi selfølgelig :)
Det skal køre på en paradox 7 database, det skal bare være muligt at sætte et billede ind i databasen via proget!
/DarkSide
14. november 2000 - 22:16
#3
Jamen, det vij jeg da godt. Her er der et:
klip og klistre følgende tekster ind i de tilsvarende filer
project1.dpr filen:
program Project1;
uses
Forms,
Unit1 in \'Unit1.pas\' {Form1};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Unit1.pas filen:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtDlgs, DBCtrls, Mask, ExtCtrls, Db, DBTables;
type
TForm1 = class(TForm)
Table1: TTable;
DataSource1: TDataSource;
DBNavigator1: TDBNavigator;
DBEdit1: TDBEdit;
DBImage1: TDBImage;
OpenPictureDialog1: TOpenPictureDialog;
BitBtn1: TBitBtn;
Table1Nr: TIntegerField;
Table1Billede: TGraphicField;
procedure BitBtn1Click(Sender: TObject);
procedure DataSource1StateChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if OpenPictureDialog1.execute then
begin
dbimage1.Picture.LoadFromFile(OpenPictureDialog1.filename);
END;
end;
procedure TForm1.DataSource1StateChange(Sender: TObject);
begin
if table1.state in [dsinsert,dsedit] then
begin
bitbtn1.enabled := true;
end else
begin
bitbtn1.enabled := false;
end;
end;
end.
Unit1.dfm filen:
object Form1: TForm1
Left = 192
Top = 107
Width = 332
Height = 293
Caption = \'Form1\'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = \'MS Sans Serif\'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object DBNavigator1: TDBNavigator
Left = 64
Top = 72
Width = 240
Height = 25
DataSource = DataSource1
TabOrder = 0
end
object DBEdit1: TDBEdit
Left = 64
Top = 112
Width = 121
Height = 21
DataField = \'Nr\'
DataSource = DataSource1
TabOrder = 1
end
object DBImage1: TDBImage
Left = 64
Top = 144
Width = 121
Height = 105
DataField = \'Billede\'
DataSource = DataSource1
TabOrder = 2
end
object BitBtn1: TBitBtn
Left = 192
Top = 224
Width = 113
Height = 25
Caption = \'Billede fra disk\'
TabOrder = 3
OnClick = BitBtn1Click
Glyph.Data = {
76010000424D7601000000000000760000002800000020000000100000000100
04000000000000010000120B0000120B00001000000000000000000000000000
800000800000008080008000000080008000808000007F7F7F00BFBFBF000000
FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF0033BBBBBBBBBB
BB33337777777777777F33BB00BBBBBBBB33337F77333333F37F33BB0BBBBBB0
BB33337F73F33337FF7F33BBB0BBBB000B33337F37FF3377737F33BBB00BB00B
BB33337F377F3773337F33BBBB0B00BBBB33337F337F7733337F33BBBB000BBB
BB33337F33777F33337F33EEEE000EEEEE33337F3F777FFF337F33EE0E80000E
EE33337F73F77773337F33EEE0800EEEEE33337F37377F33337F33EEEE000EEE
EE33337F33777F33337F33EEEEE00EEEEE33337F33377FF3337F33EEEEEE00EE
EE33337F333377F3337F33EEEEEE00EEEE33337F33337733337F33EEEEEEEEEE
EE33337FFFFFFFFFFF7F33EEEEEEEEEEEE333377777777777773}
NumGlyphs = 2
end
object Table1: TTable
Active = True
DatabaseName = \'c:\\\'
TableName = \'test.db\'
Left = 64
Top = 24
object Table1Nr: TIntegerField
FieldName = \'Nr\'
end
object Table1Billede: TGraphicField
FieldName = \'Billede\'
BlobType = ftGraphic
Size = 240
end
end
object DataSource1: TDataSource
DataSet = Table1
OnStateChange = DataSource1StateChange
Left = 96
Top = 24
end
object OpenPictureDialog1: TOpenPictureDialog
Left = 136
Top = 24
end
end
Derudover skal du have en paradox 7 database i c:\\ du kalder test.db der indeholder 2 felter:
\"Nr\", Integer og
\"Billede\", Graphic
hvis du vil kab du sætte Nr til at vmre index, og så får du ogsa en fil der hedder test.px og hvis du ud for \"Billede\" angiver en længde på 240 får du også en fil der hedder test.mb
Denne sidste fil indeholder alle dele af billederne der fylder mere end 240 tegn.
Ved at klikke på navigator barens \"+\" kan du indsætte en ny record og så kan du indtaste et tal i første felt og trykke på knappen \"billede fra disk\" og finde et en bmp fil der derefter indsættes i databasen som et billede.
Proceduren:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if OpenPictureDialog1.execute then
begin
dbimage1.Picture.LoadFromFile(OpenPictureDialog1.filename);
END;
end;
Gør hele arbejdet for dig.
God fornøjelse !!