× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@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-2024 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.