Je veux faire un ajouteur de fonctions dans APIFunctionListing.txt.
Je lis donc d'abord le contenu du fichier, que je mais dans une liste chaînée.
Je sauvegarde l'encien APIFunctionListing.txt.
J'ajoute à ma liste chaînée qui contenait les API, celles que je veux ajouter dans APIFunction.txt. ou l'inverse j'ajoute d'abord et j'écris ensuite le contenu.
Je la trie par ordre alphabétique, puis j'écris son contenu dans le fichier APIFunction.txt que je recrais.
Le problème est que mes trois fonctions ajoutées restent à leur place dans la list,et ne font pas parties des trillées.
Pourquoi ?
Voici le code.
Code : Tout sélectionner
NewList apis.s()
nbapi = 0
AddElement(apis())
apis() = "JFWSayString (lpszStrinToSpeak$, bInterrupt)"
AddElement(apis())
apis() = "JFWStopSpeech ()"
AddElement(apis())
apis() = "JFWRunScript (LPCTSTR lpszScriptName$)"
If ReadFile(0, "APIFunctionlisting.txt")
ReadString()
DefType.s str
str = ReadString()
While str
AddElement(apis())
apis() = str
str = ReadString()
Wend
CloseFile(0)
Repeat
If RenameFile("APIFunctionListing.txt", "APIFunctionListing.txt.bak") = 0
If MessageRequester("Erreur", "Impossible de renommer le fichier APIFunctionListing.txt." + #lfcr$ + "Cliquez sur 'réessayer' pour renouveler la tentative, ou sur annuler pour quitter.", #MB_RetryCancel | #MB_IconExclamation) = #IDcancel
MessageRequester("Erreur", "La sauvegarde n'a pas pue être faite. Par mesure de prévansion, le fichier APIFunction.txt ne va pas être modifié.", #MB_OK | #MB_IconStop)
End
EndIf
Else
Break
EndIf
ForEver
ResetList(apis())
SortList(apis(), 2)
nbapi = CountList(apis()) + 1
If CreateFile(0, "APIFunctionListing.txt")
WriteStringN(Str(nbapi))
ResetList(apis())
ForEach apis()
WriteStringN(apis())
Next
Else
Debug "Peut pas créer."
EndIf
Else
Debug "Impossible d'ouvrire"
EndIf
End