728x90
반응형
ini 파일 읽고 쓰는 코드입니다.
핵심
ini 파일에서 값 읽기
GetPrivateProfileString("Parameter", "ParamCnt", "(NONE)", paramCnt, 32, TEMP_TB.Text);
ini 파일에 값 쓰기
WritePrivateProfileString(nodeName, "ParamCnt", paramCnt.ToString(), outputFilePath);
코드
namespace CYW_MergeFastechParameter
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//>> ini를 사용하기 위해 win32 api함수를 이용하고자 dll을 선언해준다.
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
private void button13_Click(object sender, EventArgs e)
{
//>> using Microsoft.WindowsAPICodePack.Dialogs; 을 해야 사용할 수 있는 CommonOpenFileDialog… 시각적으로 좋다.
CommonOpenFileDialog cofd = new CommonOpenFileDialog();
cofd.IsFolderPicker = true;
if (cofd.ShowDialog() != CommonFileDialogResult.Ok)
return;
String outputFilePath = cofd.FileName + "\\OneClick.fpt";
String nodeName;
StringBuilder paramCnt = new StringBuilder();
StringBuilder paramVal = new StringBuilder();
for (int Axis=1; Axis <= 12; Axis++)
{
TextBox TEMP_TB = (Controls.Find("textBox" + Axis.ToString(), true)[0] as TextBox); //전체 컨트롤 중에 textBox'숫자'를 가진 컨트롤들을 TEMP변수로 지정하는 법
if (TEMP_TB.Text == "")
continue;
int keyCnt;
nodeName = String.Format("Axis{0}", Axis - 1);
GetPrivateProfileString("Parameter", "ParamCnt", "(NONE)", paramCnt, 32, TEMP_TB.Text); //ini 파일에서 값 읽기… StringBuilder 클래스 형식임을 참고
WritePrivateProfileString(nodeName, "ParamCnt", paramCnt.ToString(), outputFilePath); //ini 파일에 값 쓰기…
int.TryParse(paramCnt.ToString(), out keyCnt); //String형을 int로 형변환
for (int keys=0;keys< keyCnt; keys++)
{
GetPrivateProfileString("Parameter", keys.ToString(), "(NONE)", paramVal, 32, TEMP_TB.Text); //ini파일에서 값을 읽어와
WritePrivateProfileString(nodeName, keys.ToString(), paramVal.ToString(), outputFilePath); //그대로 새로운 ini파일에 쓰기
}
}
MessageBox.Show("완료");
}
}
728x90
반응형
'배움 - 차근차근 기록하자 > [개발] C# 🔴' 카테고리의 다른 글
[C#] VS Blend 가 뭐지? (VS 블랜드) (0) | 2022.04.15 |
---|---|
[C#] 이벤트 함수 통일하기 (0) | 2022.04.15 |
[C#] 컨트롤 변수를 배열로 사용하기 (0) | 2022.04.15 |
[C#] string을 int로 형변환 (0) | 2022.04.15 |
최근댓글