INIFileHandle.cpp
上传用户:gelin96
上传日期:2017-01-08
资源大小:20993k
文件大小:49k
源码类别:

MTK

开发平台:

C++ Builder

  1. /*****************************************************************************
  2. *  Copyright Statement:
  3. *  --------------------
  4. *  This software is protected by Copyright and the information contained
  5. *  herein is confidential. The software may not be copied and the information
  6. *  contained herein may not be used or disclosed except with the written
  7. *  permission of MediaTek Inc. (C) 2005
  8. *
  9. *  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
  10. *  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
  11. *  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
  12. *  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
  13. *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
  14. *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
  15. *  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
  16. *  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
  17. *  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
  18. *  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
  19. *  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
  20. *  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
  21. *
  22. *  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
  23. *  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
  24. *  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
  25. *  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
  26. *  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
  27. *
  28. *  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
  29. *  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
  30. *  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
  31. *  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
  32. *  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
  33. *
  34. *****************************************************************************/
  35. /*****************************************************************************
  36.  *
  37.  * Filename:
  38.  * ---------
  39.  *   INIFileHandle.cpp
  40.  *
  41.  * Project:
  42.  * --------
  43.  *   Maui META APP
  44.  *
  45.  * Description:
  46.  * ------------
  47.  *   INI file handle source
  48.  *
  49.  * Author:
  50.  * -------
  51.  *  Andy Ueng (mtk00490)
  52.  *
  53.  *============================================================================
  54.  *             HISTORY
  55.  * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  56.  *------------------------------------------------------------------------------
  57.  * $Revision$
  58.  * $Modtime$
  59.  * $Log$
  60.  * 
  61.  *------------------------------------------------------------------------------
  62.  * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
  63.  *============================================================================
  64.  ****************************************************************************/
  65. //---------------------------------------------------------------------------
  66. //---------------------------------------------------------------------------
  67. #include <IniFiles.hpp>
  68. #pragma hdrstop
  69. #include "INIFileHandle.h"
  70. //---------------------------------------------------------------------------
  71. #pragma package(smart_init)
  72. ////////////////////////////// file handling function ////////////////////////////////////
  73. ////////////////////////////// MMI data download table  ////////////////////////////////////
  74. AnsiString read_download_type(
  75.                                  AnsiString asSetupFile,
  76.                                  AnsiString asExeName
  77.                                )
  78.  {
  79.     AnsiString asPath;
  80.     if ( getPathFromStr(asExeName, asPath) &&
  81.          withPath( asPath) &&
  82.          !withPath( asSetupFile)
  83.        )
  84.     {
  85.        asSetupFile = asPath + asSetupFile;
  86.     }
  87.     TIniFile *ini;
  88.     AnsiString  as_temp_download_type;
  89.     try
  90.     {
  91.        ini = new TIniFile( asSetupFile );
  92.        if(ini != NULL) // added by Andy Ueng
  93.        {
  94.         as_temp_download_type  = ini->ReadString("MMI data download table","download_type", "fullscreen");
  95.         delete ini;
  96.         return as_temp_download_type;
  97.        }
  98.      // end of added
  99.      return("fullscreen");
  100.     }
  101.     catch (...)
  102.     {
  103.        ShowMessage( " META MMI data download : read setup file : " + asSetupFile + " error ");
  104.     }
  105.     return("fullscreen");
  106. }
  107. /////////////////////////  Full screen  /////////////////////////////////////////////////////////////
  108. AnsiString read_DEFAULT_FULLSCREEN_PATH(
  109.                                  AnsiString asSetupFile,
  110.                                  AnsiString asExeName
  111.                                )
  112.  {
  113.     AnsiString asPath;
  114.     if ( getPathFromStr(asExeName, asPath) &&
  115.          withPath( asPath) &&
  116.          !withPath( asSetupFile)
  117.        )
  118.     {
  119.        asSetupFile = asPath + asSetupFile;
  120.     }
  121.     TIniFile *ini;
  122.     AnsiString  as_temp_DEFAULT_FULLSCREEN_PATH;
  123.     try
  124.     {
  125.        ini = new TIniFile( asSetupFile );
  126.        if(ini != NULL)
  127.        {
  128.         as_temp_DEFAULT_FULLSCREEN_PATH  = ini->ReadString("Default fullscreen file table","DEFAULT_FULLSCREEN_PATH", "c:\def_image\fullscreen\");
  129.         delete ini;
  130.         return as_temp_DEFAULT_FULLSCREEN_PATH;
  131.        }
  132.      return("c:\def_image\fullscreen\");
  133.     }
  134.     catch (...)
  135.     {
  136.        ShowMessage( " META MMI data download : read setup file : " + asSetupFile + " error ");
  137.     }
  138.     return("c:\def_image\fullscreen\");
  139. }
  140. ////////////////////////////////////////////////////////////////////////////////////////////////
  141. AnsiString read_MAX_FULLSCREEN_FILE_COUNT(
  142.                                  AnsiString asSetupFile,
  143.                                  AnsiString asExeName
  144.                                )
  145.  {
  146.     AnsiString asPath;
  147.     if ( getPathFromStr(asExeName, asPath) &&
  148.          withPath( asPath) &&
  149.          !withPath( asSetupFile)
  150.        )
  151.     {
  152.        asSetupFile = asPath + asSetupFile;
  153.     }
  154.     TIniFile *ini;
  155.     AnsiString as_temp_MAX_FULLSCREEN_FILE_COUNT;
  156.     try
  157.     {
  158.        ini = new TIniFile( asSetupFile );
  159.        if(ini != NULL)
  160.        {
  161.         as_temp_MAX_FULLSCREEN_FILE_COUNT  = ini->ReadString("Default fullscreen file table","MAX_FULLSCREEN_FILE_COUNT", "5");
  162.         delete ini;
  163.         return as_temp_MAX_FULLSCREEN_FILE_COUNT;
  164.        }
  165.      return("5");
  166.     }
  167.     catch (...)
  168.     {
  169.        ShowMessage( " META MMI data download : read setup file : " + asSetupFile + " error ");
  170.     }
  171.     return("5");
  172. }
  173. ///////////////////////////////////////////////////////////////////////////////////////////////////
  174. AnsiString read_local_default_fullscreen_file_name(
  175.                                  AnsiString asSetupFile,
  176.                                  AnsiString asExeName,
  177.                                  AnsiString default_fullscreen_file_index
  178.                                )
  179.  {
  180.     AnsiString asPath;
  181.     if ( getPathFromStr(asExeName, asPath) &&
  182.          withPath( asPath) &&
  183.          !withPath( asSetupFile)
  184.        )
  185.     {
  186.        asSetupFile = asPath + asSetupFile;
  187.     }
  188.     TIniFile *ini;
  189.     AnsiString default_fullscreen_file_name;
  190.     try
  191.     {
  192.        ini = new TIniFile( asSetupFile );
  193.        if(ini != NULL)
  194.        {
  195.         default_fullscreen_file_name = ini->ReadString("Default fullscreen file table","default_fullscreen_file" + default_fullscreen_file_index, "" );
  196.         delete ini;
  197.         return (default_fullscreen_file_name); // write successful
  198.        }
  199.        else
  200.        {
  201.         return (""); // write fail
  202.        }
  203.     }
  204.     catch (...)
  205.     {
  206.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  207.     }
  208.     return ("");
  209. }
  210. ///////////////////////////////////////////////////////////////////////////////////////////////////
  211. bool write_local_default_fullscreen_file_name(
  212.                                  AnsiString asSetupFile,
  213.                                  AnsiString asExeName,
  214.                                  AnsiString default_fullscreen_file_index,
  215.                                  AnsiString default_fullscreen_file_name
  216.                                )
  217.  {
  218.     AnsiString asPath;
  219.     if ( getPathFromStr(asExeName, asPath) &&
  220.          withPath( asPath) &&
  221.          !withPath( asSetupFile)
  222.        )
  223.     {
  224.        asSetupFile = asPath + asSetupFile;
  225.     }
  226.     TIniFile *ini;
  227.     try
  228.     {
  229.        ini = new TIniFile( asSetupFile );
  230.        if(ini != NULL)
  231.        {
  232.         ini->WriteString("Default fullscreen file table","default_fullscreen_file" + default_fullscreen_file_index, default_fullscreen_file_name );
  233.         delete ini;
  234.         return (true); // write successful
  235.        }
  236.        else
  237.        {
  238.         return (false); // write fail
  239.        }
  240.     }
  241.     catch (...)
  242.     {
  243.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  244.     }
  245.     return true;
  246. }
  247. ///////////////////////////////////////////////////////////////////////////////////////////////////
  248. AnsiString read_local_default_fullscreen_file_count(
  249.                                  AnsiString asSetupFile,
  250.                                  AnsiString asExeName
  251.                                )
  252.  {
  253.     AnsiString asPath;
  254.     if ( getPathFromStr(asExeName, asPath) &&
  255.          withPath( asPath) &&
  256.          !withPath( asSetupFile)
  257.        )
  258.     {
  259.        asSetupFile = asPath + asSetupFile;
  260.     }
  261.     TIniFile *ini;
  262.     AnsiString temp_default_fullscreen_file_count;
  263.     try
  264.     {
  265.        ini = new TIniFile( asSetupFile );
  266.        if(ini != NULL)
  267.        {
  268.         temp_default_fullscreen_file_count = ini->ReadString("Default fullscreen file table","default_fullscreen_file_count", "0" );
  269.         delete ini;
  270.         return (temp_default_fullscreen_file_count); // write successful
  271.        }
  272.        else
  273.        {
  274.         return ("0"); // write fail
  275.        }
  276.     }
  277.     catch (...)
  278.     {
  279.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  280.     }
  281.     return ("0");
  282. }
  283.  ///////////////////////////////////////////////////////////////////////////////////////////////////
  284. bool write_local_default_fullscreen_file_count(
  285.                                  AnsiString asSetupFile,
  286.                                  AnsiString asExeName,
  287.                                  AnsiString default_fullscreen_file_count
  288.                                )
  289.  {
  290.     AnsiString asPath;
  291.     if ( getPathFromStr(asExeName, asPath) &&
  292.          withPath( asPath) &&
  293.          !withPath( asSetupFile)
  294.        )
  295.     {
  296.        asSetupFile = asPath + asSetupFile;
  297.     }
  298.     TIniFile *ini;
  299.     try
  300.     {
  301.        ini = new TIniFile( asSetupFile );
  302.        if(ini != NULL)
  303.        {
  304.         ini->WriteString("Default fullscreen file table","default_fullscreen_file_count", default_fullscreen_file_count );
  305.         delete ini;
  306.         return (true); // write successful
  307.        }
  308.        else
  309.        {
  310.         return (false); // write fail
  311.        }
  312.     }
  313.     catch (...)
  314.     {
  315.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  316.     }
  317.     return (true);
  318. }
  319.  ///////////////////////////////////////////////////////////////////////////////////////////////////
  320. bool erase_local_default_fullscreen_file_section(
  321.                                  AnsiString asSetupFile,
  322.                                  AnsiString asExeName
  323.                                )
  324.  {
  325.     AnsiString asPath;
  326.     if ( getPathFromStr(asExeName, asPath) &&
  327.          withPath( asPath) &&
  328.          !withPath( asSetupFile)
  329.        )
  330.     {
  331.        asSetupFile = asPath + asSetupFile;
  332.     }
  333.     TIniFile *ini;
  334.     try
  335.     {
  336.        ini = new TIniFile( asSetupFile );
  337.        if(ini != NULL)
  338.        {
  339.         ini->EraseSection("Default fullscreen file table");
  340.         delete ini;
  341.         return (true); // write successful
  342.        }
  343.        else
  344.        {
  345.         return (false); // write fail
  346.        }
  347.      }
  348.     catch (...)
  349.     {
  350.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  351.     }
  352.     return (true);
  353. }
  354. ///////////////////////////////////////////////////////////////////////////////////////////////////
  355. bool delete_local_default_fullscreen_file_key(
  356.                                  AnsiString asSetupFile,
  357.                                  AnsiString asExeName,
  358.                                  AnsiString default_fullscreen_file_index
  359.                                )
  360.  {
  361.     AnsiString asPath;
  362.     if ( getPathFromStr(asExeName, asPath) &&
  363.          withPath( asPath) &&
  364.          !withPath( asSetupFile)
  365.        )
  366.     {
  367.        asSetupFile = asPath + asSetupFile;
  368.     }
  369.     TIniFile *ini;
  370.     try
  371.     {
  372.        ini = new TIniFile( asSetupFile );
  373.        if(ini != NULL)
  374.        {
  375.         ini->DeleteKey("Default fullscreen file table", "default_fullscreen_file"+default_fullscreen_file_index);
  376.         delete ini;
  377.         return (true); // write successful
  378.        }
  379.        else
  380.        {
  381.         return (false); // write fail
  382.        }
  383.     }
  384.     catch (...)
  385.     {
  386.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  387.     }
  388.     return (true);
  389. }
  390. ///////////////////////////////////////////////////////////////////////////////////////////////////
  391. ///////////////////////////////////////////////////////////////////////////////////////////////////
  392. /////////////////////////  ASSOCIATE  /////////////////////////////////////////////////////////////
  393. AnsiString read_DEFAULT_ASSOCIATE_PATH(
  394.                                  AnsiString asSetupFile,
  395.                                  AnsiString asExeName
  396.                                )
  397.  {
  398.     AnsiString asPath;
  399.     if ( getPathFromStr(asExeName, asPath) &&
  400.          withPath( asPath) &&
  401.          !withPath( asSetupFile)
  402.        )
  403.     {
  404.        asSetupFile = asPath + asSetupFile;
  405.     }
  406.     TIniFile *ini;
  407.     AnsiString  as_temp_DEFAULT_ASSOCIATE_PATH;
  408.     try
  409.     {
  410.        ini = new TIniFile( asSetupFile );
  411.        if(ini != NULL)
  412.        {
  413.         as_temp_DEFAULT_ASSOCIATE_PATH  = ini->ReadString("Default assoicate file table","DEFAULT_ASSOCIATE_PATH", "c:\def_image\assoicate\");
  414.         delete ini;
  415.         return as_temp_DEFAULT_ASSOCIATE_PATH;
  416.        }
  417.        return("c:\def_image\assoicate\");
  418.     }
  419.     catch (...)
  420.     {
  421.        ShowMessage( " META MMI data download : read setup file : " + asSetupFile + " error ");
  422.     }
  423.     return("c:\def_image\assoicate\");
  424. }
  425. ////////////////////////////////////////////////////////////////////////////////////////////////
  426. AnsiString read_MAX_ASSOCIATE_FILE_COUNT(
  427.                                  AnsiString asSetupFile,
  428.                                  AnsiString asExeName
  429.                                )
  430.  {
  431.     AnsiString asPath;
  432.     if ( getPathFromStr(asExeName, asPath) &&
  433.          withPath( asPath) &&
  434.          !withPath( asSetupFile)
  435.        )
  436.     {
  437.        asSetupFile = asPath + asSetupFile;
  438.     }
  439.     TIniFile *ini;
  440.     AnsiString as_temp_MAX_ASSOCIATE_FILE_COUNT;
  441.     try
  442.     {
  443.        ini = new TIniFile( asSetupFile );
  444.        if(ini != NULL)
  445.        {
  446.         as_temp_MAX_ASSOCIATE_FILE_COUNT  = ini->ReadString("Default assoicate file table","MAX_ASSOCIATE_FILE_COUNT", "10");
  447.         delete ini;
  448.         return as_temp_MAX_ASSOCIATE_FILE_COUNT;
  449.        }
  450.      
  451.      return("10");
  452.     }
  453.     catch (...)
  454.     {
  455.        ShowMessage( " META MMI data download : read setup file : " + asSetupFile + " error ");
  456.     }
  457.     return("10");
  458. }
  459. ///////////////////////////////////////////////////////////////////////////////////////////////////
  460. AnsiString read_local_default_associate_file_name(
  461.                                  AnsiString asSetupFile,
  462.                                  AnsiString asExeName,
  463.                                  AnsiString default_assoicate_file_index
  464.                                )
  465.  {
  466.     AnsiString asPath;
  467.     if ( getPathFromStr(asExeName, asPath) &&
  468.          withPath( asPath) &&
  469.          !withPath( asSetupFile)
  470.        )
  471.     {
  472.        asSetupFile = asPath + asSetupFile;
  473.     }
  474.     TIniFile *ini;
  475.     AnsiString default_assoicate_file_name;
  476.     try
  477.     {
  478.        ini = new TIniFile( asSetupFile );
  479.        if(ini != NULL)
  480.        {
  481.         default_assoicate_file_name = ini->ReadString("Default assoicate file table","default_assoicate_file" + default_assoicate_file_index, "" );
  482.         delete ini;
  483.         return (default_assoicate_file_name); // write successful
  484.        }
  485.        else
  486.        {
  487.         return (""); // write fail
  488.        }
  489.     }
  490.     catch (...)
  491.     {
  492.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  493.     }
  494.     return ("");
  495. }
  496. ///////////////////////////////////////////////////////////////////////////////////////////////////
  497. bool write_local_default_associate_file_name(
  498.                                  AnsiString asSetupFile,
  499.                                  AnsiString asExeName,
  500.                                  AnsiString default_assoicate_file_index,
  501.                                  AnsiString default_assoicate_file_name
  502.                                )
  503.  {
  504.     AnsiString asPath;
  505.     if ( getPathFromStr(asExeName, asPath) &&
  506.          withPath( asPath) &&
  507.          !withPath( asSetupFile)
  508.        )
  509.     {
  510.        asSetupFile = asPath + asSetupFile;
  511.     }
  512.     TIniFile *ini;
  513.     try
  514.     {
  515.        ini = new TIniFile( asSetupFile );
  516.        if(ini != NULL)
  517.        {
  518.         ini->WriteString("Default assoicate file table","default_assoicate_file" + default_assoicate_file_index, default_assoicate_file_name );
  519.         delete ini;
  520.         return (true); // write successful
  521.        }
  522.        else
  523.        {
  524.         return (false); // write fail
  525.        }
  526.     }
  527.     catch (...)
  528.     {
  529.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  530.     }
  531.     return (true);
  532. }
  533. ///////////////////////////////////////////////////////////////////////////////////////////////////
  534. AnsiString read_local_default_associate_file_count(
  535.                                  AnsiString asSetupFile,
  536.                                  AnsiString asExeName
  537.                                )
  538.  {
  539.     AnsiString asPath;
  540.     if ( getPathFromStr(asExeName, asPath) &&
  541.          withPath( asPath) &&
  542.          !withPath( asSetupFile)
  543.        )
  544.     {
  545.        asSetupFile = asPath + asSetupFile;
  546.     }
  547.     TIniFile *ini;
  548.     AnsiString temp_default_assoicate_file_count;
  549.     try
  550.     {
  551.        ini = new TIniFile( asSetupFile );
  552.        if(ini != NULL)
  553.        {
  554.         temp_default_assoicate_file_count = ini->ReadString("Default assoicate file table","default_assoicate_file_count", "0" );
  555.         delete ini;
  556.         return (temp_default_assoicate_file_count); // write successful
  557.        }
  558.        else
  559.        {
  560.         return ("0"); // write fail
  561.        }
  562.     }
  563.     catch (...)
  564.     {
  565.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  566.     }
  567.     return ("0");
  568. }
  569.  ///////////////////////////////////////////////////////////////////////////////////////////////////
  570. bool write_local_default_associate_file_count(
  571.                                  AnsiString asSetupFile,
  572.                                  AnsiString asExeName,
  573.                                  AnsiString default_assoicate_file_count
  574.                                )
  575.  {
  576.     AnsiString asPath;
  577.     if ( getPathFromStr(asExeName, asPath) &&
  578.          withPath( asPath) &&
  579.          !withPath( asSetupFile)
  580.        )
  581.     {
  582.        asSetupFile = asPath + asSetupFile;
  583.     }
  584.     TIniFile *ini;
  585.     try
  586.     {
  587.        ini = new TIniFile( asSetupFile );
  588.        if(ini != NULL)
  589.        {
  590.         ini->WriteString("Default assoicate file table","default_assoicate_file_count", default_assoicate_file_count );
  591.         delete ini;
  592.         return (true); // write successful
  593.        }
  594.        else
  595.        {
  596.         return (false); // write fail
  597.        }
  598.     }
  599.     catch (...)
  600.     {
  601.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  602.     }
  603.     return (true);
  604. }
  605.  ///////////////////////////////////////////////////////////////////////////////////////////////////
  606. bool erase_local_default_assoicate_file_section(
  607.                                  AnsiString asSetupFile,
  608.                                  AnsiString asExeName
  609.                                )
  610.  {
  611.     AnsiString asPath;
  612.     if ( getPathFromStr(asExeName, asPath) &&
  613.          withPath( asPath) &&
  614.          !withPath( asSetupFile)
  615.        )
  616.     {
  617.        asSetupFile = asPath + asSetupFile;
  618.     }
  619.     TIniFile *ini;
  620.     try
  621.     {
  622.        ini = new TIniFile( asSetupFile );
  623.        if(ini != NULL)
  624.        {
  625.         ini->EraseSection("Default assoicate file table");
  626.         delete ini;
  627.         return (true); // write successful
  628.        }
  629.        else
  630.        {
  631.         return (false); // write fail
  632.        }
  633.     }
  634.     catch (...)
  635.     {
  636.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  637.     }
  638.     return (true);
  639. }
  640. ///////////////////////////////////////////////////////////////////////////////////////////////////
  641. bool delete_local_default_associate_file_key(
  642.                                  AnsiString asSetupFile,
  643.                                  AnsiString asExeName,
  644.                                  AnsiString default_assoicate_file_index
  645.                                )
  646.  {
  647.     AnsiString asPath;
  648.     if ( getPathFromStr(asExeName, asPath) &&
  649.          withPath( asPath) &&
  650.          !withPath( asSetupFile)
  651.        )
  652.     {
  653.        asSetupFile = asPath + asSetupFile;
  654.     }
  655.     TIniFile *ini;
  656.     try
  657.     {
  658.        ini = new TIniFile( asSetupFile );
  659.        if(ini != NULL)
  660.        {
  661.         ini->DeleteKey("Default assoicate file table", "default_assoicate_file"+default_assoicate_file_index);
  662.         delete ini;
  663.         return (true); // write successful
  664.        }
  665.        else
  666.        {
  667.         return (false); // write fail
  668.        }
  669.     }
  670.     catch (...)
  671.     {
  672.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  673.     }
  674.     return (true);
  675. }
  676. ///////////////////////////////////////////////////////////////////////////////////////////////////
  677. /////////////////////////  EMS  /////////////////////////////////////////////////////////////
  678. AnsiString read_DEFAULT_EMS_PATH(
  679.                                  AnsiString asSetupFile,
  680.                                  AnsiString asExeName
  681.                                )
  682.  {
  683.     AnsiString asPath;
  684.     if ( getPathFromStr(asExeName, asPath) &&
  685.          withPath( asPath) &&
  686.          !withPath( asSetupFile)
  687.        )
  688.     {
  689.        asSetupFile = asPath + asSetupFile;
  690.     }
  691.     TIniFile *ini;
  692.     AnsiString  as_temp_DEFAULT_EMS_PATH;
  693.     try
  694.     {
  695.        ini = new TIniFile( asSetupFile );
  696.        if(ini != NULL)
  697.        {
  698.         as_temp_DEFAULT_EMS_PATH  = ini->ReadString("Default EMS file table","DEFAULT_EMS_PATH", "c:\def_image\ems\");
  699.         delete ini;
  700.         return as_temp_DEFAULT_EMS_PATH;
  701.        }
  702.      return("c:\def_image\ems\");
  703.     }
  704.     catch (...)
  705.     {
  706.        ShowMessage( " META MMI data download : read setup file : " + asSetupFile + " error ");
  707.     }
  708.     return("c:\def_image\ems\");
  709. }
  710. ////////////////////////////////////////////////////////////////////////////////////////////////
  711. AnsiString read_MAX_EMS_FILE_COUNT(
  712.                                  AnsiString asSetupFile,
  713.                                  AnsiString asExeName
  714.                                )
  715.  {
  716.     AnsiString asPath;
  717.     if ( getPathFromStr(asExeName, asPath) &&
  718.          withPath( asPath) &&
  719.          !withPath( asSetupFile)
  720.        )
  721.     {
  722.        asSetupFile = asPath + asSetupFile;
  723.     }
  724.     TIniFile *ini;
  725.     AnsiString as_temp_MAX_EMS_FILE_COUNT;
  726.     try
  727.     {
  728.        ini = new TIniFile( asSetupFile );
  729.        if(ini != NULL)
  730.        {
  731.         as_temp_MAX_EMS_FILE_COUNT  = ini->ReadString("Default EMS file table","MAX_EMS_FILE_COUNT", "10");
  732.         delete ini;
  733.         return as_temp_MAX_EMS_FILE_COUNT;
  734.        }
  735.      return("10");
  736.     }
  737.     catch (...)
  738.     {
  739.        ShowMessage( " META MMI data download : read setup file : " + asSetupFile + " error ");
  740.     }
  741.     return("10");
  742. }
  743. ///////////////////////////////////////////////////////////////////////////////////////////////////
  744. AnsiString read_local_default_EMS_file_name(
  745.                                  AnsiString asSetupFile,
  746.                                  AnsiString asExeName,
  747.                                  AnsiString default_EMS_file_index
  748.                                )
  749.  {
  750.     AnsiString asPath;
  751.     if ( getPathFromStr(asExeName, asPath) &&
  752.          withPath( asPath) &&
  753.          !withPath( asSetupFile)
  754.        )
  755.     {
  756.        asSetupFile = asPath + asSetupFile;
  757.     }
  758.     TIniFile *ini;
  759.     AnsiString default_EMS_file_name;
  760.     try
  761.     {
  762.        ini = new TIniFile( asSetupFile );
  763.        if(ini != NULL)
  764.        {
  765.         default_EMS_file_name = ini->ReadString("Default EMS file table","default_EMS_file" + default_EMS_file_index, "" );
  766.         delete ini;
  767.         return (default_EMS_file_name); // write successful
  768.        }
  769.        else
  770.        {
  771.         return (""); // write fail
  772.        }
  773.     }
  774.     catch (...)
  775.     {
  776.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  777.     }
  778.     return ("");
  779. }
  780. ///////////////////////////////////////////////////////////////////////////////////////////////////
  781. bool write_local_default_EMS_file_name(
  782.                                  AnsiString asSetupFile,
  783.                                  AnsiString asExeName,
  784.                                  AnsiString default_EMS_file_index,
  785.                                  AnsiString default_EMS_file_name
  786.                                )
  787.  {
  788.     AnsiString asPath;
  789.     if ( getPathFromStr(asExeName, asPath) &&
  790.          withPath( asPath) &&
  791.          !withPath( asSetupFile)
  792.        )
  793.     {
  794.        asSetupFile = asPath + asSetupFile;
  795.     }
  796.     TIniFile *ini;
  797.     try
  798.     {
  799.        ini = new TIniFile( asSetupFile );
  800.        if(ini != NULL)
  801.        {
  802.         ini->WriteString("Default EMS file table","default_EMS_file" + default_EMS_file_index, default_EMS_file_name );
  803.         delete ini;
  804.         return (true); // write successful
  805.        }
  806.        else
  807.        {
  808.         return (false); // write fail
  809.        }
  810.     }
  811.     catch (...)
  812.     {
  813.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  814.     }
  815.     return true;
  816. }
  817. ///////////////////////////////////////////////////////////////////////////////////////////////////
  818. AnsiString read_local_default_EMS_file_count(
  819.                                  AnsiString asSetupFile,
  820.                                  AnsiString asExeName
  821.                                )
  822.  {
  823.     AnsiString asPath;
  824.     if ( getPathFromStr(asExeName, asPath) &&
  825.          withPath( asPath) &&
  826.          !withPath( asSetupFile)
  827.        )
  828.     {
  829.        asSetupFile = asPath + asSetupFile;
  830.     }
  831.     TIniFile *ini;
  832.     AnsiString temp_default_EMS_file_count;
  833.     try
  834.     {
  835.        ini = new TIniFile( asSetupFile );
  836.        if(ini != NULL)
  837.        {
  838.         temp_default_EMS_file_count = ini->ReadString("Default EMS file table","default_EMS_file_count", "0" );
  839.         delete ini;
  840.         return (temp_default_EMS_file_count); // write successful
  841.        }
  842.        else
  843.        {
  844.         return ("0"); // write fail
  845.        }
  846.     }
  847.     catch (...)
  848.     {
  849.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  850.     }
  851.     return ("0");
  852. }
  853.  ///////////////////////////////////////////////////////////////////////////////////////////////////
  854. bool write_local_default_EMS_file_count(
  855.                                  AnsiString asSetupFile,
  856.                                  AnsiString asExeName,
  857.                                  AnsiString default_EMS_file_count
  858.                                )
  859.  {
  860.     AnsiString asPath;
  861.     if ( getPathFromStr(asExeName, asPath) &&
  862.          withPath( asPath) &&
  863.          !withPath( asSetupFile)
  864.        )
  865.     {
  866.        asSetupFile = asPath + asSetupFile;
  867.     }
  868.     TIniFile *ini;
  869.     try
  870.     {
  871.        ini = new TIniFile( asSetupFile );
  872.        if(ini != NULL)
  873.        {
  874.         ini->WriteString("Default EMS file table","default_EMS_file_count", default_EMS_file_count );
  875.         delete ini;
  876.         return (true); // write successful
  877.        }
  878.        else
  879.        {
  880.         return (false); // write fail
  881.        }
  882.     }
  883.     catch (...)
  884.     {
  885.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  886.     }
  887.     return (true);
  888. }
  889.  ///////////////////////////////////////////////////////////////////////////////////////////////////
  890. bool erase_local_default_EMS_file_section(
  891.                                  AnsiString asSetupFile,
  892.                                  AnsiString asExeName
  893.                                )
  894.  {
  895.     AnsiString asPath;
  896.     if ( getPathFromStr(asExeName, asPath) &&
  897.          withPath( asPath) &&
  898.          !withPath( asSetupFile)
  899.        )
  900.     {
  901.        asSetupFile = asPath + asSetupFile;
  902.     }
  903.     TIniFile *ini;
  904.     try
  905.     {
  906.        ini = new TIniFile( asSetupFile );
  907.        if(ini != NULL)
  908.        {
  909.         ini->EraseSection("Default EMS file table");
  910.         delete ini;
  911.         return (true); // write successful
  912.        }
  913.        else
  914.        {
  915.         return (false); // write fail
  916.        }
  917.     }
  918.     catch (...)
  919.     {
  920.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  921.     }
  922.     return (true);
  923. }
  924. ///////////////////////////////////////////////////////////////////////////////////////////////////
  925. bool delete_local_default_EMS_file_key(
  926.                                  AnsiString asSetupFile,
  927.                                  AnsiString asExeName,
  928.                                  AnsiString default_EMS_file_index
  929.                                )
  930.  {
  931.     AnsiString asPath;
  932.     if ( getPathFromStr(asExeName, asPath) &&
  933.          withPath( asPath) &&
  934.          !withPath( asSetupFile)
  935.        )
  936.     {
  937.        asSetupFile = asPath + asSetupFile;
  938.     }
  939.     TIniFile *ini;
  940.     try
  941.     {
  942.        ini = new TIniFile( asSetupFile );
  943.        if(ini != NULL)
  944.        {
  945.         ini->DeleteKey("Default EMS file table", "default_EMS_file"+default_EMS_file_index);
  946.         delete ini;
  947.         return (true); // write successful
  948.        }
  949.        else
  950.        {
  951.         return (false); // write fail
  952.        }
  953.     }
  954.     catch (...)
  955.     {
  956.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  957.     }
  958.     return (true);
  959. }
  960. ///////////////////////////////////////////////////////////////////////////////////////////////////
  961. /////////////////////////  midi  /////////////////////////////////////////////////////////////
  962. AnsiString read_DEFAULT_MIDI_PATH(
  963.                                   AnsiString asSetupFile,
  964.                                   AnsiString asExeName
  965.                                  )
  966.  {
  967.     AnsiString asPath;
  968.     if ( getPathFromStr(asExeName, asPath) &&
  969.          withPath( asPath) &&
  970.          !withPath( asSetupFile)
  971.        )
  972.     {
  973.        asSetupFile = asPath + asSetupFile;
  974.     }
  975.     TIniFile *ini;
  976.     AnsiString  as_temp_DEFAULT_MIDI_PATH;
  977.     try
  978.     {
  979.        ini = new TIniFile( asSetupFile );
  980.        if(ini != NULL)
  981.        {
  982.         as_temp_DEFAULT_MIDI_PATH  = ini->ReadString("Default midi file table","DEFAULT_MIDI_PATH", "c:\def_sound\other\");
  983.         delete ini;
  984.         return as_temp_DEFAULT_MIDI_PATH;
  985.        }
  986.      return("c:\def_sound\other\");
  987.     }
  988.     catch (...)
  989.     {
  990.        ShowMessage( " META MMI data download : read setup file : " + asSetupFile + " error ");
  991.     }
  992.     return("c:\def_sound\other\");
  993. }
  994. ///////////////////////////////////////////////////////////////////////////////////////////////////
  995. ////////////////////////////////////////////////////////////////////////////////////////////////
  996. AnsiString read_MAX_MIDI_FILE_COUNT(
  997.                                     AnsiString asSetupFile,
  998.                                     AnsiString asExeName
  999.                                    )
  1000.  {
  1001.     AnsiString asPath;
  1002.     if ( getPathFromStr(asExeName, asPath) &&
  1003.          withPath( asPath) &&
  1004.          !withPath( asSetupFile)
  1005.        )
  1006.     {
  1007.        asSetupFile = asPath + asSetupFile;
  1008.     }
  1009.     TIniFile *ini;
  1010.     AnsiString as_temp_MAX_MIDI_FILE_COUNT;
  1011.     try
  1012.     {
  1013.        ini = new TIniFile( asSetupFile );
  1014.        if(ini != NULL)
  1015.        {
  1016.           as_temp_MAX_MIDI_FILE_COUNT  = ini->ReadString("Default midi file table","MAX_MIDI_FILE_COUNT", "5");
  1017.           delete ini;
  1018.           return as_temp_MAX_MIDI_FILE_COUNT;
  1019.        }
  1020.        return("5");
  1021.     }
  1022.     catch (...)
  1023.     {
  1024.        ShowMessage( " META MMI data download : read setup file : " + asSetupFile + " error ");
  1025.     }
  1026.     return("5");
  1027. }
  1028.  ///////////////////////////////////////////////////////////////////////////////////////////////////
  1029. AnsiString read_local_default_midi_file_name(
  1030.                                               AnsiString asSetupFile,
  1031.                                               AnsiString asExeName,
  1032.                                               AnsiString default_midi_file_index
  1033.                                             )
  1034.  {
  1035.     AnsiString asPath;
  1036.     if ( getPathFromStr(asExeName, asPath) &&
  1037.          withPath( asPath) &&
  1038.          !withPath( asSetupFile)
  1039.        )
  1040.     {
  1041.        asSetupFile = asPath + asSetupFile;
  1042.     }
  1043.     TIniFile *ini;
  1044.     AnsiString default_midi_file_name;
  1045.     try
  1046.     {
  1047.        ini = new TIniFile( asSetupFile );
  1048.        if(ini != NULL)
  1049.        {
  1050.           default_midi_file_name = ini->ReadString("Default midi file table","default_midi_file" + default_midi_file_index, "" );
  1051.           delete ini;
  1052.           return (default_midi_file_name); // write successful
  1053.        }
  1054.        else
  1055.        {
  1056.           return (""); // write fail
  1057.        }
  1058.     }
  1059.     catch (...)
  1060.     {
  1061.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  1062.     }
  1063.     return ("");
  1064. }
  1065. ///////////////////////////////////////////////////////////////////////////////////////////////////
  1066. bool write_local_default_midi_file_name(
  1067.                                         AnsiString asSetupFile,
  1068.                                         AnsiString asExeName,
  1069.                                         AnsiString default_midi_file_index,
  1070.                                         AnsiString default_midi_file_name
  1071.                                )
  1072.  {
  1073.     AnsiString asPath;
  1074.     if ( getPathFromStr(asExeName, asPath) &&
  1075.          withPath( asPath) &&
  1076.          !withPath( asSetupFile)
  1077.        )
  1078.     {
  1079.        asSetupFile = asPath + asSetupFile;
  1080.     }
  1081.     TIniFile *ini;
  1082.     try
  1083.     {
  1084.        ini = new TIniFile( asSetupFile );
  1085.        if(ini != NULL)
  1086.        {
  1087.           ini->WriteString("Default midi file table","default_midi_file" + default_midi_file_index, default_midi_file_name );
  1088.           delete ini;
  1089.           return (true); // write successful
  1090.        }
  1091.        else
  1092.        {
  1093.           return (false); // write fail
  1094.        }
  1095.     }
  1096.     catch (...)
  1097.     {
  1098.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  1099.     }
  1100.     return true;
  1101. }
  1102. ///////////////////////////////////////////////////////////////////////////////////////////////////
  1103. AnsiString read_local_default_midi_file_count(
  1104.                                                AnsiString asSetupFile,
  1105.                                                AnsiString asExeName
  1106.                                              )
  1107.  {
  1108.     AnsiString asPath;
  1109.     if ( getPathFromStr(asExeName, asPath) &&
  1110.          withPath( asPath) &&
  1111.          !withPath( asSetupFile)
  1112.        )
  1113.     {
  1114.        asSetupFile = asPath + asSetupFile;
  1115.     }
  1116.     TIniFile *ini;
  1117.     AnsiString temp_default_midi_file_count;
  1118.     try
  1119.     {
  1120.        ini = new TIniFile( asSetupFile );
  1121.        if(ini != NULL)
  1122.        {
  1123.           temp_default_midi_file_count = ini->ReadString("Default midi file table","default_midi_file_count", "0" );
  1124.           delete ini;
  1125.           return (temp_default_midi_file_count); // write successful
  1126.        }
  1127.        else
  1128.        {
  1129.           return ("0"); // write fail
  1130.        }
  1131.     }
  1132.     catch (...)
  1133.     {
  1134.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  1135.     }
  1136.     return ("0");
  1137. }
  1138.  ///////////////////////////////////////////////////////////////////////////////////////////////////
  1139. bool write_local_default_midi_file_count(
  1140.                                          AnsiString asSetupFile,
  1141.                                          AnsiString asExeName,
  1142.                                          AnsiString default_midi_file_count
  1143.                                         )
  1144.  {
  1145.     AnsiString asPath;
  1146.     if ( getPathFromStr(asExeName, asPath) &&
  1147.          withPath( asPath) &&
  1148.          !withPath( asSetupFile)
  1149.        )
  1150.     {
  1151.        asSetupFile = asPath + asSetupFile;
  1152.     }
  1153.     TIniFile *ini;
  1154.     try
  1155.     {
  1156.        ini = new TIniFile( asSetupFile );
  1157.        if(ini != NULL)
  1158.        {
  1159.           ini->WriteString("Default midi file table","default_midi_file_count", default_midi_file_count );
  1160.           delete ini;
  1161.           return (true); // write successful
  1162.        }
  1163.        else
  1164.        {
  1165.           return (false); // write fail
  1166.        }
  1167.     }
  1168.     catch (...)
  1169.     {
  1170.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  1171.     }
  1172.     return true;
  1173. }
  1174.  ///////////////////////////////////////////////////////////////////////////////////////////////////
  1175. bool erase_local_default_midi_file_section(
  1176.                                             AnsiString asSetupFile,
  1177.                                             AnsiString asExeName
  1178.                                           )
  1179.  {
  1180.     AnsiString asPath;
  1181.     if ( getPathFromStr(asExeName, asPath) &&
  1182.          withPath( asPath) &&
  1183.          !withPath( asSetupFile)
  1184.        )
  1185.     {
  1186.        asSetupFile = asPath + asSetupFile;
  1187.     }
  1188.     TIniFile *ini;
  1189.     try
  1190.     {
  1191.        ini = new TIniFile( asSetupFile );
  1192.        if(ini != NULL)
  1193.        {
  1194.           ini->EraseSection("Default midi file table");
  1195.           delete ini;
  1196.           return (true); // write successful
  1197.        }
  1198.        else
  1199.        {
  1200.           return (false); // write fail
  1201.        }
  1202.     }
  1203.     catch (...)
  1204.     {
  1205.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  1206.     }
  1207.     return true;
  1208. }
  1209. ///////////////////////////////////////////////////////////////////////////////////////////////////
  1210. bool delete_local_default_midi_file_key(
  1211.                                          AnsiString asSetupFile,
  1212.                                          AnsiString asExeName,
  1213.                                          AnsiString default_midi_file_index
  1214.                                )
  1215.  {
  1216.     AnsiString asPath;
  1217.     if ( getPathFromStr(asExeName, asPath) &&
  1218.          withPath( asPath) &&
  1219.          !withPath( asSetupFile)
  1220.        )
  1221.     {
  1222.        asSetupFile = asPath + asSetupFile;
  1223.     }
  1224.     TIniFile *ini;
  1225.     try
  1226.     {
  1227.        ini = new TIniFile( asSetupFile );
  1228.        if(ini != NULL)
  1229.        {
  1230.         ini->DeleteKey("Default midi file table", "default_midi_file"+default_midi_file_index);
  1231.         delete ini;
  1232.         return (true); // write successful
  1233.        }
  1234.        else
  1235.        {
  1236.         return (false); // write fail
  1237.        }
  1238.     }
  1239.     catch (...)
  1240.     {
  1241.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  1242.     }
  1243.     return true;
  1244. }
  1245. ///////////////////////////////////////////////////////////////////////////////////////////////////
  1246. /////////////////////////  iMelody  /////////////////////////////////////////////////////////////
  1247. AnsiString read_DEFAULT_IMELODY_PATH(
  1248.                                   AnsiString asSetupFile,
  1249.                                   AnsiString asExeName
  1250.                                  )
  1251.  {
  1252.     AnsiString asPath;
  1253.     if ( getPathFromStr(asExeName, asPath) &&
  1254.          withPath( asPath) &&
  1255.          !withPath( asSetupFile)
  1256.        )
  1257.     {
  1258.        asSetupFile = asPath + asSetupFile;
  1259.     }
  1260.     TIniFile *ini;
  1261.     AnsiString  as_temp_DEFAULT_IMELODY_PATH;
  1262.     try
  1263.     {
  1264.        ini = new TIniFile( asSetupFile );
  1265.        if(ini != NULL)
  1266.        {
  1267.             as_temp_DEFAULT_IMELODY_PATH  = ini->ReadString("Default midi file table","DEFAULT_IMELODY_PATH", "c:\def_sound\imelody\");
  1268.             delete ini;
  1269.             return as_temp_DEFAULT_IMELODY_PATH;
  1270.        }
  1271.      return("c:\def_sound\imelody\");
  1272.     }
  1273.     catch (...)
  1274.     {
  1275.        ShowMessage( " META MMI data download : read setup file : " + asSetupFile + " error ");
  1276.     }
  1277.     return("c:\def_sound\imelody\");
  1278. }
  1279. ///////////////////////////////////////////////////////////////////////////////////////////////////
  1280. ////////////////////////////////////////////////////////////////////////////////////////////////
  1281. AnsiString read_MAX_IMELODY_FILE_COUNT(
  1282.                                         AnsiString asSetupFile,
  1283.                                         AnsiString asExeName
  1284.                                       )
  1285.  {
  1286.     AnsiString asPath;
  1287.     if ( getPathFromStr(asExeName, asPath) &&
  1288.          withPath( asPath) &&
  1289.          !withPath( asSetupFile)
  1290.        )
  1291.     {
  1292.        asSetupFile = asPath + asSetupFile;
  1293.     }
  1294.     TIniFile *ini;
  1295.     AnsiString as_temp_MAX_IMELODY_FILE_COUNT;
  1296.     try
  1297.     {
  1298.        ini = new TIniFile( asSetupFile );
  1299.        if(ini != NULL)
  1300.        {
  1301.           as_temp_MAX_IMELODY_FILE_COUNT  = ini->ReadString("Default imelody file table","MAX_IMELODY_FILE_COUNT", "5");
  1302.           delete ini;
  1303.           return as_temp_MAX_IMELODY_FILE_COUNT;
  1304.        }
  1305.        return("5");
  1306.     }
  1307.     catch (...)
  1308.     {
  1309.        ShowMessage( " META MMI data download : read setup file : " + asSetupFile + " error ");
  1310.     }
  1311.     return("5");
  1312. }
  1313.  ///////////////////////////////////////////////////////////////////////////////////////////////////
  1314. AnsiString read_local_default_imelody_file_name(
  1315.                                                  AnsiString asSetupFile,
  1316.                                                  AnsiString asExeName,
  1317.                                                  AnsiString default_imelody_file_index
  1318.                                                )
  1319.  {
  1320.     AnsiString asPath;
  1321.     if ( getPathFromStr(asExeName, asPath) &&
  1322.          withPath( asPath) &&
  1323.          !withPath( asSetupFile)
  1324.        )
  1325.     {
  1326.        asSetupFile = asPath + asSetupFile;
  1327.     }
  1328.     TIniFile *ini;
  1329.     AnsiString default_imelody_file_name;
  1330.     try
  1331.     {
  1332.        ini = new TIniFile( asSetupFile );
  1333.        if(ini != NULL)
  1334.        {
  1335.           default_imelody_file_name = ini->ReadString("Default imelody file table","default_imelody_file" + default_imelody_file_index, "" );
  1336.           delete ini;
  1337.           return (default_imelody_file_name); // write successful
  1338.        }
  1339.        else
  1340.        {
  1341.           return (""); // write fail
  1342.        }
  1343.     }
  1344.     catch (...)
  1345.     {
  1346.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  1347.     }
  1348.     return ("");
  1349. }
  1350. ///////////////////////////////////////////////////////////////////////////////////////////////////
  1351. bool write_local_default_imelody_file_name(
  1352.                                             AnsiString asSetupFile,
  1353.                                             AnsiString asExeName,
  1354.                                             AnsiString default_imelody_file_index,
  1355.                                             AnsiString default_imelody_file_name
  1356.                                           )
  1357.  {
  1358.     AnsiString asPath;
  1359.     if ( getPathFromStr(asExeName, asPath) &&
  1360.          withPath( asPath) &&
  1361.          !withPath( asSetupFile)
  1362.        )
  1363.     {
  1364.        asSetupFile = asPath + asSetupFile;
  1365.     }
  1366.     TIniFile *ini;
  1367.     try
  1368.     {
  1369.        ini = new TIniFile( asSetupFile );
  1370.        if(ini != NULL)
  1371.        {
  1372.           ini->WriteString("Default imelody file table","default_imelody_file" + default_imelody_file_index, default_imelody_file_name );
  1373.           delete ini;
  1374.           return (true); // write successful
  1375.        }
  1376.        else
  1377.        {
  1378.           return (false); // write fail
  1379.        }
  1380.     }
  1381.     catch (...)
  1382.     {
  1383.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  1384.     }
  1385.     return true;
  1386. }
  1387. ///////////////////////////////////////////////////////////////////////////////////////////////////
  1388. AnsiString read_local_default_imelody_file_count(
  1389.                                                   AnsiString asSetupFile,
  1390.                                                   AnsiString asExeName
  1391.                                                 )
  1392.  {
  1393.     AnsiString asPath;
  1394.     if ( getPathFromStr(asExeName, asPath) &&
  1395.          withPath( asPath) &&
  1396.          !withPath( asSetupFile)
  1397.        )
  1398.     {
  1399.        asSetupFile = asPath + asSetupFile;
  1400.     }
  1401.     TIniFile *ini;
  1402.     AnsiString temp_default_imelody_file_count;
  1403.     try
  1404.     {
  1405.        ini = new TIniFile( asSetupFile );
  1406.        if(ini != NULL)
  1407.        {
  1408.           temp_default_imelody_file_count = ini->ReadString("Default imelody file table","default_imelody_file_count", "0" );
  1409.           delete ini;
  1410.           return (temp_default_imelody_file_count); // write successful
  1411.        }
  1412.        else
  1413.        {
  1414.           return ("0"); // write fail
  1415.        }
  1416.     }
  1417.     catch (...)
  1418.     {
  1419.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  1420.     }
  1421.     return ("0");
  1422. }
  1423.  ///////////////////////////////////////////////////////////////////////////////////////////////////
  1424. bool write_local_default_imelody_file_count(
  1425.                                          AnsiString asSetupFile,
  1426.                                          AnsiString asExeName,
  1427.                                          AnsiString default_imelody_file_count
  1428.                                         )
  1429.  {
  1430.     AnsiString asPath;
  1431.     if ( getPathFromStr(asExeName, asPath) &&
  1432.          withPath( asPath) &&
  1433.          !withPath( asSetupFile)
  1434.        )
  1435.     {
  1436.        asSetupFile = asPath + asSetupFile;
  1437.     }
  1438.     TIniFile *ini;
  1439.     try
  1440.     {
  1441.        ini = new TIniFile( asSetupFile );
  1442.        if(ini != NULL)
  1443.        {
  1444.           ini->WriteString("Default imelody file table","default_imelody_file_count", default_imelody_file_count );
  1445.           delete ini;
  1446.           return (true); // write successful
  1447.        }
  1448.        else
  1449.        {
  1450.           return (false); // write fail
  1451.        }
  1452.     }
  1453.     catch (...)
  1454.     {
  1455.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  1456.     }
  1457.     return true;
  1458. }
  1459.  ///////////////////////////////////////////////////////////////////////////////////////////////////
  1460. bool erase_local_default_imelody_file_section(
  1461.                                                AnsiString asSetupFile,
  1462.                                                AnsiString asExeName
  1463.                                              )
  1464.  {
  1465.     AnsiString asPath;
  1466.     if ( getPathFromStr(asExeName, asPath) &&
  1467.          withPath( asPath) &&
  1468.          !withPath( asSetupFile)
  1469.        )
  1470.     {
  1471.        asSetupFile = asPath + asSetupFile;
  1472.     }
  1473.     TIniFile *ini;
  1474.     try
  1475.     {
  1476.        ini = new TIniFile( asSetupFile );
  1477.        if(ini != NULL)
  1478.        {
  1479.           ini->EraseSection("Default imelody file table");
  1480.           delete ini;
  1481.           return (true); // write successful
  1482.        }
  1483.        else
  1484.        {
  1485.           return (false); // write fail
  1486.        }
  1487.     }
  1488.     catch (...)
  1489.     {
  1490.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  1491.     }
  1492.     return true;
  1493. }
  1494. ///////////////////////////////////////////////////////////////////////////////////////////////////
  1495. bool delete_local_default_imelody_file_key(
  1496.                                             AnsiString asSetupFile,
  1497.                                             AnsiString asExeName,
  1498.                                             AnsiString default_imelody_file_index
  1499.                                           )
  1500.  {
  1501.     AnsiString asPath;
  1502.     if ( getPathFromStr(asExeName, asPath) &&
  1503.          withPath( asPath) &&
  1504.          !withPath( asSetupFile)
  1505.        )
  1506.     {
  1507.        asSetupFile = asPath + asSetupFile;
  1508.     }
  1509.     TIniFile *ini;
  1510.     try
  1511.     {
  1512.        ini = new TIniFile( asSetupFile );
  1513.        if(ini != NULL)
  1514.        {
  1515.         ini->DeleteKey("Default imelody file table", "default_imelody_file"+default_imelody_file_index);
  1516.         delete ini;
  1517.         return (true); // write successful
  1518.        }
  1519.        else
  1520.        {
  1521.         return (false); // write fail
  1522.        }
  1523.     }
  1524.     catch (...)
  1525.     {
  1526.        ShowMessage( " META MMI data download : write setup file : " + asSetupFile + " error ");
  1527.     }
  1528.     return true;
  1529. }
  1530. ///////////////////////////////////////////////////////////////////////////////////////////////////