home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Programming Tool Box
/
SIMS_2.iso
/
vb_code1
/
f_open
/
fopen.frm
(
.txt
)
< prev
next >
Wrap
Visual Basic Form
|
1991-06-25
|
11KB
|
191 lines
FOpenForm
File Open
wwwwwwwwwp
wwwwwwwwwp
wwwwwwwwwp
Form1*
Text1
FileName
Command1
&Open
FNameLabel
File &Name:
Label4
Directory:
Label1
Label1
Command2
&Cancel
FilesLabel
&Files:
DirLabel
&Directories:
File1
List1
TheFocus
List1Flag@
Text1Flag
TheDriveI
LastChange
Form_Load
FormTitle>
FOpenForm
caption7
ThePath
File1
ThePattern
Pattern
Text1b
Textr
Label1
Form_GotFocus|
List1
List1_GotFocus
GetFocus
SendMessageY
LB_DIR
BuildSpec
selstart
sellength
visible
List1_Dblclick
Listindex
curnt
OldPath
ChangeDrive
ErrState
LB_RESETCONTENT
List1_KeyPress}
KeyAsciik
File1_Click
FileName
File1_KeyPress
File1_DblClick
Command1_Click
Text1_Keypress
RemoveSpaces
Listcount<
TheFileNameV
Foundit
true7
false
tempo
ProcessEntry
ChangeDir
TheStructv
OfStruct
OpenFile
OF_EXIST
lclose
FullName
Text1_Change
List1_Click
TheText
Command2_Click
fpath
Text1_GotFocus
TextLimit
EM_LIMITTEXT
CompleteName
ErrCodeK
DirLabel_Click
Label4_Click
You are welcome to use FOPEN in your programs free of charge."
If you make any improvements send me a copy at CIS-MAL 73667,1755e
Costas Kitsosn
Handle for Drive/Subdirectory ListBox
Flag for Drive/Subdirectory ListBox 0 or 1M
Flag for EM_LIMITTEXT
The selected driveE
Flag used when processing selectionsM
Form_Load
Set the flags for List1 and Text1 e
Update Drive/Subdirectory listbox
Limit text length r
If the Parent didn't specify a FormTitle use the one that's built in.
File Open"
otherwise honor the Parent's specifications
If there is a path specification use it, otherwise use the default.
If the Parent specified a new pattern then use it.
Finish up loading the form.
Form_GotFocus
Set the Focus on List1 to fill the ListBoxh
List1_GotFocus
get the handle of the ListBox
fill it with the Drive/Subdirectory listing
update the flag so we don't go through this every timeo
highlight Text1
List1_Dblclick
List1 holds both drives and subdirectoriess
get the current selectione
save the old path in case of error
if the user chose a drive parse it and change to it
if the user chose a subdirectory change to it
LB_RESETCONTENT clears the list fastn
LB_DIR specifies the type of listbox, &HC010 specifies drives and subdirectories only.l
if there was an error let the user know.C
List1_KeyPress
if the user presses the Return key while on a valid entry, invoke a List1_DblClickn
File1_Click
update the textbox and the lastchange flagn
File1_KeyPress
if Return, select File1_DblClickh
File1_DblClick
Good, we have a file, let's tell Command1
Text1_Keypress
process whatever the user typed in Text11
get rid of the beep (Mark, thanks for the tip)t
remove any space characters. Some users put a space after a period out of habit.
see if the file is in File1.List. If it is, we're done so let's tell Command1.i
if the file is not in File1.List let's see what the user is trying to do.
drive?
subdirectory?
wildcards?
flag used by ChangeDrive
if we found a drive change to it
If changing to the drive didn't cause any errors or if a drive wasn't specified
if a subdirectory was specified
newd$ holds everything to the left of the last backslash
tempo$ hold the rest. Now, process them.
did the user specify only a new pattern?.
highlight the text
ChangeDrive
try to change to the new drivew
if an error occurred go back to the way things were
change the flag so Text1 knows
ChangeDir
change to the new directory and update List1g
you may add a MsgBox error message here if you think it's
necessary.y
ProcessEntry
we'll use this if/when we have to use OpenFile
if a$(newd$) isn't empty change to it.O
if b$(tempo$) isn't empty let's see what it could be.
if it's a new pattern then let File1.List know
otherwise could it be a file?
use OpenFile to see if it exists. If so x% will return a file handle.
This is a very useful API function.I
close the file
if we have a file handle, we're done let's tell Command1
no handle? The user probably specified a subdirectory.
Text1_Change
needed by Command1
Command1_Click
process Text1 entryT
we have a file, put together the FullNamei
let List1 know
we have a file and a FullName
we have a file, put together the FullName
List1_Click
let Command1 know
RemoveSpaces
squeezes out spaces
Command2_Click
' did the user press cancel? Change FullName into an empty string
so the Parent knows.n
BuildSpec
builds the spec for SendMessage
Text1_GotFocus
Do this only once
send the message to limit the text entry to not more than 127 characterse