Browse Source

+ uses weditor FileDir var to remember Directory for Open/Save

pierre 26 years ago
parent
commit
a96e37c9dd
1 changed files with 25 additions and 1 deletions
  1. 25 1
      ide/text/fpmfile.inc

+ 25 - 1
ide/text/fpmfile.inc

@@ -76,18 +76,39 @@ end;
 procedure TIDEApp.Open(FileName: string);
 var D: PFileDialog;
     OpenIt: boolean;
+    DriveNumber : byte;
+    StoreDir,StoreDir2 : DirStr;
 begin
   OpenIt:=FileName<>'';
+  DriveNumber:=0;
   if not OpenIt then
    begin
+     GetDir(0,StoreDir);
+     if (Length(FileDir)>1) and (FileDir[2]=':') then
+       begin
+         { does not assume that lowercase are greater then uppercase ! }
+         if (FileDir[1]>='a') and (FileDir[1]>='z') then
+           DriveNumber:=Ord(FileDir[1])-ord('a')+1
+         else
+           DriveNumber:=Ord(FileDir[1])-ord('A')+1;
+         GetDir(DriveNumber,StoreDir2);
+         ChDir(Copy(FileDir,1,2));
+       end;
+     ChDir(FileDir);
      New(D, Init(OpenExts,'Open a file','File to open',fdOpenButton,0));
      OpenIt:=Desktop^.ExecView(D)<>cmCancel;
      if OpenIt then
        Begin
          D^.GetFileName(FileName);
          OpenExts:=D^.WildCard;
+         FileDir:=DirOf(FExpand(FileName));
        End;
      Dispose(D, Done);
+     if DriveNumber<>0 then
+       ChDir(StoreDir2);
+     if (Length(StoreDir)>1) and (StoreDir[2]=':') then
+       ChDir(Copy(StoreDir,1,2));
+     ChDir(StoreDir);
    end;
   if OpenIt then
    begin
@@ -158,7 +179,10 @@ end;
 
 {
   $Log$
-  Revision 1.10  1999-03-23 15:11:32  peter
+  Revision 1.11  1999-06-25 00:35:54  pierre
+   + uses weditor FileDir var to remember Directory for Open/Save
+
+  Revision 1.10  1999/03/23 15:11:32  peter
     * desktop saving things
     * vesa mode
     * preferences dialog