Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TOpenDialog FileName vorgeben (https://www.delphipraxis.net/116171-topendialog-filename-vorgeben.html)

nomene 24. Jun 2008 16:08


TOpenDialog FileName vorgeben
 
Ich suche jezt schon seit zwei Tagen nach einer Möglichkeit in einem OpenDialog eine Datei vorzugeben die markiert und angezeigt werden werden soll. Bei einer Zuweisung auf FileName passiert nicht wirklich etwas. Habe auch schon verucht die einzelnen Komponenten über Components.ClassName zumindest die Klassennamen der einzelnen Komponenten zu bekommen aber leider ohne Erfolg. Lässt sich dieses Problem irgendwie lösen oder muss ich mir wirklich einen eigenen Dialog schreiben? Bin für jede Antwort dankbar .

MfG
Nomene

shmia 24. Jun 2008 16:15

Re: TOpenDialog FileName vorgeben
 
Bei meinem Delphi 5 funktioniert das ohne Probleme:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
   OpenDialog1.FileName := 'Delphi.txt';
   if OpenDialog1.Execute then
      ShowMessageFmt('Datei <%s> ausgewählt', [OpenDialog1.FileName]);
end;
Getestet auf Windows XP.

nomene 24. Jun 2008 16:20

Re: TOpenDialog FileName vorgeben
 
Leider nicht ganz das was ich suche. Der Name wird zwar im Edit-Feld angezeigt, leider aber nicht in TListView markiert oder was dort verwendet wurde und genau darum geht es.

Fussball-Robby 24. Jun 2008 16:35

Re: TOpenDialog FileName vorgeben
 
Wenn du einen anderen Ordner auswählen willst, kannst du mit InitialDir arbeiten:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const
  AFile = 'D:\Ordner\TextDatei.txt';
begin
  with OpenDialog1 do
  begin
    InitialDir := ExtractFilePath(AFile);
    FileName := ExtractFileName(AFile);
    if Execute then
      ShowMessage(FileName);
  end;
end;

nomene 24. Jun 2008 16:37

Re: TOpenDialog FileName vorgeben
 
Nein es geht schon um Dateien aber trotzdem danke.

shmia 24. Jun 2008 17:55

Re: TOpenDialog FileName vorgeben
 
Zitat:

Zitat von nomene
Leider nicht ganz das was ich suche. Der Name wird zwar im Edit-Feld angezeigt, leider aber nicht in TListView markiert oder was dort verwendet wurde und genau darum geht es.

Daran lässt sich nichts ändern. TOpenFileDialog kapselt den Dialog, den Windows anbietet.
Ich glaube man kommt über schmutzige Tricks an das Window-Handle des ListView ran.
http://bytes.com/forum/thread262498.html

nomene 24. Jun 2008 18:08

Re: TOpenDialog FileName vorgeben
 
@ Shmia:
Vielen dank für die Antwort. Hört sich ja nicht so gut an, werde jezt noch nen Stündchen veruchen mit dem Handle zu arbeiten ansosten werd ich wohl einen eigenen schreiben müssen.

Blackheart 24. Jun 2008 18:12

Re: TOpenDialog FileName vorgeben
 
Wozu denn der ganze Quatch ?

nomene 24. Jun 2008 18:20

Re: TOpenDialog FileName vorgeben
 
Zitat:

Wozu denn der ganze Quatch ?
Naja ich hab halt keine Lust bei 1000en Dateien immer wider scrollen zu müssen um die nächste auszuwählen

Die Muhkuh 24. Jun 2008 18:27

Re: TOpenDialog FileName vorgeben
 
Wenn Du die Datei per FileName einträgst, kannst Du, wenn der OpenDialog auf geht, einfach auf Öffnen klicken und musst die Datei nicht auswählen.

nomene 24. Jun 2008 18:40

Re: TOpenDialog FileName vorgeben
 
Weis ich auch :wink:, hilft mir nur leider nicht...

CK_CK 24. Jun 2008 19:15

Re: TOpenDialog FileName vorgeben
 
Willst du mehrere Dateien nacheinander öffnen? Dann solltest du dir vielleicht überlegen, ob du die Eigenschaft des OpenDialogs nutzt, mehrere Dateien gleichzeitig zu wählen...
(oder hab' ich dich falsch verstanden?)

Chris

Cyf 24. Jun 2008 19:29

Re: TOpenDialog FileName vorgeben
 
Also ich verstehs so, er hat in FileName immer die Datei, die er als lettztes geöffnet hatte. Seine Dateien sind auf irgend eine Art sortiert, vermtutlich kann er aber nciht genau sagen, wie die nächste heißen wird, deswegen will er die letzte im Fenster automatisch makieren, so dass er nur eine Datei nach unten muss.
Ich würd versuchen mir was auszudenken, um rauszufinden wie die nächste genau heißt und die dann direkt öffnen lassen, wenn das geht und ich das ganze richtig versteh.
Für das eigentliche Problem, wie man in dem Fenster eine Datei makieren lässt, hab ich leider auch keine Lösung. Aber ich bewundere das Problem. :glaskugel:
Alternativ könntest du dir, falls sich keine Lösung findet, einen eigenen Dialog basteln, der Datein makieren kann. Im Zweifelsfall wird das aber bestimmt auch irgendwie über System-Handles gehen, aber da bin ich nicht so der Experte für.

nomene 24. Jun 2008 21:25

Re: TOpenDialog FileName vorgeben
 
Ja die Dateien sind sortiert und Cyf hatt richtig getippt die Vorhersage der nächsten Datei lässt sich wirklich nicht umsetzen da immer noch der Benutzer entscheiden soll. Auf die Idee von der Handles hatt mich schon Shmia gebracht doch leider gestaltet sich das shwiriger als erhofft, ich bekomme zwar das Handle des Dialogs aber nich das des SysListView32(Laut WinSpy heißt die Klasse so).


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:38 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