Update для функции ReplaceForbiddenCharsInFileName

May 20th, 2008 Begemot Posted in Программирование

Обнаружил что Винда не любит точки в конце папок, поэтому доработал функциию ReplaceForbiddenCharsInFileName, теперь будет так

/********************** 22/03/08 19:41 *************************

deleteDotsAtEnd – удалять ли точки в конце, винда неразрешает такие имена, хотя и дает их создать програмно:)

******************************************************************/

/*static*/

wxString & BegUtils::ReplaceForbiddenCharsInFileName(wxString & name, const wxString ch/*=wxT("_")*/, bool deleteDotsAtEnd/*=true*/)

{

  wxString forbidden = wxFileName::GetForbiddenChars();

  int size=forbidden.Length();

  for (int i=0; i<size; ++i)

     name.Replace( wxString(forbidden[i]), ch,

true);

  if (deleteDotsAtEnd)

  {

     int count=0, len=name.Len()-1;

     while( name.GetChar(len-count)==_T(‘.’)) count++;

    if (count) name=name.Left(name.Length()-count);

  }

  return name;

}

(пока я пишу только под винду)

Related:

Comments are closed.