Bonjour,
Je traite des fichiers dans lesquels une ligne me pose problème...
En effet, elle peut avoir plusieurs formes différentes et par conséquent le traitement s'en trouve modifié...
Je souhaite récupérer la direction et la force en KT.
Je pense que l'utilisation des expressions régulières pourraient me simplifier la vie mais je ne sais pas comment les utiliser avec Delphi.
Voici un exemple de ligne que je peux avoir :
Actuellement j'utilise :Wind: from the NNW (340 degrees) at 5 MPH (4 KT):0
Wind: from the N (360 degrees) at 6 MPH (5 KT):0
Wind: from the NE (040 degrees) at 5 MPH (4 KT):0
Wind: from the NNE (030 degrees) at 5 MPH (4 KT):0
Wind: from the NE (050 degrees) at 6 MPH (5 KT):0
Wind: Calm:0
Wind: from the E (090 degrees) at 3 MPH (3 KT):0
Wind: Variable at 2 MPH (2 KT):0
Pensez-vous que les expressins régulières sont à utiliser dans ce cas ou alors faut-il utiliser des "if, then et else" ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 // Vent (direction/vitesse) for i := 0 to MyStringList.Count-1 do begin if Pos('Wind:',MyStringList.Strings[i]) > 0 then begin MyVentDirection := StrToInt(Trim(Copy(MyStringList.Strings[i],Pos('(',MyStringList.Strings[i])+1,3))); s := MyStringList.Strings[i]; Delete(s,1,Pos(')',s)); MyVentVitesse := SimpleRoundTo(StrToInt(Trim(Copy(s,Pos('(',s)+1,2)))*(1/0.54),-2); break; end; end;
Merci d'avance,
Mathieu
Partager