Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi beim Programm öffnen die Daten automatisch laden (https://www.delphipraxis.net/140516-beim-programm-oeffnen-die-daten-automatisch-laden.html)

Kunoishi 19. Sep 2009 17:32


beim Programm öffnen die Daten automatisch laden
 
ich habe ein kleines Programm mit den ich meine Adressen verwalte. Diese Daten speichere ich mit *.dat ab.
Beim laden der Daten muß ich immer über das Fenster "öffen" gehen. zumindest derzeit :-(
da ich das ganze über
Delphi-Quellcode:
procedure TMDIChild.FileOpenClick(Sender: TObject);
begin
  OpenDialog1.Title := 'Adressdaten Öffnen';
  OpenDialog1.DefaultExt := '.dat';
  OpenDialog1.Filter := 'Adress-Daten (*.dat)|*.dat|Alle Dateien (*.*)|*.*';
  OpenDialog1.Options := [ofAllowMultiSelect, ofPathMustExist,ofShowHelp];
  OpenDialog1.Options := [ofPathMustExist,ofShowHelp];
  if OpenDialog1.Execute then
   begin
    szUDatei := Opendialog1.Filename;
    Adressliste.Load(Opendialog1.Filename);
    Adressliste.Show(Adressuebersicht);
    bUChange:=false;
   end;
jetzt möchte ich aber, dass die Daten automatisch beim Programmstart mit da sind ohne das ich was anklicke oder aussuchen muß.
habt ihr eine Idee.

Uwe Raabe 19. Sep 2009 17:36

Re: beim Programm öffnen die Daten automatisch laden
 
Wenn du den kompletten Dateinamen kennst, kannst du das Adressliste.Load im FormCreate aufrufen. Das Adressliste.Show würde ich dann aber vielleicht im FormShow machen, da dann alle Controls auch wirklich sichtbar sind.

Kunoishi 19. Sep 2009 17:42

Re: beim Programm öffnen die Daten automatisch laden
 
Ok das werde ich gleich mal probieren mit meiner adressen.dat

Bitwurm 19. Sep 2009 17:46

Re: beim Programm öffnen die Daten automatisch laden
 
Hi Kunoishi,

- OnShow registrieren
- Procedure LoadFiles() schreiben
- LoadFiles in OnShow
- Programm starten > Fehler beseitigen ^^

Delphi-Quellcode:
  function loadFiles( ... ): Boolean;
  var
    lSearchRec : TSearchRec;
    lFileDate  : String;
    lDir       : String;
    lExtension : String;
  begin
    Result   := false;
    lDir     := self.FCh.Dir + (...);

    try
      if( FindFirst( lDir + '*.*', faAnyFile, lSearchRec) = 0 )then
      begin
        repeat
          if( (lSearchRec.Attr <> faDirectory) )then
          begin
            if( isCorrectFile( lSearchRec.Name, lDir) )then
            begin
              lExtension := LowerCase( GetFileExt(lDir + lSearchRec.Name) );
              if( lExtension = 'dat' )then Result := self.FileWorker( lDir + lSearchRec.Name );
            end; {wenn name stimmt}
          end;
        until( FindNext(lSearchRec) <> 0);
      end;
    finally
      FindClose(lSearchRec);
    end;

Kurze Erklärung zum Code (den du auch über die Suche gefunden hättest):

- Verzeichnis öffnen
- Dateien suchen
- Datei überprüfen in isCorrectFile(...)
- Datei verarbeiten in FileWorker(...)

Du solltest dich auf jeden Fall auch mit dem hier beschäftigen:
Delphi-Quellcode:
IncludeTrailingPathDelimiter(...)

den Rest musst du selbst schreiben

Wenn etwas unklar ist, fragen.


Lg
Sebastian

Kunoishi 28. Okt 2009 15:41

Re: beim Programm öffnen die Daten automatisch laden
 
ein hallo
ich bin von meinen kleinen Problem doch abgekommen
mein "Adressliste.Load" und die Datei war bei mir die test.dat.
jetzt wollte ich ja das ganze ohne das ganze Laden mit Datei öffnen, dann aussuchen und dann bestätigen zum Laden und so.
Wie wende ich das mit der "Adressliste.Load" und meiner Datei "test.dat" jetzt an.

mkinzler 28. Okt 2009 15:43

Re: beim Programm öffnen die Daten automatisch laden
 
Wo soll den die Datei gesucht werden?

Kunoishi 28. Okt 2009 15:44

Re: beim Programm öffnen die Daten automatisch laden
 
im gleicen verzeichnis wie die .exe datei

implementation 28. Okt 2009 16:06

Re: beim Programm öffnen die Daten automatisch laden
 
Delphi-Quellcode:
Adressliste.Load(ExtractFilePath(Application.ExeName)+'Test.dat');
Probier das mal.

Kunoishi 28. Okt 2009 16:16

Re: beim Programm öffnen die Daten automatisch laden
 
jups jetzt hab ick dit verstanden
und es klapt auch
danke an die runde und für eure hilfe
gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz