Jeg vil anbefale af du bruger ini filer til den slags, evt et TCLientSet, der kan benytte XML-filer (så lærer du også noget om den slags - og det er der sten sikkert fremtid i). Sig til hvis du vil have, at jeg skal prøve at lave en implementation af INI filer, men via TCLienDataSet og gemt i XML....
Du nå meget gerne, lave noget kode. Noget hvor den gemmer og den læser.
Jeg går ud fra man læser alle indstillinger i startet af programmet og gemmer det hele hvis man ændre i det. Da jeg selv ville kalde alle info direkte fra setupform.
Jeg har faktisk ikke set så meget på database i delphi, da jeg er meget utilfred med paradoxx.
Jeg har lavet et lille test program. Start med at lave en ny application (File -> New -> Application). Hvis der nu vises et kode window, så tryk F12 for at toggle Form/Unit og du skulle nu gerne se en (tom) Form1. Højreklik på formen og vælg i pop-up menuen punktet: "View as Text". Slet indholdet og kopier istedet nedenstående form definition ind:
object MainForm: TMainForm Left = 301 Top = 165 Width = 376 Height = 368 Caption = 'ClientDataSet Demo - by Niels Peter Gibe' 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 Label1: TLabel Left = 39 Top = 92 Width = 35 Height = 13 Caption = 'PostNr:' end object Label2: TLabel Left = 135 Top = 92 Width = 15 Height = 13 Caption = 'By:' end object buCreateDataSet: TButton Left = 49 Top = 16 Width = 123 Height = 25 Caption = '&Create/Clear DataSet' TabOrder = 0 OnClick = buCreateDataSetClick end object buLoadDataSet: TButton Left = 195 Top = 48 Width = 123 Height = 25 Caption = '&Load Data Set' TabOrder = 1 OnClick = buLoadDataSetClick end object buSaveDataSet: TButton Left = 195 Top = 16 Width = 123 Height = 25 Caption = '&Save Data Set' Enabled = False TabOrder = 2 OnClick = buSaveDataSetClick end object buFillDataSet: TButton Left = 123 Top = 120 Width = 123 Height = 25 Caption = '&Fill Data Set' Enabled = False TabOrder = 3 OnClick = buFillDataSetClick end object buClose: TButton Left = 123 Top = 296 Width = 123 Height = 25 Caption = '&Close' TabOrder = 4 OnClick = buCloseClick end object edPostNummer: TEdit Left = 79 Top = 88 Width = 41 Height = 21 TabOrder = 5 Text = '8260' end object edBy: TEdit Left = 159 Top = 88 Width = 169 Height = 21 TabOrder = 6 Text = 'Viby J' end object DBGrid1: TDBGrid Left = 8 Top = 152 Width = 345 Height = 97 DataSource = DataSource1 TabOrder = 7 TitleFont.Charset = DEFAULT_CHARSET TitleFont.Color = clWindowText TitleFont.Height = -11 TitleFont.Name = 'MS Sans Serif' TitleFont.Style = [] end object DBNavigator1: TDBNavigator Left = 64 Top = 256 Width = 240 Height = 25 DataSource = DataSource1 TabOrder = 8 end object cdsDemo: TClientDataSet Aggregates = <> Params = <> Left = 130 Top = 200 end object DataSource1: TDataSource DataSet = cdsDemo Left = 194 Top = 200 end end
Højre klik igen og vælg denne gang punktet View As Form. Du skulle nu gerne se en form med nogle knapper og komponenter på. Tryk F12 for at toggle Form/Unit og du skulle nu se koden til den gamle mainform. Erstat al koden med nedenstående kode:
procedure TMainForm.buCreateDataSetClick(Sender: TObject); begin cdsDemo.Active := False; // Close any current database cdsDemo.FieldDefs.Clear; // Delete field definitions
// Add fields With cdsDemo.FieldDefs.AddFieldDef Do Begin Name := 'PostNummer'; DataType := ftInteger; Size := 0; Required := True; End;
With cdsDemo.FieldDefs.AddFieldDef Do Begin Name := 'By'; DataType := ftString; Size := 30; Required := True; End;
// Add Index cdsDemo.IndexDefs.Clear; // Clear any existing indexes With cdsDemo.IndexDefs.AddIndexDef Do Begin Name := ''; // Primary key, no name Fields := 'PostNummer'; Options := [ixPrimary]; End;
cdsDemo.CreateDataSet; // Create datatable (in memory) cdsDemo.Active := True; // Open and activate dataset
procedure TMainForm.buCloseClick(Sender: TObject); begin Close; end;
end.
Gem nu uniten under navnet fmMain. du kan nu køre og lege med programmet samt studere koden. Bemærk at hvis du gemmer indtastede data, så gemmes de i filen DemoClientDataSet.xml. Prøv at åbne denne fil i din Internet explorer (dobbeltklik på filen). Som du kan se indeholder denne fil både metadata og de indtastede data.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.