C++buider: suite de matrix (extension 2)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 248 fois - Téléchargée 1 260 fois

Contenu du snippet

Suppression de cette source par son auteur.
Suppression de cette source par son auteur.
Suppression de cette source par son auteur.

A voir également

Ajouter un commentaire Commentaires
Messages postés
4
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 février 2004

Je continue mon blabla pour faire un écrn de veille type matrix sans peine :
une fois téléchargé le modèle de microsoft, modifier le source de "doframe.c" comme indiqué après, et ajouter un fichier d'entete glob.h pour qques variables globales.
pour le fichier doframe.c :

#include <windows.h>
#include <stdlib.h>
#include "glob.h"

// A simple routine to draw something on the screen
void DrawFrame(HWND hWnd)
{
HDC hDC = GetDC(hWnd); // Get the DC for the window
RECT rect;

// If we didn't get a DC for the window then bail
if (!hDC)
return;

// Get our drawing surface extents
GetClientRect(hWnd, &rect);

{ // ****** Insert your own drawing code between here




int i2,g,nblignH,nblignV,j;
char buf[2];
int nstr;


//ajout moi+++++++++++++++++++
TEXTMETRIC lptm;
//fin ajout+++++++++++++++++++

HBRUSH hbr;








//ajout moi++++++++++++++++++++++++++
GetTextMetrics(hDC,&lptm);

//fin ajout++++++++++++++++++++++++++


// Set the colors
SelectObject(hDC, GetStockObject(BLACK_PEN));





nblignV=rect.bottom/((lptm.tmHeight)+(lptm.tmExternalLeading)); //nb de ligne par écran
nblignH=rect.right/lptm.tmMaxCharWidth; //nb de colonnes


// Get color

g =100 + rand() % 156;




for(i2=0;i2<200;i2++)
{
i[i2]++;
if(i[i2]>=nblignV+30)i[i2]= rand() % nblignV;

}


for(j=0;j<nblignH;j++)
{

//ecrit
//choix de la lettre
nstr=90 + rand() % 162;
buf[0]=nstr;

yecrit[j]=i[j]*(lptm.tmHeight+lptm.tmExternalLeading);
xecrit[j]=j*(lptm.tmMaxCharWidth);
SetBkColor(hDC,RGB(0,0,0));
SetTextColor(hDC,RGB(0,g,0));
TextOut(hDC,xecrit[j],yecrit[j],buf,1);
//efface


yefface[j]=i[j]*(lptm.tmHeight+lptm.tmExternalLeading)-(30*(lptm.tmHeight+lptm.tmExternalLeading));
hbr = CreateSolidBrush(RGB(0,0,0));
if (hbr)SelectObject(hDC, hbr);
Rectangle(hDC,xecrit[j], yefface[j], xecrit[j]+lptm.tmMaxCharWidth, yefface[j]+lptm.tmHeight);
}//for


//fin ajout++++++++++++++++++++++++++++++

//Clean up
SelectObject(hDC, GetStockObject(BLACK_BRUSH));
//DeleteObject(hbr);

} // ****** and here

ReleaseDC(hWnd, hDC);
}



pour le fichier glob.h mettre ca

int i[200];
int yecrit[200],yefface[200],xecrit[200];

et normalemen ca marche. Mon vieux pc 400 mhz peux le faire tourner.
Messages postés
4
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 février 2004

Bonjour tout le monde ! j'ai jeté un oeil sur le source. Je pense que pour qu'un écran de veille fonctionne bien, il faut y inclure la bibliothèque scrnsave.lib
Sinon, un modèle de source est disponible sur le site de microsoft (article 160960) que l'on peut voir à la page http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q160/9/60.ASP&NoWebContent=1
comme ca looping pourra bidouiller les animations de jimmy et les inclure dans le source largement commenté de microsoft
Messages postés
30
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
22 août 2003

jimmy louis, desoler de ne pas avoir preciser sous quel log. je prog.

donc je prog. sous Microsoft Visual C++ 6.0 et il n'incorepore pas automatiquement "vcl.h" puisqu'il n'existe pas sur mon pc.

donc, si tu peut refaire une source qui contien tout les fichiers que le log. que tu utilise pour prog. incorepore lorsque tu build, cela ferai pour toi un prog. exportable sur d'autres log. de prog.
je t'en remerci d'avance et attend avec patience ton nouveau zip source en esperant que cela fonctionnera.
Messages postés
14
Date d'inscription
jeudi 26 décembre 2002
Statut
Membre
Dernière intervention
13 mai 2015

A looping93290b
Il ne manque rien dans le source.
Avec C++Builder la "vcl.h" s'incorpore seule au lancement de CBuilder, tu fais: Construire et executer, c'est tout. ;-)
Jimmy
Messages postés
30
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
22 août 2003

il manque vcl.h pour build ton prog.

cela fait que 1 error, mais importante.
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.