[Delphi 6] Mappen openen met Opendialog???

Pagina: 1
Acties:
  • 134 views sinds 30-01-2008
  • Reageer

  • JackBol
  • Registratie: Maart 2000
  • Niet online

JackBol

Security is not an option!

Topicstarter
Hoi,
ik ben een programmaatje aan het schrijven, om een rij fotos in een bepaalde map te bewerken.

nu wil ik graag d.m.v. een opendialog(of een soortgelijk tooltje) de map selecteren waar de files in staan. Dus niet een file apart selecteren, maar de hele map, zodat de opendialog iets als: 'c:\windows\' als output geeft. hoe kan ik da doen? want als je in de opendialog een map aanklikt, gaat die map gewoon open...

Opbrengst van mijn Tibber Homevolt met externe kWh meter. | Opbrengst van mijn Tibber Homevolt volgens de Tibber Data API.


Verwijderd

hint: zoek eens op 'delhpi directory'

[topic=229965/1/150]

in die thread staat precies wat jij wilt, en zo zijn er nog 50 ;)

  • JackBol
  • Registratie: Maart 2000
  • Niet online

JackBol

Security is not an option!

Topicstarter
Jah, da werkt bij delphi 3 inderdaad, maar ik heb delphi 6 :(

en hier werkt het niet...
waarom is er nie gewoon een standaard object voor directory openen?

Opbrengst van mijn Tibber Homevolt met externe kWh meter. | Opbrengst van mijn Tibber Homevolt volgens de Tibber Data API.


Verwijderd

SelectDirectory werkt in beide smaken ook nog in D6, hoor. En in de online help van zelfs de (gratis) Personal versie van D6 worden ze allebei ook nog netjes uitgelegd...

  • JackBol
  • Registratie: Maart 2000
  • Niet online

JackBol

Security is not an option!

Topicstarter
Ik heb het werkend!
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Uses
  ShellAPI, ShlObj;

procedure TForm1.Button2Click(Sender: TObject);
var
  BrowseInfo  : TBrowseInfo;
  PIDL    : PItemIDList;
  DisplayName : array[0..MAX_PATH] of Char;
begin
  { initialize our TBrowseInfo structure }
  FillChar(BrowseInfo,SizeOf(BrowseInfo),#0);
  BrowseInfo.hwndOwner  := Handle;
  BrowseInfo.pszDisplayName := @DisplayName[0];
  BrowseInfo.lpszTitle  := 'Select Directory';
  BrowseInfo.ulFlags      := BIF_RETURNONLYFSDIRS;

  { diaplay browse folder set the return value to
    our itemlist }
  PIDL := SHBrowseForFolder(BrowseInfo);

  { get our directory form the itemlist, the
    DisplayName alone is just the directory name
    without the path }
  if Assigned(PIDL) then
    if SHGetPathFromIDList(PIDL, DisplayName) then
    if edit2.text <>DisplayName then
      begin
        edit1.Text:=(DisplayName);
      end
    else
      begin
        Showmessage('Source en Destination map mogen niet het zelfde zijn');
      end;
end;

bedankt!

werkt perfect!

Opbrengst van mijn Tibber Homevolt met externe kWh meter. | Opbrengst van mijn Tibber Homevolt volgens de Tibber Data API.