AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Durchsuchenbefehl, um eine Datei auszuwählen

Durchsuchenbefehl, um eine Datei auszuwählen

Ein Thema von spox · begonnen am 23. Sep 2007 · letzter Beitrag vom 23. Sep 2007
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von spox
spox

Registriert seit: 23. Sep 2007
47 Beiträge
 
Delphi 7 Personal
 
#1

Durchsuchenbefehl, um eine Datei auszuwählen

  Alt 23. Sep 2007, 13:49
Hallo!
Vorab: Ich bin nicht sicher, ob ich hier richtig bin. Es geht hier um einen Durchsuchenbefehl, das ist doch im Prinzip eine Systemfunktion (hab ich mir gedacht). Wie auch immer.

Ich bräuchte einen Durchsuchenbefehl, wo man eine Exe auswählt, die man daraufhin mit ShellExceute startet. Doch dafür bräuchte ich erstmal einen Befehl, um die Exe überhaupt auszuwählen. Ich habe einen Editfeld und daneben einen Durchsuchenbutton. Wenn man Durchsuchen anklickt, öffnet sich eine neue Form, bei dem ein ShellTreeView als wesentlicher Bestandteil dient. Doch wie kann ich jetzt die Datei auswählen und den Pfad (z.B.: C:/Programme/test.exe) in das Edit-Feld einträgt?

P.S.: Ich hab Delphi 6
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Durchsuchenbefehl, um eine Datei auszuwählen

  Alt 23. Sep 2007, 13:57
Ich würde dir zu einem fertigen Dialog TOpenDialog (oder so ähnlich) raten. Da hast du alles schon fertig
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von spox
spox

Registriert seit: 23. Sep 2007
47 Beiträge
 
Delphi 7 Personal
 
#3

Re: Durchsuchenbefehl, um eine Datei auszuwählen

  Alt 23. Sep 2007, 14:03
Hab ich schon gesehen ... nur weiß ich nicht so recht wie das funktioniert
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Durchsuchenbefehl, um eine Datei auszuwählen

  Alt 23. Sep 2007, 14:08
ganz einfach:
Delphi-Quellcode:
if OpenDialog1.Execute then
  EditDatei.Text := OpenDialog1.FileName;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von spox
spox

Registriert seit: 23. Sep 2007
47 Beiträge
 
Delphi 7 Personal
 
#5

Re: Durchsuchenbefehl, um eine Datei auszuwählen

  Alt 23. Sep 2007, 14:16
Super Danke!

Hat geklappt!
Um den Pfad jetzt in eine Variable zu speichern müsste ich doch einfach

Delphi-Quellcode:
var
pfad: string;

{...}

pfad := Edit1.Text;
machen, oder?

Dann könnte ich die Variable in den ShellExecutebefehl reinstecken und mein Programm würde starten,, oder?
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Durchsuchenbefehl, um eine Datei auszuwählen

  Alt 23. Sep 2007, 14:22
Warum machst du dann noch den Umweg über das edit? Schau dir auch mal die eigenschaft 'Filter' an, da kannst du einstellen, dass ausschließlich Exen angezeigt werden und nicht z.B. txt-Dateien.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Durchsuchenbefehl, um eine Datei auszuwählen

  Alt 23. Sep 2007, 14:22
genau. Da Shellexecute aber einen PChar erwartet und kein String musst du noch casten
ShellExecute(..., PChar(Variable),.....);
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Durchsuchenbefehl, um eine Datei auszuwählen

  Alt 23. Sep 2007, 14:22
direkt kannst du das auch so machen:
Delphi-Quellcode:
if OpenDialog1.execute then
  shellexecute(handle, 'open', PChar(OpenDialog1.FileName), Nil, Nil, sw_show);
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Benutzerbild von spox
spox

Registriert seit: 23. Sep 2007
47 Beiträge
 
Delphi 7 Personal
 
#9

Re: Durchsuchenbefehl, um eine Datei auszuwählen

  Alt 23. Sep 2007, 14:33
Also ich hab es jetzt so gemacht:
ShellExecute(Application.Handle, 'open', PChar(pfad), nil, nil, SW_SHOW) Doch es startet leider nicht das Programm ... Es wird lediglich mein Delphiprogramm minimiert ... Kann das daran liegen, dass das auswählen der Datei und der Startbutton auf verschiedenen Form's liegen?
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Durchsuchenbefehl, um eine Datei auszuwählen

  Alt 23. Sep 2007, 14:37
Moin Spox,

wenn das Programm nicht startet, solltest Du mal den Inhalt von Pfad überprüfen.
Was das Minimieren Deines Programmes angeht: Ersetz mal Application.Handle durch self.Handle oder trag einfach eine 0 ein.

[EDIT]
Ausserdem könntest Du mal den Rückgabewert von ShellExecute prüfen.
Ist der > 32 war der Aufruf erfolgreich, ansonsten könnte Dir die Auflistung der möglichen Rückgabewerte hier (MSDN-Library durchsuchenShellExecute) weiterhelfen.
[/EDIT]
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:26 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