Oppure

Loading
05/06/10 10:57
Oneiros
Ciao ragazzi, sono nuovo del Forum :D
Sono al primo anno di università, frequento la facoltà di Informatica e sto sviluppando un progetto per il corso di Programmazione e Laboratorio...
Il mio programma è già terminato e adesso mi sto concentrando sul suo aspetto grafico: partendo dalla libreria Windows.h mi sono creato una libreria personale che mi consente di fare numerose operazioni grafiche (come cambiare colore al font, cambiare il colore di sfondo, centrare la finestra della console, ridimensionarla ecc...)

Il mio problema è che non riesco a fare alcuna operazioni sul Font della console se non quella di cambiarne il colore. Avrei bisogno di una funzione per cambiare la grandezza del carattere, una che ritorni la grandezza del carattere attualmente in uso e una per cambiare il tipo di carattere.

E' possibile tramite la libreria Windows.h?

Inoltre mi sarebbe utile una funzione che restituisca un Handle alla finestra della console (la funzione che ho trovato su internet funziona ma non mi piace come è implementata...)

Grazie mille ;)
Ultima modifica effettuata da Oneiros 05/06/10 11:02
aaa
05/06/10 11:13
Postato originariamente da Oneiros:
E' possibile tramite la libreria Windows.h?


Windows.h non è una libreria
05/06/10 11:39
Oneiros
Chiedo umilmente perdono -.-
complimenti per il bel trattamento che riservate ai nuovi
aaa
05/06/10 11:50
nessuno
Postato originariamente da Oneiros:

Chiedo umilmente perdono -.-
complimenti per il bel trattamento che riservate ai nuovi


Sei suscettibile ... E che ti hanno fatto ? :asd:

Ti è stato detto che windows.h non è una libreria (cosa che ti servirà nella tua carriera universitaria e quindi utile ...)

Per il tuo problema, intanto non ti consiglio di fare tutto questo sforzo su un'applicazione console. Se vuoi un completo controllo grafico, sviluppa una applicazione GUI non Console.

Per quanto riguarda la funzione dell'handle che non ti piace, a quale ti riferisci e perchè non ti piace se funziona?
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
05/06/10 12:10
Oneiros
Postato originariamente da nessuno:

Postato originariamente da Oneiros:

Chiedo umilmente perdono -.-
complimenti per il bel trattamento che riservate ai nuovi


Sei suscettibile ... E che ti hanno fatto ? :asd:

Ti è stato detto che windows.h non è una libreria (cosa che ti servirà nella tua carriera universitaria e quindi utile ...)

Per il tuo problema, intanto non ti consiglio di fare tutto questo sforzo su un'applicazione console. Se vuoi un completo controllo grafico, sviluppa una applicazione GUI non Console.

Per quanto riguarda la funzione dell'handle che non ti piace, a quale ti riferisci e perchè non ti piace se funziona?


Grazie "nessuno" per la tua risposta :)

Forse sono suscettibile, ma mi aspettavo una risposta meno fredda e meno "di sufficienza". Avrebbe potuto almeno spiegarmi perchè non è una libreria

Non credo che svilupperemo applicazioni GUI in C, vorrei migliorare per ora la mia applicazione Console (il progetto devo farla su quella :) )

Questa è la funzione dell'Handle che ho trovato su internet:

HWND getConsoleHwnd() {
    int bufSize = 1024;
    char newTitle[bufSize];
    char oldTitle[bufSize];
    GetConsoleTitle(oldTitle, bufSize);
    wsprintf(newTitle, "%d/%d", GetTickCount(), GetCurrentProcessId());
    SetConsoleTitle(newTitle);
    Sleep(40);
    HWND hwndFound = FindWindow(NULL, newTitle);
    SetConsoleTitle(oldTitle);
    return hwndFound;
}


Non mi piace perchè non credo che sia necessario cambiare il titolo della finestra :om:
aaa
05/06/10 12:27
nessuno
Postato originariamente da Oneiros:
Forse sono suscettibile, ma mi aspettavo una risposta meno fredda e meno "di sufficienza". Avrebbe potuto almeno spiegarmi perchè non è una libreria


Sai ... il fatto è che questo "equivoco" è fatto da quasi tutti quelli che frequentano forum di programmazione (e questo evidenzia il fatto che mancano di basi necessarie ...) e ripetere sempre le stesse cose, a volte, è fonte di "stress" ...

Vedere poi che lo dice anche chi frequenta "informatica", può fare "scappare" questo tipo di risposte ...

windows.h (come tutti i file .h) sono semplici "header file" (sorgenti che contengono dichiarazioni di funzioni, costanti, macro, tipi di dati ma NON contengono codice).
Le librerie (statiche .lib, .a o dinamiche .dll, .so) sono i file che contengono l'effettiva implementazione delle funzioni dichiarate negli include. Il codice vero e proprio sta in questi file.

Gli include sono necessari quando si compila, i secondi per la fase di linking ...

Non credo che svilupperemo applicazioni GUI in C, vorrei migliorare per ora la mia applicazione Console (il progetto devo farla su quella :) )


Purtroppo il supporto per i font delle applicazioni console non è elevato.

Esiste una API SetCurrentConsoleFontEx ma è diponibile solo da Windows Vista (e 2008) in poi. C'è, ma non è documentata (e quindi sconsigliata) una API SetConsoleFont.

Questa è la funzione dell'Handle che ho trovato su internet


Ma tu cerchi l'handle della tua applicazione console o di una applicazione console che sta girando nel tuo sistema?
Ultima modifica effettuata da nessuno 05/06/10 12:31
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
05/06/10 12:29
Postato originariamente da Oneiros:
Forse sono suscettibile, ma mi aspettavo una risposta meno fredda e meno "di sufficienza". Avrebbe potuto almeno spiegarmi perchè non è una libreria

Beh forse hai ragione. Windows.h non è una libreria, bensì un header contenente le dichiarazioni delle funzioni delle API di Windows.
05/06/10 13:26
Oneiros
Postato originariamente da nessuno:
Sai ... il fatto è che questo "equivoco" è fatto da quasi tutti quelli che frequentano forum di programmazione (e questo evidenzia il fatto che mancano di basi necessarie ...) e ripetere sempre le stesse cose, a volte, è fonte di "stress" ...

Vedere poi che lo dice anche chi frequenta "informatica", può fare "scappare" questo tipo di risposte ...


Purtroppo il nostro corso di programmazione è organizzato con i piedi ed il nostro professore è meno preparato di quello che ci faceva smanettare con Turbo Pascal in seconda media :_doubt:
Mi sto arrangiando da solo per imparare il C

windows.h (come tutti i file .h) sono semplici "header file" (sorgenti che contengono dichiarazioni di funzioni, costanti, macro, tipi di dati ma NON contengono codice).
Le librerie (statiche .lib, .a o dinamiche .dll, .so) sono i file che contengono l'effettiva implementazione delle funzioni dichiarate negli include. Il codice vero e proprio sta in questi file.

Gli include sono necessari quando si compila, i secondi per la fase di linking ...


Hai proprio ragione che mi mancano le basi, è la prima volta che leggo certe cose :asd: ma come ho detto non ho nessun punto di riferimento...
Pensavo (erroneamente a quanto pare) che "header" e "libreria" fossero sinonimi e avessero entrambe estensione .h.
Quindi è sbagliato fornire l'implementazione delle funzioni all'interno degli header file? E se è sbagliato, perchè i miei programmi compilano e funzionano tranquillamente con il mio header?

Esiste una API SetCurrentConsoleFontEx ma è diponibile solo da Windows Vista (e 2008) in poi. C'è, ma non è documentata (e quindi sconsigliata) una API SetConsoleFont.


Grazie cercherò su google ^__^

Ma tu cerchi l'handle della tua applicazione console o di una applicazione console che sta girando nel tuo sistema?


della mia applicazione
aaa