コード例 #1
0
ファイル: io_part.cpp プロジェクト: CS-svnmirror/farmanager
//---------------------------------------------------------------------------
MyString MYRTLEXP GetFExtOnly( const MyString& nm, char Slash  )
  {  char *m = StrRChr( nm.Text(),Slash );

    if ( !m ) m = nm.Text();
    m = StrRChr( m,'.' );

    if (m)
      return MyString(m+1);
     else
      return MyString("");
}
コード例 #2
0
ファイル: mu_scol.cpp プロジェクト: CS-svnmirror/farmanager
CONSTSTR MYRTLEXP StrDelStr( CONSTSTR str,CONSTSTR subStr,int pos )
  {  CONSTSTR m = (str && subStr)?strstr(str+Min(pos,(int)strLen(str)),subStr):NULL;
    resStrSCol = "";
    if ( !m ) {
      if (str) resStrSCol = str;
      return resStrSCol.Text();
    }
    for ( ; *str && str != m; str++ ) resStrSCol.Add(*str);
    for ( ; *str && *subStr; subStr++,str++ );
    for ( ; *str; str++ ) resStrSCol.Add(*str);
 return resStrSCol.Text();
}
コード例 #3
0
ファイル: io_part.cpp プロジェクト: CS-svnmirror/farmanager
MyString MYRTLEXP GetFNameOnly( const MyString& nm, char Slash  )
  {  char  str[ MAX_PATH_SIZE ];
     char *m = StrRChr( nm.Text(),Slash );

     if (!m) m = nm.Text(); else m++;
     StrCpy( str,m,sizeof(str) );

     m = StrRChr(str,'.');
     if (m) *m = 0;

 return MyString(str);
}
コード例 #4
0
ファイル: io_part.cpp プロジェクト: CS-svnmirror/farmanager
//---------------------------------------------------------------------------
MyString MYRTLEXP GetFName( const MyString& nm, char Slash )
  {  char *m = StrRChr( nm.Text(), Slash );

     if (!m)
       return MyString(nm);
      else
       return MyString(m+1);
}
コード例 #5
0
ファイル: io_part.cpp プロジェクト: CS-svnmirror/farmanager
//---------------------------------------------------------------------------
MyString MYRTLEXP GetFPath( const MyString& nm, char Slash )
  {  char  str[ MAX_PATH_SIZE ];
     char *m;

     StrCpy( str,nm.Text(),sizeof(str) );
     m = StrRChr( str,Slash );
     if (m) *m = 0; else str[0] = 0;

 return MyString( AddLastSlash(str) );
}
コード例 #6
0
ファイル: mu_scol.cpp プロジェクト: CS-svnmirror/farmanager
CONSTSTR MYRTLEXP StrGetCol( MyString& buff, CONSTSTR str,int number,CONSTSTR seps )
  {  int res;

     for ( res = 1; *str && res < number; str++ )
       if ( StrChr(seps,*str) != NULL ) res++;
     buff = "";
     if ( res == number )
       for( ; *str && StrChr(seps,*str) == NULL; str++ )
         buff.Add(*str);
 return buff.Text();
}
コード例 #7
0
ファイル: io_cmp.cpp プロジェクト: CS-svnmirror/farmanager
MyString MYRTLEXP MakeFullPathName( const MyString& fname, const MyString& base )
  {  MyString oldP,s;

    if ( fname.Chr(SLASH_CHAR) == -1 ) {
      s.Set( base );
      s.Add( SLASH_CHAR );
      s.Add( fname );
      return s;
    }

    oldP = GetCurDir();
     //Go base path
     SetCurDir( base.Text() );
     //Go fname path in case it relative
     SetCurDir( FPath(fname.Text()) );
     //Get result path + name
     s.Set( GetCurDir() );
     s.Add( FName(fname.Text()) );
    SetCurDir( oldP.Text() );
 return s;
}
コード例 #8
0
ファイル: io_cmp.cpp プロジェクト: CS-svnmirror/farmanager
BOOL MYRTLEXP PathCmp( const MyString& path,const MyString& path1 )
  {
 return CMP_FILE( path.Text(),path1.Text() );
}
コード例 #9
0
ファイル: disk_io.cpp プロジェクト: FarGroup/FarManager
/***************************************
            Procedures
 ***************************************/
BOOL MYRTLEXP BasePath( const MyString& base, const MyString& path )
  {
  return path.Length() >= base.Length() &&
         CMPN_FILE( path.Text(),base.Text(),base.Length() );
}