コード例 #1
0
ファイル: MOTEUR2.C プロジェクト: hervethouzard/divers_c
void main(void)
{
 char src[50]="   option = valeur  # commentaire";
 char dest[30], dest2[30], option[30], valeur[30];
 int pos=0;

 AllTrim(dest,src);
 pos=At(dest,"#");
 if(pos)
 {
  if(pos>1)
  {
   Substr(dest2,dest,1,pos-1);
   RTrim(dest2);
  }
 }
 else strcpy(dest2,dest);
 printf("Ligne nettoyee= :%s:\n",dest2);
 pos=At(dest2,"=");
 if(!pos) printf("Attention, ce n'est pas une option.\n");
 else
 {
  Substr(option,dest2,1,pos-1);
  RTrim(option);
  Substr(dest,dest2,pos+1,0);
 } 
}
コード例 #2
0
EzString NrTransStdIn::ProcessReadData (EzString Data)
{
    EzString     Temp, RetVal;
    const short *pIn, *pInStart, *pInLast;
    short       *pOut;
    int          InLen;

    Temp = XxStdIn::ProcessReadData (Data);

    BlockBuffer += Adjust.ProcessData (Temp);

    if (BlockBuffer.Length () > 2048) {
        Temp        = Substr (BlockBuffer, 0, 2048);
        BlockBuffer = Substr (BlockBuffer, 2048);
    } else {
        Temp = "";
    };

    AvailToRead -= Temp.Length ();

    if (MuteFlag) {
        RetVal = "";
    } else {
        RetVal = Comp.Compress (Temp);
    };

    return RetVal;
};
コード例 #3
0
ファイル: FTIME.C プロジェクト: hervethouzard/divers_c
unsigned long TimeToMin(char *heure)
{
 unsigned long l_h, l_m, retour;
 char desti[10];
 l_h=atol(Substr(desti,heure,1,2));
 l_m=atol(Substr(desti,heure,4,2));
 retour=l_h*60+l_m;
 return(retour);
}
コード例 #4
0
ファイル: FTIME.C プロジェクト: hervethouzard/divers_c
unsigned long TimeToSec(char *heure)
{
 unsigned long l_h, l_m, l_s, retour;
 char desti[10];
 l_h=atol(Substr(desti,heure,1,2));
 l_m=atol(Substr(desti,heure,4,2));
 l_s=atol(Substr(desti,heure,7,2));
 retour=l_h*3600+l_m*60+l_s;
 return(retour);
}
コード例 #5
0
	String ReplaceExtension(const String& filename, const String& newExt)
	{
		if (filename.empty())
			return String();
		String::size_type p = filename.find_last_of('.');
		if (p == String::npos)
			return String(filename) << newExt;
		String::size_type s = filename.find_last_of("\\/");
		if (s != String::npos && p < s)
			return String(filename) << newExt;
		return Substr(filename, 0, p) << newExt;
	}
コード例 #6
0
	void Http::get(const String &filename, const String &url)
	{
		destroyThread();
		this->filename = filename;
		String tmp = url;
		if (tmp.startsWith("http://"))
			tmp.erase(0, 7);
		this->servername = Substr(tmp, 0, tmp.find_first_of("/"));
		tmp.erase(0, this->servername.size());
		this->_request = tmp;

		bStop = false;
		pos = 0;
		size = 0;
		start();
	}
コード例 #7
0
ファイル: MyString.cpp プロジェクト: emaste/htcondor
void
MyString::trim( void )
{
	if( Len == 0 ) {
		return;
	}
	int		begin = 0;
	while ( begin < Len && isspace(Data[begin]) ) { ++begin; }

	int		end = Length() - 1;
	while ( end >= 0 && isspace(Data[end]) ) { --end; }

	if ( begin != 0 || end != Length() - 1 ) {
		*this = Substr(begin, end);
	}
}
コード例 #8
0
ファイル: ai.cpp プロジェクト: joaocc/ta3d-git
	void AI_PLAYER::setAI(const String &AI)
	{
		this->AI = AI;

		if (AI == "[C] EASY")
			setType( AI_TYPE_EASY );
		else if (AI == "[C] MEDIUM")
			setType( AI_TYPE_MEDIUM );
		else if (AI == "[C] HARD")
			setType( AI_TYPE_HARD );
		else if (AI == "[C] BLOODY")
			setType( AI_TYPE_BLOODY );
		else
			setType( AI_TYPE_LUA );

		if (ai_script && AI.size() > 6)
		{
			String filename;
			filename << "scripts/ai/" << Substr(AI, 6, AI.size() - 6) << ".lua";
			ai_script->load(filename);
		}
	}
コード例 #9
0
ファイル: TESTCALL.C プロジェクト: hervethouzard/divers_c
 printf(":%s:\n",ptr);
 free(ptr);
 
 ptr=Empty("      ","\0");
 printf(":%s:\n",ptr);
 free(ptr);

 ptr=Empty("\t\t\t","\0");
 printf(":%s:\n",ptr);
 free(ptr);       

 ptr=Empty("\tXXXX\t\t","\0");
 printf(":%s:\n",ptr);
 free(ptr);       

 ptr=Substr("LIGNE DE TEXTE","7","2","\0");
 printf("Cas normal :%s:\n",ptr);
 free(ptr);       

 ptr=Substr("LIGNE DE TEXTE","0","4","\0");
 printf("Cas debut=0 :%s:\n",ptr);
 free(ptr);       

 ptr=Substr("LIGNE DE TEXTE","7","0","\0");
 printf("Cas longueur=0 :%s:\n",ptr);
 free(ptr);       


 ptr=Substr("LIGNE DE TEXTE","3","18","\0");
 printf("Cas trop long :%s:\n",ptr);
 free(ptr);       
コード例 #10
0
	bool Config::doInitialize()
	{
		LOG_DEBUG(LOG_PREFIX_MENU_MULTIMENU << "Entering...");

		// Loading the area
		loadAreaFromTDF("config", "gui/config.area");

		if (lp_CONFIG->restorestart)
		{
			lp_CONFIG->restorestart = false;
			lp_CONFIG->quickstart = false;
		}

		*saved_config = *lp_CONFIG;

		if (pArea->get_object("*.fps_limit") )
		{
			fps_limits = pArea->get_object("*.fps_limit")->Text;
			fps_limits.erase( fps_limits.begin());
		}
		else
		{
			fps_limits.push_back("50");
			fps_limits.push_back("60");
			fps_limits.push_back("70");
			fps_limits.push_back("80");
			fps_limits.push_back("90");
			fps_limits.push_back("100");
			fps_limits.push_back("no limit");
		}
		I18N::Translate(fps_limits);

		nb_res = 0;

		SDL_Rect **mode_list = SDL_ListModes(NULL, SDL_FULLSCREEN | SDL_OPENGL);

		if (mode_list == (SDL_Rect**)0)         // No resolution available (normally this shouldn't be possible if we get here)
			nb_res = 0;
		else if (mode_list == (SDL_Rect**)-1)   // Ok, everything is possible so let's use standard sizes
		{
#define ADD_RES(w,h)  \
			res_bpp[nb_res++] = 16;\
			res_width[nb_res++] = w;\
			res_height[nb_res++] = h;\
			res_bpp[nb_res++] = 32;\
			res_width[nb_res++] = w;\
			res_height[nb_res++] = h;

			ADD_RES(640,480)
				ADD_RES(800,480)
				ADD_RES(800,600)
				ADD_RES(1024,768)
				ADD_RES(1024,600)
				ADD_RES(1280,960)
				ADD_RES(1280,1024)
				ADD_RES(1440,900)
				ADD_RES(1680,1050)
				ADD_RES(1600,1200)
				ADD_RES(1920,1200)
				ADD_RES(2560,1600)
		}
		else
		{
			for (unsigned int i = 0; mode_list[i] != NULL; ++i)
			{
				// Reference to the current SDL Rect
				const SDL_Rect& rect = *(mode_list[i]);

				if (rect.w >= 640 && rect.h >= 480)
				{
					# ifndef YUNI_OS_MAC
					if(SDL_VideoModeOK(rect.w, rect.h, 16, SDL_FULLSCREEN | SDL_OPENGL) == 16)
					{
						res_bpp[nb_res]    = 16;
						res_width[nb_res ] = rect.w;
						res_height[nb_res] = rect.h;
						++nb_res;
					}
					# endif
					if (SDL_VideoModeOK(rect.w, rect.h, 32, SDL_FULLSCREEN | SDL_OPENGL) == 32)
					{
						res_bpp[nb_res]    = 32;
						res_width[ nb_res] = rect.w;
						res_height[nb_res] = rect.h;
						++nb_res;
					}
				}
			}
		}

		pArea->set_state("*.showfps", lp_CONFIG->showfps);
		pArea->caption("*.fps_limit", fps_limits[fps_limits.size()-1]);
		for (String::Vector::const_iterator i = fps_limits.begin(); i != fps_limits.end(); ++i)
		{
			if ( (String() << (int)lp_CONFIG->fps_limit) == *i )
				pArea->caption("*.fps_limit", *i);
		}
		pArea->set_value("*.texture_quality", lp_CONFIG->unitTextureQuality);
		pArea->set_value("*.interface_transparency", int(lp_CONFIG->menuTransparency * 255.0f));
		pArea->set_value("*.shadow_map_size", lp_CONFIG->shadowmap_size);
		pArea->set_state("*.grab_inputs", lp_CONFIG->grab_inputs);
		pArea->set_value("*.sound_volume", lp_CONFIG->sound_volume);
		pArea->set_value("*.music_volume", lp_CONFIG->music_volume);
		pArea->set_state("*.far_sight", lp_CONFIG->far_sight);
		pArea->set_value("*.anisotropy", lp_CONFIG->anisotropy);
		pArea->set_value("*.mouse_sensitivity", (int)(lp_CONFIG->mouse_sensivity * 100.0f));
		pArea->set_state("*.disable_perspective", lp_CONFIG->ortho_camera);
		pArea->set_state("*.right_click_interface", lp_CONFIG->right_click_interface);
		pArea->set_state("*.disable_GLSL", lp_CONFIG->disable_GLSL);
		pArea->set_state("*.underwater_bright", lp_CONFIG->underwater_bright);
		pArea->set_state("*.use_texture_compression", lp_CONFIG->use_texture_compression);
		pArea->set_state("*.low_definition_map", lp_CONFIG->low_definition_map);
		pArea->set_state("*.sky", lp_CONFIG->render_sky);
		pArea->set_state("*.particle", lp_CONFIG->particle);
		pArea->set_state("*.explosion_particles", lp_CONFIG->explosion_particles);
		pArea->set_state("*.waves", lp_CONFIG->waves);
		pArea->set_state("*.height_line", lp_CONFIG->height_line);
		pArea->set_state("*.detail_tex", lp_CONFIG->detail_tex);
		pArea->set_state("*.use_texture_cache", lp_CONFIG->use_texture_cache);
		pArea->set_state("*.draw_console_loading", lp_CONFIG->draw_console_loading);
		pArea->set_state("*.fullscreen", lp_CONFIG->fullscreen);
		pArea->set_state("*.developer_mode", lp_CONFIG->developerMode);
		pArea->set_state("*.tool_tips", lp_CONFIG->tooltips);
		I18N::Instance()->retrieveAllLanguages(languageList);
		if (pArea->get_object("*.LANG"))
		{
			Gui::GUIOBJ::Ptr objLang = pArea->get_object("*.LANG");
			objLang->Text.clear();
			I18N::Language *l = I18N::Instance()->language(lp_CONFIG->Lang);
			if (l)
				objLang->Text.push_back(l->caption());
			else
				objLang->Text.push_back(lp_CONFIG->Lang);
			for (unsigned int i = 0; i < languageList.size(); i++)
				objLang->Text.push_back(languageList[i].caption());
		}
		if (pArea->get_object("*.camera_zoom") )
			pArea->caption( "*.camera_zoom", pArea->get_object("*.camera_zoom")->Text[1+lp_CONFIG->camera_zoom]);
		pArea->caption( "*.camera_def_angle", String() << lp_CONFIG->camera_def_angle );
		pArea->caption( "*.camera_def_h", String() << lp_CONFIG->camera_def_h );
		pArea->caption( "*.camera_zoom_speed", String() << lp_CONFIG->camera_zoom_speed );
		if (pArea->get_object("*.screenres") )
		{
			Gui::GUIOBJ::Ptr obj = pArea->get_object("*.screenres");
			obj->Text.clear();
			int current = 0;
			while( current < nb_res &&
				   ( res_width[ current ] != lp_CONFIG->screen_width
					 || res_height[ current ] != lp_CONFIG->screen_height
					 || res_bpp[ current ] != lp_CONFIG->color_depth ) )
				current++;
			if (current >= nb_res ) current = 0;
			obj->Text.push_back( String() << res_width[ current ] << "x" << res_height[ current ] << "x" << res_bpp[ current ] );
			for( int i = 0 ; i < nb_res ; i++ )
				obj->Text.push_back( String() << res_width[ i ] << "x" << res_height[ i ] << "x" << res_bpp[ i ] );
		}
		Gui::GUIOBJ::Ptr tmpO = pArea->get_object("*.shadow_quality");
		if (tmpO)
		{
			const unsigned int indx = 1 + Math::Max(0, Math::Min((int)lp_CONFIG->shadow_quality, 3));
			if (indx < tmpO->Text.size())
				pArea->caption("*.shadow_quality", tmpO->Text[indx]);
		}

		pArea->caption("*.timefactor", String() << (int)lp_CONFIG->timefactor);
		switch( lp_CONFIG->fsaa )
		{
			case 2: pArea->caption("*.fsaa", "x2");    break;
			case 4: pArea->caption("*.fsaa", "x4");    break;
			case 6: pArea->caption("*.fsaa", "x6");    break;
			case 8: pArea->caption("*.fsaa", "x8");    break;
			default: pArea->caption("*.fsaa", I18N::Translate("no fsaa"));
		}
		if (pArea->get_object("*.water_quality"))
		{
			Gui::GUIOBJ::Ptr obj = pArea->get_object("*.water_quality");
			pArea->caption("*.water_quality", obj->Text[1 + lp_CONFIG->water_quality]);
		}

		if (pArea->get_object("*.mod"))
		{
			Gui::GUIOBJ::Ptr obj = pArea->get_object("*.mod");

			if (obj->Text.size() >= 2)
				obj->Text[0] = obj->Text[1];
			else
				obj->Text.resize(1);

			String current_selection = TA3D_CURRENT_MOD.length() > 6 ? Substr(TA3D_CURRENT_MOD, 5, TA3D_CURRENT_MOD.length() - 6 ) : "";
			String::List mod_list = Mods::instance()->getModNameList(Mods::MOD_INSTALLED);
			mod_list.sort();
			mod_list.unique();
			for (String::List::iterator i = mod_list.begin() ; i != mod_list.end() ; ++i)
			{
				obj->Text.push_back( *i );
				if (ToLower( *i ) == ToLower(current_selection))
					obj->Text[0] = *i;
			}
		}

		pArea->caption("*.player_name", lp_CONFIG->player_name);

		if (pArea->get_object("*.skin"))
		{
			Gui::GUIOBJ::Ptr obj = pArea->get_object("*.skin");

			obj->Text.resize(1);
			obj->Text[0] = I18N::Translate( "default.skn");

			String::Vector skin_list;
			VFS::Instance()->getFilelist("gui\\*.skn", skin_list);

			String skin_name;
			const String::Vector::iterator end = skin_list.end();
			for (String::Vector::iterator i = skin_list.begin(); i != end; ++i)
			{
				skin_name = Paths::ExtractFileName(*i, false);
				obj->Text.push_back(skin_name);
				if (String("gui/") << ToLower(skin_name) == ToLower(lp_CONFIG->skin_name))
					obj->Text[0] = skin_name;
			}
		}

		if (pArea->get_object("*.l_files"))
		{
			Gui::GUIOBJ::Ptr obj = pArea->get_object("*.l_files");
			sound_manager->getPlayListFiles(obj->Text);
		}

		if (lp_CONFIG->quickstart)
			I_Msg( TA3D::TA3D_IM_GUI_MSG, "config_confirm.show");

		save = false;
		timer = msec_timer;

		return true;
	}
コード例 #11
0
int
rd_word_add1 (struct JT *jtl,
	      w_char *pyomi,	/* normal order (not reversed) */
	      int hinsi,
	      w_char *pkanji,	/* normal order (not reversed) */
	      w_char *comment)
{
  struct rind1 *tary;
  int key, key0, keye;
  int serial = jtl->maxserial;
  w_char *tmp = (w_char *) 0;
  struct rind2 *ri2;
  int ind;
  int which;
  w_char *csult;

  w_char yomi[LENGTHYOMI];
  w_char kanji[LENGTHYOMI];

#ifdef  CONVERT_with_SiSheng
  unsigned int sisheng_int;
  char pan_tmp[256];
  w_char pan_yomi[LENGTHYOMI];

  sisheng_int = 0;
  biki_sisheng (pyomi, pan_tmp, yomi);
  sscanf (pan_tmp, "%d", &sisheng_int);
  Strcpy (kanji, pkanji);
#else
# ifdef CONVERT_from_TOP
  Strcpy (yomi, pyomi);
  Strcpy (kanji, pkanji);
# else
  Sreverse (yomi, pyomi);
  Sreverse (kanji, pkanji);
# endif /* CONVERT_from_TOP */
#endif /* CONVERT_with_SiSheng */

  if ((jtl->bufsize_kanji <= jtl->maxkanji + (Strlen (kanji) + Strlen (comment) + Strlen (yomi) + 3) * sizeof (w_char) + 1)
      && (ud_realloc_kanji (jtl) == 0))
    {
      return (-1);
    }
  if (jtl->bufsize_ri1[D_YOMI] <= jtl->maxri1[D_YOMI] + 2
     && rd_realloc_ri1 (jtl, D_YOMI) == 0)
    {
      return (-1);
    }
  if (jtl->bufsize_ri1[D_KANJI] <= jtl->maxri1[D_KANJI] + 2
     && rd_realloc_ri1 (jtl, D_KANJI) == 0)
    {
      return (-1);
    }
  if (jtl->bufsize_serial <= jtl->maxserial + 4
     && ud_realloc_serial (jtl) == 0)
    {
      return (-1);
    }

  ri2 = jtl->ri2;

  tary = jtl->ri1[D_YOMI];
  key = rd_binary_same (tary, yomi, jtl->maxri1[D_YOMI], jtl->ri2, jtl->kanji, D_YOMI);
  if (key != -1)
    {                           /*  Entry with same yomi */
      ind = tary[key].pter;
      while (1)
        {
          w_char kanji1[LENGTHKANJI];
          w_char comment1[LENGTHKANJI];
          if (jtl->hinsi[ind] == hinsi)
            {
              Get_kanji (ri2[ind].kanjipter + jtl->kanji, yomi, Strlen (yomi), kanji1, NULL, comment1);
              if (Strcmp (pkanji, kanji1) == 0)
                {
                  /* Same hinsi, same kanji, same yomi */
                  if (Strcmp (comment, comment1) != 0)
                    {
                      /* set_comment */
                      ri2[ind].kanjipter = jtl->maxkanji;
                      kanjiadd (jtl, pkanji, pyomi, comment);
                    }
                  return (ind);
                }
            }
          if (ri2[ind].next[D_YOMI] == RD_ENDPTR)
            break;
          ind = ri2[ind].next[D_YOMI];
        }
    }
  for (which = 0; which < 2; which++)
    {
      csult = (which == 0) ? yomi : kanji;
      tary = jtl->ri1[which];
      key = rd_binary1 (tary, csult, jtl->maxri1[which], jtl->ri2, jtl->kanji, which);
      if (key >= 0)
        {
          tmp = KANJI_str (ri2[tary[key].pter].kanjipter + jtl->kanji, which);
#ifdef  CONVERT_with_SiSheng
          tmp = biki_sisheng (tmp, pan_tmp, pan_yomi);
#endif
        }
      if (key < 0 || Strcmp (csult, tmp))
        {                       /* No entry with same yomi */
          key += 1;
          for (key0 = key - 1; key0 >= 0; key0 = tary[key0].pter1)
            {
              tmp = KANJI_str (ri2[tary[key0].pter].kanjipter + jtl->kanji, which);
#ifdef  CONVERT_with_SiSheng
              tmp = biki_sisheng (tmp, pan_tmp, pan_yomi);
#endif
              if (Substr (tmp, csult))
                {
                  break;
                }
            }
#ifdef CONVERT_by_STROKE
          if (jtl->bind != NULL)
            b_index_add (jtl, pyomi, serial);
#endif
          rd_make_space (tary, key, jtl, jtl->maxri1[which], which);
          for (keye = key + 1; keye < jtl->maxri1[which]; keye++)
            {
              tmp = KANJI_str (ri2[tary[keye].pter].kanjipter + jtl->kanji, which);
#ifdef  CONVERT_with_SiSheng
              tmp = biki_sisheng (tmp, pan_tmp, pan_yomi);
#endif
              if (!Substr (csult, tmp))
                break;
              if (tary[keye].pter1 == key0)
                tary[keye].pter1 = key;
            }
          tary[key].pter1 = key0;
          ri2[serial].next[which] = RD_ENDPTR;
        }
      else
        {
          ri2[serial].next[which] = tary[key].pter;
        }
      tary[key].pter = serial;
    }
  jtl->maxserial++;
  jtl->maxri2++;
  jtl->gosuu++;
  ri2[serial].kanjipter = jtl->maxkanji;
  jtl->hinsi[serial] = hinsi;
  jtl->hindo[serial] = 0;       /* Hindo is set later on upper module */
#ifdef  CONVERT_with_SiSheng
  jtl->sisheng[serial] = sisheng_int;
#endif
  kanjiadd (jtl, pkanji, pyomi, comment);
  return (serial);
}