package IniFile @ISA = qw() sub new my ($module, $path, $CreateIniFile, $UseAsIniFile) = @_; return $this; sub DESTROY my $this = shift; $this->SUPER::DESTROY( sub SetIniFile my ($this, $ProgramPath, $keyhead, $UseIniFileName) = @_; return; sub IniFile my ($this) = @_; return $this->{"$this->{'SystemKeyHead'}IniFile"}; sub ProgramFile my ($this) = @_; return $this->{"$this->{'SystemKeyHead'}ProgramFile"}; sub MyDir my ($this) = @_; return $this->{"$this->{'SystemKeyHead'}MyDir"}; sub WinDir my ($this) = @_; return $this->{"$this->{'SystemKeyHead'}WinDir"}; sub TempDir my ($this) = @_; return $path if($path); return $ENV{temp} if($ENV{temp}); return $ENV{TMP_DIR} if($ENV{'TMP_DIR'}); sub Shell my ($this) = @_; return $this->{"$this->{'SystemKeyHead'}ComSpec"}; sub ComSpec my ($this) = @_; return $this->Shell(); sub HostName my ($this) = @_; return $this->{"$this->{'SystemKeyHead'}HostName"}; sub DeleteAllArrayItems my ($this, $key) = @_; sub nArrayItems my ($this, $key) = @_; return $i; return 0; sub GetArray my ($this, $key) = @_; return @a; sub AddArrayItems my ($this, $key, @a) = @_; sub WriteAll my ($this, $path, $separator) = @_; return undef if(!$ret); return 1; sub ReadAll my ($this, $path, $separator, $RemoveQuotation) = @_; return undef if(!$ret); return 1; sub GetString my ($this, $section, $key, $defstr) = @_; return undef if(!defined $section); return $this->GetSection() if(!defined $key); return undef; return $str; return $defstr; sub GetSection my ($this, $section) = @_; return undef if(!defined $section); return undef; return %val; sub WriteString my ($this, $section, $key, $val) = @_; return if(!defined $section or !defined $key or !defined $val); return undef; return ""; return $val; return (LPCSTR)m_TempDir;