Avatar billede juzas Mester
22. november 2018 - 16:53 Der er 5 kommentarer

Delphi - Slet kolonne i en .ini fil

Hej. Jeh har en .ini fil med disse dataer:

[Data]
Oprettet=21.11.2018 - 17.06.40
Lukket=21.11.2018 - 17.07.13
[Test1]
Navn=Test1
Antal brugte=2
[Test2]
Navn=Test2
Antal brugte=2

Hvordan kan jeg slette hele "[Test1]" kolonne, så den bliver fjernet fra listen/filen? :)
22. november 2018 - 17:48 #1
HEJ,

Hvordan mener du slettet ?

En mulighed er at du ved oprettelsen af din ini-fil "glemmer" at skrive "kolonnen" (det er faktisk et felt med parametre ),  eller du i PAS-filen laver en betinget sløjfe, som "elegant" (mere eller mindre) hopper uden om.
Men hvis du laver det som et "udenom-s-hop" må du ved læsningen af samme INI-fil også tage højde for at dette felt IKKE eksisterer.

Hvis du "bare" sletter din TEST1 parameter blok er du garanteret at få problemer ved næste læsning.


Kristian



Men
Avatar billede arne_v Ekspert
22. november 2018 - 20:14 #2
instanceoftinifile.EraseSection('Test1');

?
Avatar billede juzas Mester
24. november 2018 - 07:34 #3
Har du et eksempel eller et link med lidt kode? :)
Avatar billede juzas Mester
24. november 2018 - 07:43 #4
Har prøvt dette men virker ikke. :/

var
  //.ini
  MyIni : TIniFile;
  MyString : String;
begin
MyIni := TIniFile.Create(ExtractFilePath(Application.Exename) + 'Config.ini');
MyIni.EraseSection('[Test1]');
Avatar billede arne_v Ekspert
24. november 2018 - 20:14 #5

program IniDel;

uses
  Inifiles;

var
  myini : TIniFile;

begin
  myini := TIniFile.Create('C:\work\test.ini    ');
  myini.EraseSection('Test1');
  myini.Free;
end.


virker hos mig.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester