Thema: Delphi Aus Ini Datei lesen

Einzelnen Beitrag anzeigen

MCOP2001DE

Registriert seit: 19. Jun 2004
89 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Aus Ini Datei lesen

  Alt 5. Mai 2010, 07:13
Hallo

Ich möchte Button zur Laufzeit erstellen und die Daten in einer Ini Datei speichern sodas ich beim nächsten Programmstart die Daten wieder Auslesen kann und die Button´s automatich wieder erstellt werden.
Das speichern in der Datei funktioniert auch aber nicht das Auslesen.
hier mein Code
Delphi-Quellcode:
unit FRM_Fahrzeugsuche;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, RzButton, Grids, DBGrids, RzDBGrid, ExtCtrls, RzPanel, Inifiles;

type
  TFahrzeug_auswaehlen = class(TFrame)
    RzPanel1: TRzPanel;
    RzDBGrid1: TRzDBGrid;
    B_Uebernehmen: TRzButton;
    B_Abbrechen: TRzButton;
    MyButton: TRZButton;
    procedure B_UebernehmenClick(Sender: TObject);
    procedure MoveControl(const Control: TControl);
    procedure MYButtonMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure B_AbbrechenClick(Sender: TObject);
    procedure Anzahllesen;
    procedure ButtonSpeichern;
  private
    { Private-Deklarationen }
  public
    Anzahl : Integer;
    AnzahlS: String;
  end;

implementation

{$R *.dfm} uses DM_Datagrund , FRM_Mainframe;

procedure TFahrzeug_auswaehlen.B_AbbrechenClick(Sender: TObject);
begin
  Hide;
end;

procedure TFahrzeug_auswaehlen.B_UebernehmenClick(Sender: TObject);
begin
   MyButton :=TRzButton.Create(Self);
   MyButton.Parent := Mainframe.EinsatzFahrzeuge1;
   MYButton.Height := 49;
   MyButton.Width := 97;
   MyButton.Left := 10;
   MyButton.Top := 10;
   MyButton.Show;
   MyButton.Name := 'Fahrzeug' + Datagrund.QRY_Fahrzeugsuche.FieldByName('Nummer').Value;
   MyButton.Caption := Datagrund.QRY_Fahrzeugsuche.FieldByName('Kennzeichen').Value + ' '+'Funkname ' + Datagrund.QRY_Fahrzeugsuche.FieldByName('Funkname').Value;
   Hide;
   Anzahllesen;
   MyButton.OnMouseMove := MyButtonMouseMove;
end;

procedure TFahrzeug_auswaehlen.MoveControl(const Control: TControl);
const SC_DRAGMOVE = $F012;
begin
  ReleaseCapture;
  Control.Perform(WM_SYSCOMMAND,SC_DRAGMOVE,0);
end;

procedure TFahrzeug_auswaehlen.MYButtonMouseMove(Sender: TObject; Shift: TShiftState; X: Integer; Y: Integer);
begin
   if ssLeft in Shift then
    MoveControl(Sender as TControl);

end;
procedure TFahrzeug_auswaehlen.Anzahllesen;
var
ini:TInifile;
Anzahl1 : Integer;
begin
   ini :=Tinifile.Create('System.ini');
    try
     Anzahl1 := ini.ReadInteger('Button', 'M', 0);
    finally
    ini.Free;
    end;
    if Anzahl1 = 0 then
     begin
       Anzahl1 := 1;
     end else Begin
     Anzahl1 := Anzahl1 + 1;
     Anzahl := Anzahl1;
     AnzahlS := IntToStr(Anzahl);
     Buttonspeichern;
     End;
end;

procedure TFahrzeug_auswaehlen.ButtonSpeichern;
var
ini : TInifile;
FahrzeugID: String;
left : String;
Top: String;
begin
    Left := IntToStr(Mybutton.Left);
    Top := IntToStr(MyButton.Top);
    FahrzeugID := Datagrund.QRY_Fahrzeugsuche.FieldByName('ID').Value;
    ini := Tinifile.Create(ExtractFilePath(Paramstr(0))+ 'System.ini');
    ini.WriteInteger('Button', 'M', Anzahl);
    ini.WriteString(AnzahlS, 'ID', FahrzeugID);
    ini.WriteString(AnzahlS, 'Left', Left);
    ini.WriteString(AnzahlS, 'Top', Top);
    ini.Free;
end;
end.
hat jemand ne Idee woran das liegen könnte?

MCop2001de
  Mit Zitat antworten Zitat