Was zum Geier soll das sein: ein DBEdit-Feld? DBEdit ist eine datensensitive Komponente zur Darstellung und Bearbeitung des Inhalts eines Tabellenfeldes. Dem Feld ist es dabei vollkommen egal, ob es durch ein DBEdit oder z.B. ein DBText dargestellt wird. Mit anderen Worten: die zufällig oder absichtlich gewählte Komponente zur Darstellung des Feldinhaltes definiert nicht das Feld. Daher gibt es auch kein DBEdit-Feld
Hast du eine Tabelle, die über eine Spalte verfügt, in der du komplette Dateinamen abspeicherst, rufst du einfach den jeweiligen Dateinamen aus der Datenbank ab. Dabei ist es vollkommen gleichgültig, ob dieser Dateiname gerade in einer datensensitiven Komponente angezeigt wird oder nicht.
Delphi-Quellcode:
Procedure TDatMod.Q_MyTableAfterScroll(DataSet: TDataSet);
begin
GlobalerDateiName := Q_MyTable.FieldByName('DATEINAME').AsString;
end;
Diesen Dateinamen übergibst du dann der entsprechenden Methode, um z.B. eine
URL anzuzeigen:
Delphi-Quellcode:
Procedure TGlobalix.URLanzeigen(
Const URLText:
string;
Handle: HWND);
begin
URL := PChar(URLText + #0);
ShellExecute(
Handle,
nil,
URL,
nil,
nil, SW_SHOW);
end;
Oder um ein Programm zu starten, das mit dem Dateityp verknüpft ist:
Delphi-Quellcode:
Procedure TGlobalix.CallApplication(
Const Datei:
string;
Handle: HWND);
begin
ShellExecute(
Handle, '
open',PChar(ExtractFileName(Datei)),
nil,PChar(ExtractPileDir(Datei)),SW_SHOWNORMAL);
end;