Announcement

Collapse
No announcement yet.

Dateinamen speichern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Dateinamen speichern

    Hallo,<p><p>
    ich habe eine Access Datenbank für Verkaufszwecke.<p>
    Darin befindet sich eine Tabelle 'Dateinamen', die ein Feld 'Datei' enthalten soll, in dem z.B. in Word erstellte Angebote als Verweis gespeichert werden. (c:\verkauf\angebote\...doc)<p>
    Es soll das entsprechende Icon, sowie der vollständige Pfad erkennbar sein Und weil das noch nicht reicht, muß beim Doppelclick die Anwendung starten und sich die entsprechende Datei öffnen.<P>
    Sicherlich ein Haufen "Holz", aber ich habe schon ziemlich viel herumgedoktert und bin zu keiner Lösung gekommen.<P>
    Vielleicht weiß Herr Kosch oder einer der anderen einen Rat.<p>
    Vielen Dank im voraus!<p><p>
    Uwe

  • #2
    Hallo Uwe,

    erzeuge mal ein neues Projekt, füge dem Hauptformular zwei Buttons, ein Label, ein Image und einen OpenDialog hinzu.

    Nimm ShellApi in die Uses-Klausel auf.

    Und füge folgenden Code für die zwei Buttons ein:

    <pre>

    procedure TForm1.Button1Click(Sender: TObject);
    var
    FileInfo: SHFILEINFO;
    begin
    if OpenDialog1.Execute then
    begin
    SHGetFileInfo(
    PChar(OpenDialog1.FileName),
    0,
    FileInfo,
    sizeof(FileInfo),
    SHGFI_ICON
    );

    Image1.Picture.Icon.Handle := FileInfo.hIcon;

    Label1.Caption := OpenDialog1.FileName;
    end;
    end;

    procedure TForm1.Button2Click(Sender: TObject);
    begin
    ShellExecute ( 0, 'Open', PChar ( Label1.Caption ), nil, nil, SW_SHOW );
    end;

    </pre>

    Das sollte vereinfacht die Lösung für dein Problem sein.

    Gruß Grego

    Comment


    • #3
      Hallo Gregor,<p>
      vielen Dank für den Rat. Läuft einwandfrei und hat mir sehr weitergeholfen.<p>
      Meine Anfrage war aber etwas undeutlich. Anforderung ist, den Dateiname in ein DBGrid-Feld hineinzuschreiben und nach dem Speichern ähnlich wie auf dem Windows Desktop in dem Feld eben dieses Icon neben dem Dateinamen mit erscheint. Sinn des ganzen ist, daß in diesem DBGrid schön untereinander die Einträge erscheinen.<p>
      Um die Angelegenheit zu verkomplizieren (das Programm wird für Telefonmädels geschrieben), sollte der Eintrag in das DBGrid-Feld auch via Drag-and-Drop aus dem Explorer möglich sein (ähnlich dem Öffnen einer Datei, die man aus dem Explorer in eine Anwendung zieht und dadurch geöffnet wird. Nur daß in meiner Anwendung eben ein neuer Datenbankeintrag generiert wird.

      Comment

      Working...
      X