ReadProgramData()

Syntaxe

Resultat = ReadProgramData(Programme, *Memoire, Taille)
Description
Lit les données provenant de la sortie standard (stdout) d'un programme.

Arguments

Programme Le programme à utiliser.

Le programme doit avoir été lancé avec RunProgram() en spécifiant l'option #PB_Program_Read.
*Memoire La mémoire tampon dans laquelle seront stockées les données lues.
Un tampon de mémoire peut être créé avec AllocateMemory().
Taille La taille des données à lire, en octets.
Le tampon devra être suffisamment grand pour gérer cette taille.

Valeur de retour

Le nombre d'octets effectivement lus.

Remarques

La commande lit un nombre d'octets jusqu'à la valeur 'Taille', ou moins s'il n'y a pas assez de données à lire. Par contre, cette commande attendra jusqu'à ce qu'il y ait au moins un octet avant de quitter, donc la valeur 0 pour 'Resultat' n'est pas possible.

Note: cette commande bloque jusqu'à ce qu'il y ait des données à lire. Pour éviter ce blocage, la commande AvailableProgramOutput() peut être utilisée pour vérifier si il y a bien des données en attente.
Cependant la fonction reste bloquée indifiniment si le programme réclame l'intervention de l'utilisateur. Comme par exemple, renvoyer un choix oui/non au programme pour qu'il se poursuive.

Voir aussi

ReadProgramString()

OS Supportés

Tous

<- ProgramRunning() - Process Index - ReadProgramError() ->