博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ini写配置信息
阅读量:5039 次
发布时间:2019-06-12

本文共 5199 字,大约阅读时间需要 17 分钟。

//列表框
//文本框
//编辑框
//组合框
//单选框
//检查框
 
unit Unit1; 
interface 
uses 
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, StdCtrls, ExtCtrls; 
type 
  TForm1
=
class(TForm) 
    ListBox1: TListBox; 
    Button1: TButton; 
    Button2: TButton; 
    Memo1: TMemo; 
    Button3: TButton; 
    Button4: TButton; 
    ComboBox1: TComboBox; 
    Edit1: TEdit; 
    CheckBox1: TCheckBox; 
    CheckBox2: TCheckBox; 
    RadioGroup1: TRadioGroup; 
    ComboBox2: TComboBox; 
    Button5: TButton; 
    Button6: TButton; 
    Button7: TButton; 
    
procedure Button3Click(Sender: TObject); 
    
procedure Button4Click(Sender: TObject); 
    
procedure Button1Click(Sender: TObject); 
    
procedure Button2Click(Sender: TObject); 
    
procedure FormCreate(Sender: TObject); 
    
procedure FormClose(Sender: TObject;
var Action: TCloseAction); 
    
procedure Button5Click(Sender: TObject); 
    
procedure Button6Click(Sender: TObject); 
    
procedure ComboBox1Change(Sender: TObject); 
  
private 
    
{ Private declarations } 
  
public 
    
{ Public declarations } 
  
end
var 
  Form1: TForm1; 
implementation 
 
uses IniFiles; 
{$R *.dfm} 
var iniPath:
string;
//ini路径 
    fName:
string;  
//ini的文件名 
procedure ListBoxToINI(
const AINIFile, ASection:
string; ListBox: TListBox); 
var 
  INI: TINIFile; 
  I: Integer; 
begin 
  INI
:= TINIFile.Create(AINIFile); 
  
try 
    INI.EraseSection(ASection); 
    INI.WriteInteger(ASection,
'Count', ListBox.Items.Count); 
    
for I
:=
0
to ListBox.Items.Count
-
1
do 
    
begin 
      INI.WriteString(ASection,
'Item'
+ IntToStr(I), ListBox.Items[I]); 
    
end
  
finally 
    INI.Free; 
  
end
end
procedure INIToListBox(
const AINIFile, ASection:
string; ListBox: TListBox); 
var 
  INI: TINIFile; 
  I, Count: Integer; 
begin 
  INI
:= TINIFile.Create(AINIFile); 
  
try 
    Count
:= INI.ReadInteger(ASection,
'Count',
0); 
    
for I
:=
0
to Count
-
1
do 
    
begin 
      ListBox.Items.Add(INI.ReadString(ASection,
'Item'
+ IntToStr(I),
'0')); 
    
end
  
finally 
    INI.Free; 
  
end
end
procedure MemoToINI(
const AINIFile, ASection:
string; Memo: TMemo); 
var 
  INI: TINIFile; 
  I: Integer; 
begin 
  INI
:= TINIFile.Create(AINIFile); 
  
try 
    INI.EraseSection(ASection); 
    INI.WriteInteger(ASection,
'Count', Memo.Lines.Count); 
    
for I
:=
0
to Memo.Lines.Count
-
1
do 
    
begin 
      INI.WriteString(ASection,
'Item'
+ IntToStr(I), Memo.Lines[I]); 
    
end
  
finally 
    INI.Free; 
  
end
end
procedure INIToMemo(
const AINIFile, ASection:
string; Memo: TMemo); 
var 
  INI: TINIFile; 
  I, Count: Integer; 
begin 
  INI
:= TINIFile.Create(AINIFile); 
  
try 
    Count
:= INI.ReadInteger(ASection,
'Count',
0); 
    
for I
:=
0
to Count
-
1
do 
    
begin 
      Memo.Lines.Add(INI.ReadString(ASection,
'Item'
+ IntToStr(I),
'0')); 
    
end
  
finally 
    INI.Free; 
  
end
end
{write ini} 
procedure TForm1.Button1Click(Sender: TObject); 
begin 
  fName
:=ComboBox1.Text;
 
  iniPath
:=GetCurrentDir()
+format(
'\%s.ini',[fName]); 
  ListBoxToINI(iniPath,
'列表框1',ListBox1); 
end
{read ini} 
procedure TForm1.Button2Click(Sender: TObject); 
begin 
  fName
:=ComboBox1.Text;
 
  iniPath
:=GetCurrentDir()
+format(
'\%s.ini',[fName]); 
  ListBox1.Clear;
 
  INIToListBox(iniPath,
'列表框1',ListBox1); 
  memo1.Text
:=iniPath; 
end
procedure TForm1.Button3Click(Sender: TObject); 
begin 
 ListBox1.Items
:=memo1.Lines; 
end
procedure TForm1.Button4Click(Sender: TObject); 
begin 
  listbox1.Clear; 
end
procedure TForm1.FormCreate(Sender: TObject); 
begin 
   Button6.Click; 
end
procedure TForm1.FormClose(Sender: TObject;
var Action: TCloseAction); 
begin 
  
///角色名<>空 
   Button5.Click; 
end
procedure TForm1.Button5Click(Sender: TObject); 
var MyIniFile: TIniFile; 
begin 
  
INI// 
    fName
:=ComboBox1.Text;
 
    iniPath
:=GetCurrentDir()
+format(
'\%s.ini',[fName]); 
    MyIniFile
:= TIniFile.Create (iniPath); 
    
try 
      
 
      MyIniFile.WriteInteger (
'Settings',
'Top', form1.Top); 
      MyIniFile.WriteInteger (
'Settings',
'Left', form1.Left); 
      
 
      MyIniFile.WriteString(
'Settings',
'Edit1', Edit1.text); 
      MyIniFile.WriteString(
'Settings',
'ComboBox2', ComboBox2.text); 
      MyIniFile.WriteBool(
'Settings',
'CheckBox1', CheckBox1.Checked); 
      MyIniFile.WriteBool(
'Settings',
'CheckBox2', CheckBox2.Checked); 
      MyIniFile.WriteInteger(
'Settings',
'RadioGroup1', RadioGroup1.ItemIndex); 
     
/ThisIsListBox 
       ListBoxToINI(iniPath,
'列表框1',ListBox1); 
       MemoToINI(iniPath,
'文本框',Memo1); 
     
/ThisIsListBox 
    
Finally 
      MyIniFile.Free; 
    
end
  
INI// 
end
procedure TForm1.Button6Click(Sender: TObject); 
var  MyIniFile: TIniFile; 
begin 
  
INI// 
    fName
:=ComboBox1.Text;
 
    iniPath
:=GetCurrentDir()
+format(
'\%s.ini',[fName]); 
    MyIniFile
:= TIniFile.Create(iniPath); 
    
try 
      
 
      form1.Top
:= MyIniFile.ReadInteger(
'Settings',
'Top',form1.Top); 
      form1.Left
:= MyIniFile.ReadInteger(
'Settings',
'Left',form1.Left); 
      
 
      Edit1.text
:=MyIniFile.ReadString(
'Settings',
'Edit1', Edit1.text); 
      ComboBox2.text
:=MyIniFile.ReadString(
'Settings',
'ComboBox2', ComboBox2.text); 
      CheckBox1.Checked
:=MyIniFile.ReadBool(
'Settings',
'CheckBox1', CheckBox1.Checked); 
      CheckBox2.Checked
:=MyIniFile.ReadBool(
'Settings',
'CheckBox2', CheckBox2.Checked); 
      RadioGroup1.ItemIndex
:=MyIniFile.ReadInteger(
'Settings',
'RadioGroup1', RadioGroup1.ItemIndex); 
      
/ThisIsListBox// 
       ListBox1.Clear;
 
       INIToListBox(iniPath,
'列表框1',ListBox1); 
       Memo1.Clear; 
       INIToMemo(iniPath,
'文本框',Memo1); 
      
/ThisIsListBox// 
    
Finally 
      MyIniFile.Free; 
    
end
  
INI// 
   
end
procedure TForm1.ComboBox1Change(Sender: TObject); 
begin 
  
//角色名改变后才读取 
  
//角色名<>空 
  
//角色的Hpmin<>0 
  
if ComboBox1.Text
<>
''
then Button6.Click; 
end
end.
 
 
 
 
 

附件列表

 

转载于:https://www.cnblogs.com/xe2011/archive/2012/06/09/2543048.html

你可能感兴趣的文章
JAVA 技术类分享(二)
查看>>
android客户端向服务器发送请求中文乱码的问
查看>>
UOJ#220. 【NOI2016】网格 Tarjan
查看>>
Symfony翻译教程已开课
查看>>
Python模块之pickle(列表,字典等复杂数据类型与二进制文件的转化)
查看>>
通过数据库表反向生成pojo类
查看>>
css_去掉默认样式
查看>>
TensorFlow2.0矩阵与向量的加减乘
查看>>
NOIP 2010题解
查看>>
javascript中的each遍历
查看>>
String中各方法多数情况下返回新的String对象
查看>>
浅谈tcp粘包问题
查看>>
UVA11524构造系数数组+高斯消元解异或方程组
查看>>
排序系列之——冒泡排序、插入排序、选择排序
查看>>
爬虫基础
查看>>
jquery.lazyload延迟加载图片第一屏问题
查看>>
HDU 1011 Starship Troopers (树形DP)
查看>>
手把手教你写DI_1_DI框架有什么?
查看>>
.net常见的一些面试题
查看>>
OGRE 源码编译方法
查看>>