Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : tmemorystream tthread et temps réel [ Système / Exécution ] (mounjetado)

lundi 3 juillet 2006 à 11:35:18 | tmemorystream tthread et temps réel

mounjetado

try
bonjour,
qqn pourrait-il me tuyauter avec de vrais exemples à l'appui, pourt utiliser les strems de tous genres?
voilà mon problème:
j'ai une appli multithreads. un thread mesure tranquille ses mesures sur le port parallèle. pour l'instant je les transmets à ma fiche pour les afficher via un tthreadlist pour les afficher ds un tlistbox. tt baigne mais au bout de qqs secondes on sent que ça commence à patauger.
l'idée m'est venue d'utiliser les streams pour balancer mes données qui pour l'instant sont brutes (des calculs sont à prévoir avant affichage, et même un graphique raffraîchi régulièrement; le tout devant fonctionner avec 1000 mesures par secondes en continu jusqu'à 3 millions de cycles à 1Hz).
partout je ne trouve que des exemples de streams utilisés dans la mm procédure, alors que moi je cherche à écrire dans une méthode dans un stream, qui pourra être lu dans une autre méthode.
tout ça pour gagner un max de temps processeur et garder un cadencement régulier de mes mesures.
finally
merci à tousssssssssssssssssssss sans exception!
end;


si Delphi m'était conté...

lundi 3 juillet 2006 à 13:10:29 | Re : tmemorystream tthread et temps réel

jlen100

Membre Club
salut,
c'est simple tu déclares ta varaible MemoryStream  en variable globale tu l'affectes dans la première procédure et tu le récupères dans la seconde
si tu veux un exemple vas voir le module Phone de la source videosurveillance
ICI
 dans la procedure PlayFile je charge le fichier dans le memorystream::
procedure TFPhone.PlayFile(FileName: String);
begin
.
.
.
DataStream.Clear;
DataStream.LoadFromFile(FileName); //charge le fichier
DataStream.Seek(0, soFromBeginning);

SendMessage.Enabled:=true; //envoie le message
end;
que j'utilise dans nextblock

procedure TFPhone.NextBlock;
const
BufSize = 4096;
var
i: Integer;
RData: array[1..4096] of Char;
Data: array[1..9200] of Char;
BytesCount, ReadCount: Longint;
begin
BytesCount := 0;
ReadCount := DataStream.Read(RData, BufSize);
if readcount=0 then
begin
SendMessage.Enabled:=false;
exit;
end;
ici on fait le traitement
.
.

end;

comme tu le vois c'est très simple ce n'est qu'un flux de données  : C'est comme si tu ouvrais un fichier dans une procédure et que tu l'utilises dans une autre

@
jlen


lundi 3 juillet 2006 à 16:25:44 | Re : tmemorystream tthread et temps réel

mounjetado

merci merci merci! je vais étudier ça de trèèèèèèèèèès près ;)


si Delphi m'était conté...

vendredi 5 octobre 2007 à 12:20:20 | Re : tmemorystream tthread et temps réel

mounjetado

@jlen: je suis enfin arrivé au point de m'attaquer au stream pour passer mes mesures... une question cependant...la méthode SendMessage a-t-elle qqch à voir avec la bonne utilisation de TMemoryStream ou est-ce employé dans le cadre de ton application?


si Delphi m'était conté...



Cette discussion est classé dans : temps, réel, tthread, mesures, tmemorystream


Répondre à ce message

Sujets en rapport avec ce message

Temps réel [ par fredjn ] fred jnBonjour, Vopilà je souhaite réaliser un oscilloscope en temps réel, dont l'acquisition de Composant pour le temps réel [ par AmineTheGreat ] bonjour,est ce qu'il n'y a pas un composant ou une classe qui permet une plus grande puissance que les Threads car il semble que ces derniers ne march Lissage de courbe en temps réel [ par roeugene ] BonjourJ'affiche en temps réel une courbe sur le graphique Tchart. La courbe est composée de droite et j'aimerais faire un lissage de courbe. Il faut encodage mpeg temps réel [ par mickey4D46 ] Je décode le flux provenant d'une camera afin d'extraire les images au format jpeg et je les affiche.J'aimerai pouvoir encoder en mpeg l'ensemble de c calcul de temps [ par clodth ] Existe t-il une fonction capable d'additionner ou de soustraire des heures et minutes.Exemple : (12h45 + 20h12) ou (12h45 - 20h12)Merci de m'aider. Syntaxe du insert avec des combo [ par Mawie ] Salut à tous,j'ai bien pris le temps de lire presque tous les sujets du forum ki s'approchaient plus ou moins de ce ke je cherchait mais en vain.Voila Validité d'un champs temps [ par ToTo 44 ] Voila je pose mon problème:je doit verifié si se que saisie l'util est un champs date correct (hh/mm/ss)et la personne avant moi a foutu la saisidans TTime, TDateTime [ par timeplus ] Bonjour,J'ai des valeurs de temps (h, mn, sec) qui vont dépasser 24 heures, 59 mn, et 59 sec. Avec un TimeToStr ou ce genre de chose, arrivé à 24 heur Gestion cybercafé et logiciel en Delphi Help. [ par aston27 ] Bonjour,Ce message s'adresse à tout ceux qui recherche quelque chose à amélioré sur un programme déjà existant.Actuellement le Logiciel TN-NETWORK est dans quel onglet trouve ton lobjet [TTHREAD] [ par gamez ] bonjourjaimerai savoir dans quel onglet on trouve l'objet TThread, à quoi ressemble son icone??merci


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.