Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
Con Midnight, Blizzard tenta il colpaccio: il player housing sbarca finalmente su Azeroth insieme a una Quel'Thalas ricostruita da zero. Tra il dramma della famiglia Ventolesto e il nuovo Prey System, ecco com'è la nuova espansione di World of Warcraft
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-04-2006, 14:28   #1
Unrue
Senior Member
 
L'Avatar di Unrue
 
Iscritto dal: Nov 2002
Messaggi: 6859
Funzione globale in C++

Con il Borland C++ Builder 6 sto sviluppando un programma che crea e risolve labirinti. E' un labirinto 8x8 . Ho associato ad ogni bottone del labirinto una funzione che chiama una procedura, del tipo:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
genera_iniziofine(array_bottoni,1,iniziofine);

}

Il problema è che ho 64 funzioni di questo tipo nel codice, ognuna gestisce il click del bottone. Siccome l'evento che scatena è lo stesso per tutti i bottoni, mi chiedevo se c'e' il modo di fare una funzione globale che gestisce tutti e 64 i bottoni, in modo che gli passo il bottone che genera l'evento e da li' richiama la procedura.

Un altro problema che ho incontrato è il seguente: quando trovo il percorso che risolve il labirinto, gli dico di cambiare colore ai bottoni facenti parte del percorso nel seguente modo:

Button1->Brush->Color=clBlue;

ma non cambia il colore, sembra che alcune proprietà dei bottoni siano bloccate. Lo stesso lo fa se voglio cambiare l'aspetto del puntatore del mouse.

Ultima modifica di Unrue : 14-04-2006 alle 14:32.
Unrue è online   Rispondi citando il messaggio o parte di esso
Old 15-04-2006, 13:40   #2
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
non serve che la funzione sia globale: basta che crei l'event handler per il primo bottone e poi lo assegni anche a tutti gli altri nell'Object Inspector.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 15-04-2006, 14:05   #3
Unrue
Senior Member
 
L'Avatar di Unrue
 
Iscritto dal: Nov 2002
Messaggi: 6859
Quote:
Originariamente inviato da 71104
non serve che la funzione sia globale: basta che crei l'event handler per il primo bottone e poi lo assegni anche a tutti gli altri nell'Object Inspector.
Allora, ho provato con due bottoni, dicendo che se clicco il primo cambia il Caption a X. Lo stesso evento l'ho messo nel bottone 2. Se clicco il bottone 2 mi mette il Caption del bottone 1 a X. Pero' non è esattamente quello che volevo. Io volevo che, cliccando sul secondo bottone, la sua etichetta diventasse X, non quella del primo bottone. Cioè, vorrei creare un evento unico per tutti i bottoni che pero' si riflette sul bottone che clicco.
Unrue è online   Rispondi citando il messaggio o parte di esso
Old 15-04-2006, 16:53   #4
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
usa Sender, serve a quello
castalo a TButton, o quello che è.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 15-04-2006, 17:01   #5
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2788
Non so come funziona nel c++, xò se è come nel VB si deve dare a tutti i bottoni lo stesso nome, in questo modo si crea un array di bottoni, identificabili da un indice (index), quando parte l'evento associato al click basta controllare l'index del tasto premuto e agire di conseguenza.
X quanto riguarda il colore del bottone, sempre se è come nel VB, c'è una proprietà del bottone (in VB si kiama "style") che indica se il bottone è "Standard" o ha una grafica. Mettendo "Graphical" puoi cambiare il colore.
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 18-04-2006, 20:11   #6
Unrue
Senior Member
 
L'Avatar di Unrue
 
Iscritto dal: Nov 2002
Messaggi: 6859
Quote:
Originariamente inviato da wingman87
Non so come funziona nel c++, xò se è come nel VB si deve dare a tutti i bottoni lo stesso nome, in questo modo si crea un array di bottoni, identificabili da un indice (index), quando parte l'evento associato al click basta controllare l'index del tasto premuto e agire di conseguenza.
X quanto riguarda il colore del bottone, sempre se è come nel VB, c'è una proprietà del bottone (in VB si kiama "style") che indica se il bottone è "Standard" o ha una grafica. Mettendo "Graphical" puoi cambiare il colore.
L'array di bottoni l'ho già creato, pero' non ho ben chiaro come fare la funzione che gestisce tutti i click, dato che me ne crea una per ogni bottone.
Unrue è online   Rispondi citando il messaggio o parte di esso
 Rispondi


ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
GPU NVIDIA e connettori che si sciolgono...
Gli smartphone Samsung ed Apple sono i p...
PC più cari in arrivo: il boom de...
Tesla potrebbe realizzare un SUV elettri...
Secondo Elon Musk FSD è più...
Anche Cloudflare fissa il 2029 per la si...
Hacker sfruttano da mesi un bug segreto ...
ASUSTOR Lockerstor 24R Pro Gen2: 24 bay ...
Rigetti supera la soglia dei 100 qubit: ...
eFootball raggiunge il miliardo di downl...
Come provare OpenClaw facilmente grazie ...
Microsoft conferma: questo glitch dell'o...
Toyota bZ7: una berlina da oltre 5 metri...
Artemis II, le prime foto del lato nasco...
Sempre più pubblicità su YouTube: arriva...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:37.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v