Newsgroup: it.comp.lang.pascal
Titolo: TextColor - TextBackGround

Ciao,
Come e' possibili risalire ai valori che si e' impostato tramite le
procedure TEXTCOLOR e TEXTBACKGROUND?
Grazie, Fabio
--
fabi...@rocketmail.com

 procedure TEXTCOLOR e TEXTBACKGROUND?
Prova a dare un'occhio alla variabile TextAttr.
Ciao
  Roberto.
-- 
-------------------------------------------------------------------
 Vabbe`  ma  mica posso fare tutto io! Te lo sai a che ora mi sono
 alzato  questa  mattina? Alle sette meno un quarto! La bambina mi
 ha vomitato tutta  l'anguria  nelle scarpe!  Stamattina e` venuto
 l'idraulico e sai  quanto mi ha chiesto? Centocinquantamila lire!
 E dopo mezz'ora  il  rubinetto ha ricominciato a buttare l'acqua!
 Quela poi e` andata al corso di chitarra alle tre del pomeriggio,
 lo sai a che ora e` tornata? alle  quattro del mattino! Con tutto
 il rossetto  spostato  sulla  faccia. Ma che la chitarra la suoni
 con la bocca? Hai capito?
-------------------------------------------------------------------
 Attenzione:  i  dati  nell'header  sono modificati per difendermi
 dagli spammer. L'indirizzo  esatto  e`:  
crs...@xxxfreenet.hut.fi
                                   senza le tre x^^^

procedure TEXTCOLOR e TEXTBACKGROUND?
Devi leggere il contenuto della variabile TextAttr contenuta nella
unit Crt. La variabile TextAttr e' di tipo byte, e i primi 4 bit
corrispondono al colore del testo (16 colori disponibili impostabili
con TextColor), i bit 4-6 contengono il colore dello sfondo (essendo
tre bit vi sono solo 8 colori disponibili impostabili con
TextBackground) e l'ultimo bit (il settimo) indica il bit del blinking
(lampeggio).
Bye.
Jo Parrello - OWL/C++ Programmer
http://www.geocities.com/SiliconValley/Hills/8145
(
jopar...@geocities.com
)

bkc = (textattr and $70) shr 4 ;
Non male, si vede che un po' di "reverse engineering" puo' fare solo
bene ai programmatori :-))). Scherzo, basterebbe studiarsi i sorgenti
della Run-Time Library.


procedure TEXTCOLOR e TEXTBACKGROUND?
Analizzando la variabile "TextAttr" in CRT.
E' una variabile di tipo "byte" cosi' strutturata :
[bit di blinking][R][G][B][intensita' foreground][r][g][b]
R G e B costituiscono nel complesso il colore del background.
r g e b invece quello del foreground.
Un'impostazione del tipo 
   textcolor(7);
   textbackground(2);
Equivale a 
 
   textattr := 7 shl 4 + 2 ;
Quindi e' possibile "catturare" i due colori con le seguenti formule :
fgc = textattr and $07 ;
bkc = (textattr and $70) shr 4 ;
--
Posted from 
itaca.ulysse.it
 [195.223.254.1]
via Mailgate.ORG Server - 
http://www.mailgate.org

della Run-Time Library.
Guarda che non ho fatto nessuna reverse engineering, si tratta solo di logica,
dato che le cose stanno come ho gia' specificato sopra.
Studiarsi la Runtime Library sarebbe uno sforzo fastidioso e inutile.


Studiarsi la Runtime Library sarebbe uno sforzo fastidioso e inutile.
Io ho studiato la Object Windows Library della Borland proprio dai
sorgenti, e ne ho ricavato parecchio. Molto piu' di quanto avrei
potuto fare basandomi solo sull'Help in Linea o sui pietosi manuali.
Studiarsi la RTL del Turbo Pascal e' utile per capire un po'
l'interfacciamento tra Assembler e Turbo Pascal, un po' dei limiti
intrinseci del DOS e tante altre cosette, che magari possono sfuggire
leggendo l'Help in linea o altri manuali.
Bye,
Joe "Shagged-Off" Parrello (for a free planet)
FreePlanet (
http://members.it.tripod.de/~FreePlanet/
)
ISD Online (
http://members.it.tripod.de/~ISDOnline/
)
For contributors : 
jof...@geocities.com

leggendo l'Help in linea o altri manuali.
Ma fammi il piacere !
E' tutto scritto sui manuali !...
E poi i sorgenti della RTL del TP non ti vengono distribuiti...


E poi i sorgenti della RTL del TP non ti vengono distribuiti...
Ah no, peccato che su Internet sono disponibili ovunque, e per giunta
del Borland Pascal 7. Girati un po' i siti ftp e li troverai.
Bye.
Jo.

del Borland Pascal 7. Girati un po' i siti ftp e li troverai.
Dire : "i sorgenti della RTL del TP non ti vengono distribuiti..."
e' diverso dal dire "i sorgenti della RTL non possono essere reperiti da nessuna
parte..."
Spero che tu ne capisca la differenza...


Spero che tu ne capisca la differenza...
La differenza la capisco. Ma tu dovresti capire che spesso alcune case
software possono produrre a posteriori degli addendum per i loro
prodotti software (pensa alle suite di ufficio per esempio) che sono
disponibili solo su Internet oppure previo invio di un altro CD. Per
il discorso delle RTL io mi rifaccio ai sorgenti di OWL del Borland
C++. Chiaro che anche quest'ultimo compilatore non ha i sorgenti della
RTL nel CD (vanno acquistati a parte). Ora io non so se e' giusto che
i sorgenti, per Borland, vengano considerati come un addendum gratuito
o a pagamento (sono fatti che riguardano la loro politica di
marketing), ma io ritengo che debbano essere compresi nel pacchetto.
Almeno alla luce di quanto si sta facendo in questi ultimi anni dove
moltissimo software (pensa a Linux ad esempio) viene venduto assieme
ai sorgenti. E pensa anche a quanti errori di programmazione (bugs) si
possono evitare nei programmi commerciali se il loro sorgente fosse a
disposizione dei programmatori piu' attenti. E ti garantisco che vista
la complessita' di Windows, e' proprio un toccasana avere la sicurezza
di metter mani su un programma corretto e riveduto piu' volte da
parecchi programmatori (e non costruito da pochi programmatori e
testato da parecchie persone).
Bye.
Jo.

testato da parecchie persone).
Dire "programma commerciale + suoi sorgenti" e' una contraddizione in termini.
Che senso ha venderti un programma, se poi devo darti anche i sorgenti ?
A questo punto te lo regalo, e poi come mangio ?
E il copyright dove va a finire ?
Io Borland non ho cosi' tanti soldi da finanziare cosi' tante cause di plagio !
A tutti piacerebbe il "comunismo informatico", ma nessuno piu' avrebbe di che
mangiare...


mangiare...
Il web e' pieno di materiale gratuito, di siti gratuiti, di servizi
gratuiti, ma tutti hanno di che mangiare. Chiaro che vi sono dei
limiti, ma si puo' vivere con tali limiti, rispettando pertanto i vari
motivi di chi li adotta. Non penso che Borland sarebbe fallita se
avesse incluso i sorgenti della sua RTL sia nel TP che nel compilatore
C++, penso che avrebbe avuto piu' seguito di quello che ha avuto.
Chiaro che e' una mia opinione.
P.S. Mi sembra che possiamo concludere il thread.
Bye.

Chiaro che e' una mia opinione.
Dalla quale io mi permetto di distanziarmi in modo diametralmente opposto.
Io il pascal e il C li conosco come le mie tasche, e non ho mai letto una riga
di sorgente di alcuna libreria, perche' non mi e' mai servito e sono fortemente
convinto che non serva proprio a nessuno !
Eppure oggi, per quanto ti sembri strano, mi trovo a costruire compilatori. 
Se pensi che espressioni del tipo :
fgc = textattr and $07 ;
bkc = (textattr and $70) shr 4 ;
derivino da un "reverse engineering" attuato sulle librerie di run-time, be'
allora hai dei problemi con la programmazione in generale !


allora hai dei problemi con la programmazione in generale !
Infatti, non ho mai pensato di mangiare e di crearmi una vita su di
essa. Il mio lavoro non e' basato sull'informatica, anche se sono piu'
di sedici anni che ci sto dietro. Saro' un cretino o un imbecille in
informatica, ma vivo molto bene e felicemente. E, scusami la
franchezza, questo e' l'importante.
Bye.
Jo.

franchezza, questo e' l'importante.
Le tue parole sono davvero avvilenti !!!!


Le tue parole sono davvero avvilenti !!!!
Sentirti ancora parlare e' un vero piacere. Non ho mai riso tanto in
vita mia. Condoglianze per il tuo futuro.
Bye.
Jo.

serie di messaggi.
Non hai piu' niente da dire. Meglio cosi'.
Bye.
Jo.

On 5 Mar 1999 13:01:32 +0100, 
andrea_...@bigfoot.com
 (Andrea


AutoCad e' arrivato alla versione 14 e non solo per miglioramenti !!!
 A chi serve veramente???
 Ecco un bel quesito... molti lo comperano e cosi' tutti i 
collaboratori si devono adeguare.... direi che e' marketing indotto e 
non tecnica di programmazione.
 Ora placate i vostri animi.. riflettete bene e torniamo a parlare 
serenamente di programmazione... c'e' sempre da imparare. Io non so 
piu' programmare e ogni volta che tocco i miei vecchi programmi mi 
pare di violentarli.
 Quante linee di Basic, Pascal C Assembler Fortran Modula scrissi.. mi
pareva di saper tutto...perdonatemi
 ...cerco di imparare ma ancora non so programmare.
Sent With pronews 1.0 Reg.
 TOgliere Nononospam dall'indirizzo.

 ...cerco di imparare ma ancora non so programmare.
Dipende a che livello facevi programmazione.
Possiamo concordare che ci sia sempre da imparare ma per quanto riguarda il non
saper programmare, ritengo che cio' che vale per se stessi non sia esportabile a
tutti.
Andrea Laforgia
-------------------------------------
(grattatio pallarum omnia mala fugit)


entrambi...
[CUT]
Infatti, per me il thread e' concluso.
Bye.
Jo.

 saper programmare, ritengo che cio' che vale per se stessi non sia esportabile a tutti.
 La presuunzione e' una delle facce dell'ignoranza...
 Ora resta pure sulla tua collina.. io non ci salgo .. la puzza 
intorno e' troppo forte....
