×

Good News Everybody!

The new search engine is LIVE!

Please report any problems to david (at) midrange.com.




It doesn't matter if your program is SQL or RPG now for this the best
solution is to use %Scan and %Substr, and this the way I would do it
Since your string will contain 3 slashes do %scan in a loop until the
position of the third slashes is found, once you found this position do this
1. Filename= %Substr(Mystring:Pos+1); Do not use the third Parm (how many
characters to extract) this will make sure you get everything the string
has after pos+1
2. Path = %Substr(Mystring:1:Pos); this will extract everything the
string has before the third slash.

On Mon, Sep 19, 2016 at 11:42 AM, Hiebert, Chris <
chris.hiebert@xxxxxxxxxxxxxx> wrote:

Until we get to v7r2 I'm just doing a Do While loop:

Dcl-s Filename varchar(1024);
Dcl-s rtnval Int(10);
// V7R2::: rtnval = %Scanr('/' : Filename ); :::V7R2
rtnval = %Len(Filename);
Dow rtnval > 0;
If %Subst( FileName : Rtnval : 1 ) = '/';
Leave;
Endif;
rtnval -= 1;
Enddo;

// check directory.
If rtnval > 1;
rtnval -= 1;
If stat( %Subst( Filename : 1 : rtnval ) : DirStat ) =-1;
// No directory - Create it.
Mkdir( %Subst( Filename : 1 : rtnval ) :
S_IRUSR+S_IWUSR+S_IXUSR+
S_IRGRP+S_IWGRP+S_IXGRP+
S_IROTH );
Endif;
Endif;

Chris Hiebert
Senior Programmer/Analyst
Disclaimer: Any views or opinions presented are solely those of the author
and do not necessarily represent those of the company.


-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Booth
Martin
Sent: Monday, August 15, 2016 2:15 PM
To: RPG programming on the IBM i / System i <rpg400-l@xxxxxxxxxxxx>
Subject: scan to separate path & file

Methinks there is a better way than what I am doing.

I have a string like "home/One/Two/sample.txt" and want to separate it as
two strings: "home/One/Two/" and "sample.txt". I will be doing this in an
.sqlrpgle program.

Suggestions on approach to this?
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2026 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.