Solved

ini file reading

Posted on 2006-06-20
8
355 Views
Last Modified: 2010-05-18
Hello all

I have an application that needs to read an ini file.

It needs to compare a number (a count) from an SQL statement to a number stored in the ini file. The number in the ini file will be stored next to an identifier such as  'client=3' and if possible i want to set how many places along the string the number will be in the ini file eg 'client=12*3*456' so the number i want for comparrison is still number 3

any help appreciated
0
Comment
Question by:Paul-Brooks
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
8 Comments
 
LVL 14

Expert Comment

by:DragonSlayer
ID: 16940952
i don't get you :-(
0
 

Author Comment

by:Paul-Brooks
ID: 16940969
OK

If i have an ini file that contains the line client=3, how do i read that in my delphi app and as a secondary question can i hide that number(the 3) in a string and count the places to find it as a sort of encryption

Cheers
0
 
LVL 4

Accepted Solution

by:
David_Ward earned 500 total points
ID: 16941028
uses TiniFiles;

Function GetMyINI_Data(IniFname,SectionName,KeyName: String): Integer;
var
  ThisINI:    TIniFile;
  s1:           String;
begin
  result:=-1;
  ThisINI:=TiniFile.Create(IniFname);

  try
    s1:=ThisINI.ReadString(SectionName,KeyName,'-1');
    if s1<>'-1'  then
      begin
          result:=StrToIntDef(s1,-2);

          // decode "whatever" you did to encode the number before you saved it in the INI file

      end;

   
  finally
    ThisINI.free;
   
  end;

end;
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 4

Expert Comment

by:David_Ward
ID: 16941033
// decode "whatever" you did to encode the number before you saved it in the INI file
// i.e.
result:=(result div 12) div 456;
0
 
LVL 4

Expert Comment

by:David_Ward
ID: 16941052
>>if possible i want to set how many places along the string the number will be in the ini file eg 'client=12*3*456' so the number i want for comparrison is still number 3

I really would not bother with something like this, I would just mathematically alter the number according to -some- formula

Some.INI
[Some.Section]
Client=16416

// 16416/12/456=3


0
 
LVL 10

Expert Comment

by:atul_parmar
ID: 16941065
Or to decode the hidden number from string you can use
  s := '12*3*456';
  s := Copy(s, pos('*', s)+1, length(s));
  s := copy(s, 1, pos('*', s)-1);
0
 

Author Comment

by:Paul-Brooks
ID: 16941103
David

I am using Delphi 2005 and when i put the TiniFiles in the uses, the project will not compile with a cant resolve unit name error

0
 
LVL 4

Expert Comment

by:David_Ward
ID: 16941140
yea, sorry, the unit name is;

IniFiles

not "T"
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
Come and listen to Percona CEO Peter Zaitsev discuss what’s new in Percona open source software, including Percona Server for MySQL (https://www.percona.com/software/mysql-database/percona-server) and MongoDB (https://www.percona.com/software/mongo-…
Michael from AdRem Software outlines event notifications and Automatic Corrective Actions in network monitoring. Automatic Corrective Actions are scripts, which can automatically run upon discovery of a certain undesirable condition in your network.…

724 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question