|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
|
Gestione memoria video??????
Spreste dirmi come si gestisce la memoria, in modo da disegnare una "schermata", e poi visualizzarla sullo schermo. Grazie.
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
domanda un po' vaga...dipende dal linguaguaggio che vuoi usare...se usi vb ti passo delle funzioni:
Codice:
Option Explicit
Private Type MEMORYSTATUS
dwLength As Long
dwMemoryLoad As Long
dwTotalPhys As Long
dwAvailPhys As Long
dwTotalPageFile As Long
dwAvailPageFile As Long
dwTotalVirtual As Long
dwAvailVirtual As Long
End Type
Private Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As MEMORYSTATUS)
___________________________________________________________________
Public Function GetMemoryStatus(ByVal nFlag As Integer) As Long
Dim MemStat As MEMORYSTATUS
Call GlobalMemoryStatus(MemStat)
Select Case nFlag
Case 0: GetMemoryStatus = MemStat.dwMemoryLoad
Case 1: GetMemoryStatus = MemStat.dwTotalPhys
Case 2: GetMemoryStatus = MemStat.dwAvailPhys
Case 3: GetMemoryStatus = MemStat.dwTotalPageFile
Case 4: GetMemoryStatus = MemStat.dwAvailPageFile
Case 5: GetMemoryStatus = MemStat.dwTotalVirtual
Case 6: GetMemoryStatus = MemStat.dwAvailVirtual
End Select
End Function
ciaooooooooooooooooo |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
|
In pascal? o in C++?
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Quello è VB...cmq le API che ho usato sono usabili benissimo anch epr il C++ però nn so come si fa
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
In Windows non puoi andare a scrivere direttamente in memoria video...
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
|
infatti io vorrei suggerimenti riguardanti programmazione sotto DOS!!
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
La meoria video in testo si trova nel segmento B800...
A partire da B800:0000 ci sono 8 pagine di memoria consecutive in modo testo 80x25... Ogni pagina è formata da 4000 byte... Solo la prima pagina è quella visualizzata (da B800:0000 a B800:0FFFF)... Per ogni carattere c'è una coppia di byte consecutivi... Il primo indica il codice Ascii da visualizzare ils econdo byte indica il colore... Il bit più significativo indica se il carattere deve lampeggiare... I 3 bit successivi indicano il colore dello sfondo del carattere... I 4 bit meno significativi codificano il colore del carattere... Per curiosità...a cosa ti serve ?!??!? |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
|
Ho fatto un programma con la grafica avanzata del Pascal, che simula il funzionamento di un ascensore, ma, nei movimenti dell'ascensore ci sono i disurbi creati dal cursore che disegna l'ascensore, quindi vorrei "disegnare" la schermata prima nella memoria video, e oi visualizzarla. Ciao!!!
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quello che vuoi usare tu si chiama Double Buffering...
Aspetta ti cerco qualche link... |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
http://www.giobe2000.it/HW/Ramvideo/Pag/Home.asp
Ho trovato...la funzione si dovrebbe chiamare SetActivePgae http://www.experts-exchange.com/Programming/Programming_Languages/Pascal/Q_10302538.html |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Non so se c'ho preso, ma guardate quest'ottimo esempio. Dimostra, a mio parere, che anche Windows permette l'elaborazione grafica e poi la visualizzazione.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#13 |
|
Bannato
Iscritto dal: Feb 2003
Città: genova
Messaggi: 130
|
scusate l'ignoranza...
ma perchè non si possono usare le opengl o le directx?? |
|
|
|
|
|
#14 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#15 |
|
Bannato
Iscritto dal: Feb 2003
Città: genova
Messaggi: 130
|
anche con pascal si possono usare le opengl
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
In un programma a 16 bit sotto DOS ?
Comunque la risposta è nel link che ho postato sopra...c'è una funzione per swappare le pagine di memoria video usando la libreria GDI del Turbo Pascal... |
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
|
La funzione funziona (scusate il gioco di parole
|
|
|
|
|
|
#18 | |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:03.



















