Old dog eyeing new tricks... - Printable Version +- QB64 Phoenix Edition (https://qb64phoenix.com/forum) +-- Forum: QB64 Rising (https://qb64phoenix.com/forum/forumdisplay.php?fid=1) +--- Forum: Code and Stuff (https://qb64phoenix.com/forum/forumdisplay.php?fid=3) +---- Forum: Help Me! (https://qb64phoenix.com/forum/forumdisplay.php?fid=10) +---- Thread: Old dog eyeing new tricks... (/showthread.php?tid=3172) |
Old dog eyeing new tricks... - Pete - 10-27-2024 _OpenFileDialog$() So let's say I use this beat new addition to qb. It opens my local directory (c:\QB64pe), but now I use that dialog box to go to a different folder: c:\Pete's Tremendous-Steve's-Just-Amazing and I open a file from that location. So what do I query to get that non-local directory into a string variable like dir$ in my code? Pete RE: Old dog eyeing new tricks... - ahenry3068 - 10-27-2024 (10-27-2024, 12:10 AM)Pete Wrote: _OpenFileDialog$() Pete the string$ returned from OpenFileDialog$ is the entire Pathname of the file chosen. You just snip off the 'Name' part of the string to get the full path. RE: Old dog eyeing new tricks... - Pete - 10-27-2024 Neat! +1 Code: (Select All)
So now I see I can get the file info and use it locate itself, similar to how we used to do it in the SHELL example, with one exception, it does not highlight the file in the menu, instead it places the file name in the dialog open box. Thanks! Pete Oh, BTW: I stared programming in BASIC in 1981. TI 4A. When 4K was all anybody would ever need! RE: Old dog eyeing new tricks... - ahenry3068 - 10-27-2024 (10-27-2024, 12:54 AM)Pete Wrote: Neat! +1 I started programming BASIC in 1985 but on 'Big Iron'. I had 1mb of user Ram & 1.6gb's of Hard drive space available to me. (I'll let you guess how much those '4' storage devices weighed). And I had all the colors in the World I needed as long as they were Black or Green. (The 'Big Iron' was a Harris Systems mini computer running 'Virtual Operating System V' ) I didn't own my own system until about 3 years later when I bought a Tandy 1000 TX (and Maxed out a brand new Radio Shack credit card for that) ... RE: Old dog eyeing new tricks... - ahenry3068 - 10-27-2024 (10-27-2024, 01:31 AM)ahenry3068 Wrote:I find the following useful(10-27-2024, 12:54 AM)Pete Wrote: Neat! +1 Function GetFileExt$ (FName$) DOT$ = "." L = Len(FName$) TMP$ = "" If InStr(1, FName$, DOT$) = 0 Then GoTo Skipall For I = L To 1 Step -1 C$ = Mid$(FName$, I, 1) TMP$ = C$ + TMP$ If C$ = DOT$ Then Exit For Next I Skipall: GetFileExt = TMP$ End Function Function GetFileName$ (FName$) $If WINDOWS Then SLASH$ = "\" $Else SLASH$ = "/" $End If TMP$ = "" T$ = GetFileExt(FName$) CUT = Len(T$) L = Len(FName$) TName$ = Left$(FName$, L - CUT) If InStr(1, TName$, SLASH$) = 0 Then TMP$ = TName$ GoTo Skiploop End If For I = Len(TName$) To 1 Step -1 C$ = Mid$(TName$, I, 1) If C$ <> SLASH$ Then TMP$ = C$ + TMP$ Else Exit For End If Next I Skiploop: GetFileName = TMP$ End Function Function GetFilePath$ (FName$) t1$ = GetFileExt(FName$) t2$ = GetFileName(FName$) L = Len(FName$) - (Len(t1$) + Len(t2$)) GetFilePath$ = Left$(FName$, L) End Function RE: Old dog eyeing new tricks... - Pete - 10-27-2024 Takes me back to the days when we had to parse SHELL dir calls. Whomever created the /b switch (bare files) was a friggin' genius. Yeah, who got it right backslash Windows or forward slash Unix and everything else? Maybe Gates was dyslexic... Oh wait, I meant demonic. Pete |