do
{
if (!OpenDialog1->Execute()) break;
}while (ExtractFileExt(OpenDialog1->FileName) !=".doc" || ExtractFileExt(OpenDialog1->FileName) !=".txt" || ExtractFileExt(OpenDialog1->FileName) !=".rtf");
Ограничение на открытие файла
Можно ли как-то поставить такое ограничение: когда открываешь файл с помощью Opendialog нужно открывать только файлы с росшырением .doc, .rtf, и .txt, а все остальные не открывать, тоесть при открытии выкидывать ошыбку?:confused:
нужно поставить фильтр по расширению
Цитата: Михаил
нужно поставить фильтр по расширению
Я фильтр поставил, но когда в поле названия файла пишешь название и росширение то тоже открывает, а нужно чтобы выдавало ошыбку! можно так сделать?
Цитата: vitalya777
Я фильтр поставил, но когда в поле названия файла пишешь название и росширение то тоже открывает, а нужно чтобы выдавало ошыбку! можно так сделать?
Код:
Цитата: oxotnik333
Код:
do
{
if (!OpenDialog1->Execute()) break;
}while (ExtractFileExt(OpenDialog1->FileName) !=".doc" || ExtractFileExt(OpenDialog1->FileName) !=".txt" || ExtractFileExt(OpenDialog1->FileName) !=".rtf");
{
if (!OpenDialog1->Execute()) break;
}while (ExtractFileExt(OpenDialog1->FileName) !=".doc" || ExtractFileExt(OpenDialog1->FileName) !=".txt" || ExtractFileExt(OpenDialog1->FileName) !=".rtf");
а если мне нужно еще использовать токие условия:
Код:
if(OpenDialog1->Execute())
{
RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);
Label2->Caption=OpenDialog1->FileName;
}
else RichEdit1->Clear();
{
RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);
Label2->Caption=OpenDialog1->FileName;
}
else RichEdit1->Clear();
Можно ли при этом использовать твой код, или как можно его изменить, бо у меня никак не выходит!Может кто-то подскажет? Очень надо!
Код:
do
{
if (!OpenDialog1->Execute())
{
RichEdit1->Clear();
break;
}
}while (ExtractFileExt(OpenDialog1->FileName) !=".doc" || ExtractFileExt(OpenDialog1->FileName) !=".txt" || ExtractFileExt(OpenDialog1->FileName) !=".rtf");
RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);
Label2->Caption=OpenDialog1->FileName;
{
if (!OpenDialog1->Execute())
{
RichEdit1->Clear();
break;
}
}while (ExtractFileExt(OpenDialog1->FileName) !=".doc" || ExtractFileExt(OpenDialog1->FileName) !=".txt" || ExtractFileExt(OpenDialog1->FileName) !=".rtf");
RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);
Label2->Caption=OpenDialog1->FileName;
Цитата: oxotnik333
Код:
do
{
if (!OpenDialog1->Execute())
{
RichEdit1->Clear();
break;
}
}while (ExtractFileExt(OpenDialog1->FileName) !=".doc" || ExtractFileExt(OpenDialog1->FileName) !=".txt" || ExtractFileExt(OpenDialog1->FileName) !=".rtf");
RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);
Label2->Caption=OpenDialog1->FileName;
{
if (!OpenDialog1->Execute())
{
RichEdit1->Clear();
break;
}
}while (ExtractFileExt(OpenDialog1->FileName) !=".doc" || ExtractFileExt(OpenDialog1->FileName) !=".txt" || ExtractFileExt(OpenDialog1->FileName) !=".rtf");
RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);
Label2->Caption=OpenDialog1->FileName;
Извини, но этот код не работает.
Цитата: vitalya777
Извини, но этот код не работает.
он и не обязан работать... я принцип написал, все условия сам додумай
Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (op1->Execute())
{
int Length=op1->FileName.Length();
if ((op1->FileName.SubString(Length-2,3)!="doc")&&(op1->FileName.SubString(Length-2,3)!="rtf")&&(op1->FileName.SubString(Length-2,3)!="txt"))
{
ShowMessage("Файл должен быть .doc, .rtf, .txt!!! ");
Abort();
}
ShowMessage("Файл успешно загружен");
// а дальше делаешь с файлом что хочешь, хоть в Rich Edit... хоть...
}
}
{
if (op1->Execute())
{
int Length=op1->FileName.Length();
if ((op1->FileName.SubString(Length-2,3)!="doc")&&(op1->FileName.SubString(Length-2,3)!="rtf")&&(op1->FileName.SubString(Length-2,3)!="txt"))
{
ShowMessage("Файл должен быть .doc, .rtf, .txt!!! ");
Abort();
}
ShowMessage("Файл успешно загружен");
// а дальше делаешь с файлом что хочешь, хоть в Rich Edit... хоть...
}
}