本文整理汇总了C++中TStringList::IndexOfName方法的典型用法代码示例。如果您正苦于以下问题:C++ TStringList::IndexOfName方法的具体用法?C++ TStringList::IndexOfName怎么用?C++ TStringList::IndexOfName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TStringList
的用法示例。
在下文中一共展示了TStringList::IndexOfName方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
//.........这里部分代码省略.........
//ShowMessage(DataList->Text);
//===================================
delete pms;
//-----------------------------------
// 暗号化ファイルの生成日時
//-----------------------------------
//※特に今は使用していないが、将来的に
// 期限付きでファイルを復号できなくなる
// などの機能を追加しても良いかも。
//-----------------------------------
AtcFileCreateDateString = DataList->Strings[1];
//-----------------------------------
// ヘッダデータからファイルリストや
// ファイル情報などを各変数を動的確保
//-----------------------------------
FileSizeList = new __int64[DataList->Count]; // 1: ファイルサイズ(フォルダは-1)
FileAttrList = new int[DataList->Count]; // 2: 属性
FileAgeList = new int[DataList->Count]; // 3: タイムスタンプ
DataList->NameValueSeparator = ':';
tsv = new TStringList;
tsv->Delimiter = '\t';
tsv->StrictDelimiter = true;
char lpPath[MAX_PATH];
for (i = 0; i < DataList->Count; i++) {
idx = DataList->IndexOfName(PrefixString+IntToStr(i));
if (idx > 0) {
tsv->DelimitedText = DataList->ValueFromIndex[idx];
// ディレクトリ・トラバーサル対策(ver.2.8.5.0~)
bool fDirectoryTraversal = false;
AnsiString CanonicalizePath = AnsiString(OutDirPath + tsv->Strings[0]);
if (CanonicalizePath.Length() < MAX_PATH) {
// ファイルパスを正規化
if (PathCanonicalize(lpPath, CanonicalizePath.c_str()) == true) {
// 正規化したパスが保存先と一致するか
if (AnsiString(lpPath).Pos(OutDirPath) != 1 ){
fDirectoryTraversal = true;
}
}
else{
fDirectoryTraversal = true;
}
}
else{
fDirectoryTraversal = true;
}
if (fDirectoryTraversal == true) {
//'不正なファイルパスが含まれています。復号できません。';
MsgText = LoadResourceString(&Msgdecrypt::_MSG_ERROR_INVALID_FILE_PATH) +
"\n" + CanonicalizePath;
MsgType = mtError;
MsgButtons = TMsgDlgButtons() << mbOK;
MsgDefaultButton = mbOK;
Synchronize(&PostConfirmMessageForm);
delete DataList;
示例2: if
//.........这里部分代码省略.........
delete pms;
//-----------------------------------
// 暗号化ファイルの生成日時
//-----------------------------------
//※特に今は使用していないが、将来的に
// 期限付きでファイルを復号できなくなる
// などの機能を追加しても良いかも。
//-----------------------------------
AtcFileCreateDateString = DataList->Strings[1];
//-----------------------------------
// ヘッダデータからファイルリストや
// ファイル情報などを各変数を動的確保
//-----------------------------------
FileSizeList = new __int64[DataList->Count]; // 1: ファイルサイズ(フォルダは-1)
FileAttrList = new int[DataList->Count]; // 2: 属性
FileDtChangeList = new int[DataList->Count]; // 3: 更新日
FileTmChangeList = new int[DataList->Count]; // 4: 更新時
FileDtCreateList = new int[DataList->Count]; // 5: 作成日
FileTmCreateList = new int[DataList->Count]; // 6: 作成時
DataList->NameValueSeparator = ':';
tsv = new TStringList;
tsv->Delimiter = '\t';
tsv->StrictDelimiter = true;
char lpPath[MAX_PATH];
for (i = 0; i < DataList->Count; i++) {
idx = DataList->IndexOfName(PrefixString+IntToStr(i));
if (idx > 0) {
tsv->DelimitedText = DataList->ValueFromIndex[idx];
// ディレクトリ・トラバーサル対策(ver.2.8.5.0~)
bool fDirectoryTraversal = false;
AnsiString CanonicalizePath = AnsiString(OutDirPath + tsv->Strings[0]);
if (CanonicalizePath.Length() < MAX_PATH) {
// ファイルパスを正規化
if (PathCanonicalize(lpPath, CanonicalizePath.c_str()) == true) {
// 正規化したパスが保存先と一致するか
if (AnsiString(lpPath).Pos(OutDirPath) != 1 ){
fDirectoryTraversal = true;
}
}
else{
fDirectoryTraversal = true;
}
}
else{
fDirectoryTraversal = true;
}
if (fDirectoryTraversal == true) {
//'不正なファイルパスが含まれています。復号できません。';
MsgText = LoadResourceString(&Msgdecrypt::_MSG_ERROR_INVALID_FILE_PATH) +
"\n" + CanonicalizePath;
MsgType = mtError;
MsgButtons = TMsgDlgButtons() << mbOK;
MsgDefaultButton = mbOK;
Synchronize(&PostConfirmMessageForm);
delete DataList;