?
Solved

ini file reading

Posted on 2006-06-20
8
Medium Priority
?
362 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
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 2000 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
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
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

Independent Software Vendors: 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

Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
Please read the paragraph below before following the instructions in the video — there are important caveats in the paragraph that I did not mention in the video. If your PaperPort 12 or PaperPort 14 is failing to start, or crashing, or hanging, …
Is your data getting by on basic protection measures? In today’s climate of debilitating malware and ransomware—like WannaCry—that may not be enough. You need to establish more than basics, like a recovery plan that protects both data and endpoints.…
Suggested Courses
Course of the Month13 days, 18 hours left to enroll

809 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