![]() |
Sichern von Daten
Hallo Leute,
Ich habe in meinem Programm ein Menü, welches sich 'Datenbank sichern' nennt. Nun möchte ich die Datenbank sichern. Der Path der Original-DB steht in der Registry. Nun möchte ich es so machen, dass wenn ich auf Datenbank sichern klicke, dass dann eine art Explorer erscheint, wo ich die Datenbank hinspeichern möchte. Wie kann man das realisieren? |
Hier mit kann´st du dir einen Ordner auswählen:
Code:
Und dann nur noch CopyFile.
[b]uses[/b] shlobj;
[b]function[/b] TfrmMain.OpenFolder(root: Integer; Caption: [b]string[/b]): [b]string[/b]; [i]//Verzeichnis-Öffnen-Dialog-Funktion[/i] [b]var[/b] bi: TBrowseInfo; lpBuffer: PChar; pidlPrograms, pidlBrowse: PItemIDList; [b]begin[/b] [b]if[/b] ([b]not[/b] SUCCEEDED(SHGetSpecialFolderLocation(GetActiveWindow, root, pidlPrograms))) [b]then[/b] exit; lpBuffer := StrAlloc(MAX_PATH); bi.hwndOwner := GetActiveWindow; bi.pidlRoot := pidlPrograms; bi.pszDisplayName := lpBuffer; bi.lpszTitle := PChar(Caption); bi.ulFlags := BIF_RETURNONLYFSDIRS; bi.lpfn := [b]nil[/b]; bi.lParam := 0; pidlBrowse := SHBrowseForFolder(bi); [b]if[/b] (pidlBrowse <> [b]nil[/b]) [b]then[/b] [b]if[/b] SHGetPathFromIDList(pidlBrowse, lpBuffer) [b]then[/b] Result := lpBuffer; StrDispose(lpBuffer); [b]end[/b]; [b]procedure[/b] TfrmMain.cmdOpenClick(Sender: TObject); [b]begin[/b] txtPath.Caption := OpenFolder(CSIDL_DRIVES, 'Verzeichnis wählen'); [i]//Übergabe des gewählten Verzeichnisses[/i] [b]end[/b]; |
Moin m-werk,
und wenn Dir das zu aufwändig ist, schau Dir mal die Funktionen SelectDirectory aus der Unit Filectrl an. |
Produziert die nicht diesen Win3.1-Oldstyle Dialog?
|
Moin Luckie,
das hängt davon ab, welche der beiden Möglichkeiten man verwendet. Die mit Caption als erstem Parameter tut das nicht. |
:hi:
Danke, und wieder etwas schlauer geworden und das an meinem Geburtstag :mrgreen:. |
Danke Luckie für den Code, aber mit dem hab ich leider nichts anfangen können aber er hat mein gedächnis einwenig auf die sprünge geholfen. Ich hab jetzt fast alles geschaft bis auf eine Sache noch.
Ich habe in der Registry den Ordner stehen, wo die Datei ist, welche ich sichern möchte. Diese Datei nennt sich 'Kundenverwaltung.mdb' Ich kann zwar den Ordner auslesen und im Label anzeigen, was ich aber nicht kann aber möchte, ist dass die Datei, die in diesem Ordner liegt, in einem anderen Label erscheint. Wie kann ich das noch machen? |
Suchst du eventuell ExtractFilename?
|
Ja, könnte sein. Wie kann ich das mit extractfilename machen?
|
F1
Code:
lable1.Caption := ParamStr(0); // Programmpfad mit Anwendungsname
label2.Caption := ExtractFilename(ParamStr(0)); // nur Anwendungsname |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz