Forum
Grundkurs
»Introduktion
»Snabbguide
»Komponenter
»Händelser
»Strängar
»Räkna med Delphi »Egna
typer
»Selektion
»Iteration
»Menyer
»Funktioner
»Arraystrukturer
Tips & Tricks
»Nya tips
»Blandat
»Databaser
»Filer
»Forms
»Grafik
»Internet
»Komponenter
»Matematik
»Multimedia
»Objekt/ActiveX
»Skrivare
»Strängar
»System
»Mest lästa tips
Artiklar
»Delphi och ADO
»Bygga en DLL
»Skapa en enkel rapport
»Hantera registret
»Enheter, units
»Klassen TCanvas
»Använd LookUp Controls
Nya
tips
Lägg
till tips
Delphilänkar
Gästbok
|
|
FuzzyDizzie » Delphi » Forum
|
|
|
|
Sökväg för dialogrutor i Windows Vista
2009-04-30 09:03 - dprsys [Registrerad 2007-05-15]
|
Använder D2007. Har nyss bytt till Vista från XP. Använder Opendialogboxar för att öppna filer i ett antal program.
Där har jag generellt designat det så att jag anger en definierad sökväg i dialogboxens egenskaper 8 "Initial dir". Detta fungerar dock inte i Vista, som generellt söker på "högsta nivån", man måsteklicka på "den hör datorn" sedan bläddra till hårddisken och till fördefinierad katalog för att få det att fungera. Sedan, när man har sparat en fil i den katalogen så kommer systemet ihåg sökvägen och föreslår den i fortsättningen. Detta är totalt sett inte bra anser jag, speciellt för anväbdare som inte känner till vilken mapp man ska bläddra fram blir det tidsödandee.
Nu undrar jag om någon vet hur man kan modifiera koden så att programmet i Vista redan första gången söker i den mapp som "initial dir" är inställd på.
|
|
|
|
Sökväg för dialogrutor i Windows Vista
2009-04-30 11:07 - sberg [Registrerad 2004-04-20]
|
Hej!
När jag testar följande kod så ställer sig programmet i den mapp som är definierad i InitialDir, både första gången och alltid:
procedure TForm1.Button1Click(Sender: TObject); var openDialog1 : TOpenDialog; begin
openDialog1 := TOpenDialog.Create(self);
openDialog1.InitialDir := 'C:\Inetpub\';
openDialog1.Options := [ofFileMustExist];
openDialog1.Filter := 'Alla filer|*.*';
openDialog1.FilterIndex := 2;
if openDialog1.Execute then ShowMessage('File : '+openDialog1.FileName) else ShowMessage('Open file was cancelled');
openDialog1.Free; end;
|
Hoppas att jag förstått dig rätt. Kör D6 och Windows Vista.
mvh Staffan
|
|
|
|
|
|