Search content:

 

Personal Menu
Username:
Password:
Save password

Become a member

Forgot Password?

 

Don't miss these
IPIX
PC Guard for Win32 Xtra
Inspect
free MD5 hashing Xtra
Flash Sprite -- Simple Controller [Play, Pause, Rewind]
Set Properties of a Flash Sprite
VSnap
Find a drive with a specific name/Find CD Drives
Director 8.5 Studio
Rotate-a-Sprite
MediaMacros Xtras Mall
 

 

 

Behavior file browser

Added on 10/2/2000

 

Compatibilities:
behavior D7 D8 PC

Required Xtras:
Buddy API
FileXtra

This item has not yet been rated

Author: MediaMacros (website)

This is a little utility that will turn any scrollable field member into a file browser. It is not terribly useful on its own, but can be modified easily to suit your needs. Requires the FileXtra

property spriteNum, driveList, curDirectory

on beginSprite me
  if getOne([#field,#text], sprite(spriteNum).member.type) <> 0 then
    theDrives = drivesToList()
    driveList = ""
    repeat with x = 1 to theDrives.count
      driveList = driveList & theDrives[x] & return
    end repeat
    sprite(spriteNum).member.text = driveList
    curDirectory = ""
  end if
end

on mouseUp me
  if getOne([#field,#text], sprite(spriteNum).member.type) <> 0 then
    if the doubleClick then      
      theLine = the mouseLine
      theLineText = sprite(spriteNum).member.text.line[theLine]
      put theLineText
      if getOne([""," ", "..", "*****Directories*****", "*****Files*****"], theLineText) = 0 then
        --is a valid click      
        if curDirectory = "" then
          curDirectory = theLineText
          buildTree()
        else
          isFile =  baFileDate( curDirectory & "\" & theLineText , "dd-mm-yy" , "hh:nn:ss" )
          if isFile = "" then
            --is a folder
            curDirectory = curDirectory & "\" & theLineText
            buildTree()
          else
            --is a file
            numChars = theLineText.chars.count
            if numChars >= 4 then
              extension = theLineText.char[(numChars - 3)..(numChars)]
              if getOne([".exe", ".com", ".bat"], extension) <> 0 then
                --is an executable
                baRunProgram( baShortFileName(curDirectory & "\" & theLineText) , "normal", true )
              else
                ok = baOpenFile(baShortFileName(curDirectory & "\" & theLineText), "normal")              
                if ok < 32 then getError(ok)
              end if
            end if            
          end if
        end if
      else
        --is invalid or is ..
        if theLineText = ".." then
          the itemDelimiter = "\"
          theItems = curDirectory.item.count
          newDir = ""
          if theItems = 1 then
            curDirectory = ""
            sprite(spriteNum).member.text = driveList
          else            
            repeat with y = 1 to (theItems - 1)
              newDir = newDir & curDirectory.item[y]
              if y < (theItems - 1) then
                newDir = newDir & "\"
              end if
            end repeat
            curDirectory = newDir
            buildTree()
          end if
        end if        
      end if
    end if
  end if
end

on getError whatError
  case whatError of
    0  :  alert "System was out of memory."
    2  : alert "File was not found."
    3   :alert "Path was not found."
    5  : alert "Sharing or network-protection error."
    6  : alert "Library required separate data segments for each task."
    8  :  alert"There was insufficient memory to start the application."
    10  : alert"Windows version was incorrect."
    11  : alert "Executable file was invalid. Either it was not a Windows application or there was an error in the .EXE image."
    12  : alert "Application was designed for a different operating system."
    13  : alert "Application was designed for MS-DOS 4.0."
    14  : alert "Type of executable file was unknown."
    15  : alert "Attempt was made to load a real-mode application (developed for an earlier version of Windows)."
    16  : alert "Attempt was made to load a second instance of an executable file containing multiple data segments that were not marked read-only."
    19  : alert "Attempt was made to load a compressed executable file. The file must be decompressed before it can be loaded."
    20  :  alert"Dynamic-link library (DLL) file was invalid. One of the DLLs required to run this application was corrupt."
    21  : alert "Application requires 32-bit extensions."
    26  : alert "A sharing violation occurred."
    27  : alert "The filename association is incomplete or invalid."
    29  : alert "The DDE transaction failed."
    30  : alert "The DDE transaction could not be completed because other DDE transactions were being processed."
    31  : alert "There is no application associated with the given filename"
  end case
end


on buildTree me
  theText = "*****Directories*****" & return
  folders = baFolderList(curDirectory)
  files = baFileList(curDirectory, "*.*")
  if folders.count >= 1 then
    repeat with x = 1 to folders.count
      theText = theText & folders[x] & return
    end repeat
  end if
  theText = theText & "*****Files*****" & return
  if files.count >= 1 then
    repeat with x = 1 to files.count
      theText = theText & files[x] & return
    end repeat
  end if
  theText = theText & ".." & return
  sprite(spriteNum).member.text = theText
  sprite(spriteNum).member.scrollTop = 0
end

on getBehaviorDescription me
  describe = "This is a little utility that will turn any scrollable field member into a file browser.  It is not terribly useful on its own, but can be modified easily to suit your needs.  Requires the FileXtra"
  return describe
end

on getBehaviorTooltip me
  describe = "This is a little utility that will turn any scrollable field member into a file browser.  It is not terribly useful on its own, but can be modified easily to suit your needs.  Requires the FileXtra"
  return describe
end

 


Upload Provided by ABCUpload ASP

Contact

MMI
22 West Court Sq
Suite 2C
Newnan, GA 30263
USA

Fax - (206) 339-5833

Send e-mail