Bonjour tout le monde,
Je suis entrain de créer une application qui doit lire un fichier .INF.
Cependant je dois lire une section qui contient ce qui suit :
Pour cela je fais :[HardwareIds.scsi.BUSDRV]
id = "PCI\VEN_10DE&DEV_008E", "nvatabus"
id = "PCI\VEN_10DE&DEV_0085", "nvatabus"
id = "PCI\VEN_10DE&DEV_00D5", "nvatabus"
id = "PCI\VEN_10DE&DEV_00EE", "nvatabus"
Ini->ReadSectionValues("HardwareIds.scsi.BUSDRV",LBSata->Items);
(où LBSata est un TListBox)
Comme c'est la même variable => id et des valeurs différentes
Il lit cette secion comme suit :
Comment pourrais-je procéder pour qu'il lit comme je veux ?[HardwareIds.scsi.BUSDRV]
id = "PCI\VEN_10DE&DEV_008E", "nvatabus"
id = "PCI\VEN_10DE&DEV_008E", "nvatabus"
id = "PCI\VEN_10DE&DEV_008E", "nvatabus"
id = "PCI\VEN_10DE&DEV_008E", "nvatabus"
Parce que je ne vois pas d'autres solutions à cette heure-ci.
Merci pour votre future réponse constructive
PS:
j'ai inventé une solution mais si quelqu'un a une meilleure solution je suis prenant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 TMemoryStream* pms = new TMemoryStream(); pms->LoadFromFile ("c:\\txtsetup.oem"); pms->Seek(0,soFromBeginning); char *Buffer = new char [pms->Size]; pms->ReadBuffer(Buffer, pms->Size); int i=0; AnsiString buf = AnsiString(Buffer); while ( (buf.SubString(0,buf.AnsiPos("\r\n")).LowerCase().Trim()!="[hardwareids.scsi.busdrv]") && (buf.Length()>10)) { buf=buf.SubString (buf.AnsiPos("\r\n")+1,buf.Length()); } buf=buf.SubString (buf.AnsiPos("\r\n")+1,buf.Length()); while ( (buf.SubString(0,buf.AnsiPos("\r\n")).LowerCase().Trim().AnsiPos("[")==0) && (buf.Length()>10)) { buf=buf.SubString (buf.AnsiPos("\r\n")+1,buf.Length()); ShowMessage(buf.SubString (0,buf.AnsiPos("\r\n"))); }
Partager