Q&A

  • ini file을 읽어와서 화면에 나타낼때...


ini값을 읽어오고 저장하는 겁니다.

저장은 문제없이 잘 되는군요.

문제는 저장된 값을 읽어오는 일인데

화면에는 체크박스 한개와 에디트박스 2개가 있습니다.

1.CheckBox.Checked를 True

2.Edit1.Text 숫자를 12345

3.Edit2.Text 문자를 '테스트중' 으로 각각 저장후(저장값은 완벽하군요...)



다시 읽어오기를 해보면 각각 False , 0 , '' 의 값이 표기되어 나옵니다.

제대로 값이 나올수 있도록 예문수정을 부탁합니다.





procedure TForm1.Button2Click(Sender: TObject);

var

abcini : tinifile; //변수선언

begin

NoteBook1.PageIndex:=3;

try

abcini := tinifile.create('abc.ini'); //ini메모리할당

with abcini do

begin

CheckBox1.Checked:=ReadBool('제목1', 'checkbox1', False);

Edit1.Text:=IntToStr(ReadInteger('제목2', 'Edit1', 0));

Edit2.Text:=ReadString('제목3', 'Edit2', '');

end;

finally

abcini.Free; //메모리해제

end;

end;



procedure TForm1.Button3Click(Sender: TObject);

var

abcini: Tinifile;

begin

NoteBook1.PageIndex:=3;

Try

abcini:= Tinifile.Create('abcini');// 메모리할당

abcini.WriteBool('제목1', 'chkbox1', checkbox1.checked);//불린값쓰기

if Edit1.Text<>'' Then

abcini.WriteInteger('제목2', 'Edit1', StrToInt(Edit1.Text));//숫자

abcini.WriteString('제목3', 'Edit2', Edit2.Text); //문자

finally

abcini.Free; //메모리해제

end; //abcini file은 window 디렉토리에 위치됨...



end;



3  COMMENTS
  • Profile
    인터기초 2001.10.21 01:13
    두분의 말씀이 모두 도움이 되었습니다.

    다시한번 감사 드립니다.

  • Profile
    깨구락지 2001.10.20 22:00


    > procedure TForm1.Button2Click(Sender: TObject);

    > var

    > abcini : tinifile; //변수선언

    > begin

    > NoteBook1.PageIndex:=3;

    > try

    > abcini := tinifile.create('abc.ini'); //ini메모리할당

    > with abcini do

    > begin

    > CheckBox1.Checked:=ReadBool('제목1', 'checkbox1', False);

    ->CheckBox1.Checked:=ReadBool('제목1', 'checkbox1', CheckBox1.Checked);

    > Edit1.Text:=IntToStr(ReadInteger('제목2', 'Edit1', 0));

    ->Edit1.Text:=ReadString('제목2', 'Edit1', Edit1.Text);

    > Edit2.Text:=ReadString('제목3', 'Edit2', '');

    ->Edit2.Text:=ReadString('제목3', 'Edit2', Edit2.Text);

    읽어 올때는 숫자를 문자형으로 읽어도 상관없겠져?



    깨굴~

  • Profile
    이순구 2001.10.20 21:57
    인터기초 wrote:

    >

    > ini값을 읽어오고 저장하는 겁니다.

    > 저장은 문제없이 잘 되는군요.

    > 문제는 저장된 값을 읽어오는 일인데

    > 화면에는 체크박스 한개와 에디트박스 2개가 있습니다.

    > 1.CheckBox.Checked를 True

    > 2.Edit1.Text 숫자를 12345

    > 3.Edit2.Text 문자를 '테스트중' 으로 각각 저장후(저장값은 완벽하군요...)

    >

    > 다시 읽어오기를 해보면 각각 False , 0 , '' 의 값이 표기되어 나옵니다.

    > 제대로 값이 나올수 있도록 예문수정을 부탁합니다.

    >

    >

    > procedure TForm1.Button2Click(Sender: TObject);

    > var

    > abcini : tinifile; //변수선언

    > begin

    > NoteBook1.PageIndex:=3;

    > try

    > abcini := tinifile.create('abc.ini'); //ini메모리할당

    > with abcini do

    > begin

    > CheckBox1.Checked:=ReadBool('제목1', 'checkbox1', False);

    > Edit1.Text:=IntToStr(ReadInteger('제목2', 'Edit1', 0));

    > Edit2.Text:=ReadString('제목3', 'Edit2', '');

    > end;

    > finally

    > abcini.Free; //메모리해제

    > end;

    > end;

    >

    > procedure TForm1.Button3Click(Sender: TObject);

    > var

    > abcini: Tinifile;

    > begin

    > NoteBook1.PageIndex:=3;

    > Try

    > abcini:= Tinifile.Create('abcini');// 메모리할당

    > abcini.WriteBool('제목1', 'chkbox1', checkbox1.checked);//불린값쓰기

    > if Edit1.Text<>'' Then

    > abcini.WriteInteger('제목2', 'Edit1', StrToInt(Edit1.Text));//숫자

    > abcini.WriteString('제목3', 'Edit2', Edit2.Text); //문자

    > finally

    > abcini.Free; //메모리해제

    > end; //abcini file은 window 디렉토리에 위치됨...

    >

    > end;

    >



    다른 것은 이상이 없는데요.. 읽어올 때하고 저장할 때의 파일명이 틀리군요..

    'abc.ini'와 'abcini' 그리고 'checkbox1'과 'chkbox1'도 통일해야겠네요..