|
// *********************************************************
// リストビューの選択されている行のファイルを解凍
// 戻り値 : 0 正常終了, それ以外はエラー
// 解凍先にパス情報を反映しない
// *********************************************************
int LboxUnlha::MeltPath( LboxListview *Lview, LboxString *LDir )
{
return LboxUnlha::MeltPath(
Lview,
LDir->szLboxString
);
}
int LboxUnlha::MeltPath( LboxListview *Lview, LPTSTR lpDir )
{
LboxString LString;
int nRow;
BOOL bFirst;
this->Command.operator = ( "X -p2 " );
LString.operator = (&(this->TargetPath));
LString.Enclose('"');
this->Command.operator += ( &(LString) );
this->Command.operator += ( " " );
LString.operator = (lpDir);
LString.AddBackslash();
LString.Enclose('"');
this->Command.operator += ( &(LString) );
this->Command.operator += ( " " );
nRow = -1;
bFirst = true;
while( Lview->FindNextSelectedRow( &nRow ) ) {
if ( bFirst ) {
bFirst = false;
}
else {
this->Command.operator += ( " " );
}
Lview->GetColumnText( 9, &LString );
LString.Enclose('"');
this->Command.operator += ( &(LString) );
}
return LboxUnlha::Unlha(
&(this->Command)
);
}
| |