Il me faut calculer les 33% d'un nombre pour utiliser le base64encoder(). Le pb c qu'à chaque fois que je veux calculer la quantité de mémoire à alouher, ça ne marche pas!
chaine.s=InputRequester("Chaine","Chaîne à encoder:","jklm")
If Len(chaine)<64
nb=64
Else
nb=Len(chaine)*0.33
EndIf
If nb<64
nb=64
EndIf
*buffer=AllocateMemory(nb)
Base64Encoder(chaine,Len(chaine),*buffer,nb)
result.s=PeekS(*buffer)
MessageRequester("Info",result,#mb_ok|#mb_iconasterisk)
FreeMemory(*buffer)
End
Merci d'avance pour un... très très nul en mathématiques .
oui sauf que si tu multiplies par 1,33 faut pas rajouter Len(chaine) derrière sinon ca fait plus 33 %. Ou alors il faut que tu multiplies par 0,33 pour ajouter à nouveau Len(chaine) :
100 X 1,33 = 133
100 X 0.33 + 100 = 133
C'est comme la TVA :
Prix hors taxe * 0,196 + prix hors taxe = Prix ttc
ou
Prix hors taxe * 1.196 = Prix ttc
Encode le buffer reçu avec l'algorithme Base64. Il est largement utilisé dans les programmes de messagerie mais peut également être utile dans toute application
nécessitant un encodage basé sur le code ASCII seul (7 bits, caractères 32 à 127) pour les fichiers binaires de base. Le buffer de sortie devrait être
33% plus long que le buffer d'entrée, avec une taille minimale de 64 octets.