* * * *

Privacy Policy

Blog italiano

Clicca qui se vuoi andare al blog italiano su Lazarus e il pascal.

Forum ufficiale

Se non siete riusciti a reperire l'informazione che cercavate nei nostri articoli o sul nostro forum vi consiglio di visitare il
Forum ufficiale di Lazarus in lingua inglese.

Lazarus 1.0

Trascinare un file nel programma
DB concetti fondamentali e ZeosLib
Recuperare codice HTML da pagina web
Mandare mail con Lazarus
Stabilire il sistema operativo
Esempio lista in pascal
File INI
Codice di attivazione
Realizzare programmi multilingua
Lavorare con le directory
Utilizzare Unità esterne
TTreeView
TTreeview e Menu
Generare controlli RUN-TIME
LazReport, PDF ed immagini
Intercettare tasti premuti
Ampliare Lazarus
Lazarus e la crittografia
System Tray con Lazarus
UIB: Unified Interbase
Il file: questo sconosciuto
Conferma di chiusura di un applicazione
Liste e puntatori
Overload di funzioni
Funzioni a parametri variabili
Proprietà
Conversione numerica
TImage su Form e Panel
Indy gestiore server FTP lato Client
PopUpMenu sotto Pulsante (TSpeedButton)
Direttiva $macro
Toolbar
Evidenziare voci TreeView
Visualizzare un file Html esterno
StatusBar - aggirare l'errore variabile duplicata
Da DataSource a Excel
Le permutazioni
Brute force
Indy 10 - Invio email con allegati
La gestione degli errori in Lazarus
Pascal Script
Linux + Zeos + Firebird
Dataset virtuale
Overload di operatori
Lavorare con file in formato JSON con Lazarus
Zeos ... dietro le quinte (prima parte)
Disporre le finestre in un blocco unico (come Delphi)
Aspetto retrò (Cmd Line)
Lazarus 1.0
Come interfacciare periferica twain
Ubuntu - aggiornare free pascal e lazarus
fpcup: installazioni parallele di lazarus e fpc
Free Pascal e Lazarus sul Raspberry Pi
Cifratura: breve guida all'uso dell'algoritmo BlowFish con lazarus e free pascal.
Creare un server multithread
guida all'installazione di fpc trunk da subversion in linux gentoo
Indice
DB concetti fondamentali e connessioni standard
Advanced Record Syntax
DB concetti fondamentali e DBGrid
DB concetti fondamentali e TDBEdit, TDBMemo e TDBText
Advanced Record Syntax: un esempio pratico
Superclasse form base per programmi gestionali (e non)
Superclasse form base per programmi gestionali (e non) #2 - log, exception call stack, application toolbox
Superclasse form base per programmi gestionali (e non) #3 - traduzione delle form
Superclasse form base per programmi gestionali (e non) #4 - wait animation
Un dialog per la connessione al database:TfmSimpleDbConnectionDialog
Installare lazarus su mac osx sierra
immagine docker per lavorare con lazarus e free pascal
TDD o Test-Driven Development
Benvenuto! Effettua l'accesso oppure registrati.
Giugno 14, 2026, 12:06:06 am

Inserisci il nome utente, la password e la durata della sessione.

117 Visitatori, 1 Utente
 

Autore Topic: [Risolto] formkeydown non rileva la combinazione tasti Shift+Tab  (Letto 12832 volte)

petrusic

  • Hero Member
  • *****
  • Post: 725
  • Karma: +0/-0
Re:formkeydown non rileva la combinazione tasti Shift+Tab
« Risposta #15 il: Maggio 08, 2026, 02:41:26 pm »
il tuo uso del TAB mi ha spiazzato perchè non uso mai combinazioni di sistema o simili (tipo TAB o SHIFT TAB appunto) per gestire
l'input sulle mie applicazioni. TAB e SHIFT TAB hanno un loro ruolo già prestabilito e quindi usarle per altro è controproducente.
Come, come?
E' vero che non programmo più per scopi professionali. Quando cominciai a programmare, da professionista, non esistevano  i pc ed un elaboratore con 32 KB di memoria centrale, corredato di unita a dischi, unità a nastro, stampanti e lettori di schede perforate(si, c'erano anche quelli), occupava un'area di circa 40 m2, ma da quando ho cominciato a   . . .   passare il tempo scrivendo programmi ad uso e consumo personale su pc, ho sempre avuto a che fare con l'inout da tastiera, ma non ho mai letto niente su come riconoscere l'input proveniente dalla tastiera non necessariamente attraverso i valori esadecimali prodotti dalla pressione di un qualsiasi tatso.

La tua esperienza mi incuriosisce. Potresti darmi uno spunto?
« Ultima modifica: Maggio 08, 2026, 02:44:37 pm da petrusic »
ciao ciao

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1794
  • Karma: +53/-0
  • Prima ascoltare, poi decidere
Re:formkeydown non rileva la combinazione tasti Shift+Tab
« Risposta #16 il: Maggio 08, 2026, 03:59:35 pm »
Scusa, non volevo offenderti in alcun modo.
Il mio discorso era semplicemente legato al fatto della progettazione, ossia al fatto che prima di "buttare" giù codice sarebbe necessario "buttare" giù un pò di progettazione ... cioè linee guida su cosa l'applicativo dovrà fare, e poi sviscerare tutti i singoi punti a cascata. E' buona pratica, non sempre seguita: e quando io non la seguo sorgono sempre problemi e imprevisti ... e ogni volta dico "non ci cascherò più" ... ma non serve a nulla, tanto ci ricascherò comunque.

Poi è chiaro che il codice seguirà un suo percorso, ma generalmente in ambito produttivo si segue un minimo di progetto, che serve a più scopi: intanto ad inquadrare tempi, metodi, risorse e poi per fornire a chiunque prenderà in mano il progetto (o si unisca come gruppo di lavoro) una indicazione sulla via percorsa.

Comunque anche quando ho iniziato io non esistevano i PC, solo UNIX e CP/M. E a quel tempo i codici da tastiera li leggevo in hardware non come codici ma come ROW/COLUMN (essenzialmente abbinati alla connessione elettronica) visto che l'hardware riportava quelli come dati. Poi si abbinavano da tabelle il codice dei tasti e non esistevano 1000 formati di tastiera, ma meno di una decina.

Io ho iniziato durante la scuola a sviluppare prima parti di FIRMWARE da usare nei sistemi civili CON MICROCONTROLLORI dell'epoca, poi con L'AVVENTO DEI PRIMI pc a modificare ed integrare i bios esistenti (due all'epoca per tutti i sistemi) sempre per usi civili (sportelli ATM ad esempio).
Nel contempo ho incominciato a produrre i primi programmi di gestione magazzino per le piccole attività della mia zona. In seguito mi sono dedicato in buona parte al mondo industriale (CAD / CAM ed integrazione diretta con i CNC senza operatore) Siamo tra fine anni 70 a metà anni 80.
Schede perforate (anzi nastri, perchè generlamente erano schede lunghe una decina di metri o anche più) ne ho viste sino alla nausea, anzi più che viste mi toccava fare i programmi per la loro scrittura e lettura, e per la prima volta usai seriamente l'unità NIBBLE, visto che la maggior parte delle macchine industriali lavorano a 4 bit + 1 di controllo.
A quel tempo sviluppavo sotto XENIX SCO o altri SO proprietari derivati da UNIX (dalla famosa versione SYSTEM 7) e sotto i primi DOS. Linguaggi produttivi erano l'assmebler e il C, ed il Pascal come complemento visto che a quell'epoca non era fornito di tutto il necessario per operare interamente nel mio campo di lavoro. INT08, INT10, INT13 e INT16 furono per diversi anni le funzioni più usate in assoluto.

Poi la storia è lunga ma non voglio tediare ulteriormente chi ci legge.
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

petrusic

  • Hero Member
  • *****
  • Post: 725
  • Karma: +0/-0
Re:formkeydown non rileva la combinazione tasti Shift+Tab
« Risposta #17 il: Maggio 08, 2026, 04:46:29 pm »
Scusa, non volevo offenderti in alcun modo.
Io non sono offeso. La mia espressione Come, come? è stata una manifestazione di meraviglia perchè ho  capito che tu gestisci il riconoscimento dei codici prodotti dalla pressione dei vari tasti senza interrogare il Key prodotto.

Ma non mi hai detto se ho capito male o se mi puoi confidare dove potrei imparare quella tecnica, sempre che esista una guida.
Ho sempre gradito ed apprezzato i tuoi utilissimi suggerimenti. ;)
« Ultima modifica: Maggio 08, 2026, 04:48:17 pm da petrusic »
ciao ciao

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1794
  • Karma: +53/-0
  • Prima ascoltare, poi decidere
Re:formkeydown non rileva la combinazione tasti Shift+Tab
« Risposta #18 il: Maggio 08, 2026, 07:40:24 pm »
Io non sono offeso. La mia espressione Come, come? è stata una manifestazione di meraviglia perchè ho  capito che tu gestisci il riconoscimento dei codici prodotti dalla pressione dei vari tasti senza interrogare il Key prodotto.
Ma non mi hai detto se ho capito male o se mi puoi confidare dove potrei imparare quella tecnica, sempre che esista una guida.
Ho sempre gradito ed apprezzato i tuoi utilissimi suggerimenti. ;)
In realtà non è che riconosco i tasti, riconosco le azioni dei tasti, ma quelle basi. Il <TAB> (ossia il tasto TAB) ad esempio muove il focus tra i vari controlli, il tasti freccia lo muove tra  le caselle di una griglia. Inoltre Delphi ha le "gesture" integrate quindi ci sono tutta una serie di azioni (il TAP ad esempio o lo ZOOM) che sono già integrate e possono scatenare già un evento.
E per tutte le altre azioni uso gli eventi tipo OnKeyDOwn o OnKeyPress come hai fatto tu.

Poi ad esempio ogni volta che entro in un controllo (OnEnter) con l'immissione attiva, visualizzo una tastiera virtuale (il tipo dipende da cosa accetta il controllo) e ogni volta che premo il tasto <INVIO> o esco dal controllo chiudo la tastiera, tutto ciò quasi in automatico con due righe di codice complessive per tutto il programma (che sempre in Delphi potrebbe essere in automatico completamente ... ma sono troppo pigro per implementarlo ...).

Non è che ci sia un manuale per ciò, è solo la necessità e l'esperienza che mi ha fatto sviluppare certe soluzioni ... che per me vanno bene ma magari per altri no.

P.S.: poi, un'altra cosa che sicuramente mi agevola è che sviluppo prevalentemente per Windows e quindi conosco anche soluzioni API dirette del sistema operativo che possono aiutare in certe situazioni.
« Ultima modifica: Maggio 08, 2026, 07:45:49 pm da DragoRosso »
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

petrusic

  • Hero Member
  • *****
  • Post: 725
  • Karma: +0/-0
Re:formkeydown non rileva la combinazione tasti Shift+Tab
« Risposta #19 il: Maggio 08, 2026, 09:41:20 pm »
Ho capito, grazie.
A me piace molto l'idea di sfruttare la funzione IsShortCut. Ho già fatto una prova sostituendola all'evento OnKeyDown per una ComboBox ed ha funzionato perfettamente. Penso che posso mettere in pratica il metodo anche per tutte le altre caselle della Form.
Ho pensato anche come creare un ingranaggio che mi permetta di capire quale casella è attiva al momento e fare partire una routine di controllo per quella casella, proprio come se fosse la sua procedura KeyDown.
 :D
ciao ciao

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1794
  • Karma: +53/-0
  • Prima ascoltare, poi decidere
Re:formkeydown non rileva la combinazione tasti Shift+Tab
« Risposta #20 il: Maggio 08, 2026, 10:52:05 pm »
Se vuoi un piccolo suggerimento, basta che nell'evento IsShortCut leggi la proprietà della Form -> ActiveControl.
Poi a seconda del controllo attivo puoi andare a rilevare il sottoelemento, come la cella di una griglia o altro.

In questo modo sai a quale componente / sottocomponente è legato l'evento stesso (cioè IsShortCut).

Codice: [Seleziona]
function TFormxxx.IsShortcut(.....
begin
   if ....
   if ActiveControl = Button1 then
     begin
         ......
     end;
   if ActiveControl = StringGrid1 then
     begin
        .......
     end;

end;
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

petrusic

  • Hero Member
  • *****
  • Post: 725
  • Karma: +0/-0
Re:formkeydown non rileva la combinazione tasti Shift+Tab
« Risposta #21 il: Maggio 14, 2026, 12:16:00 pm »
@ DragoRosso
Ho seguito il tuo ultimo suggerimento ed ora sto cercando di rendere funzionale e funzionante il tutto. É per ciò  che avrei bisogno di chiarire una mia incomprensione sulle istruzioni conclusive della :
Codice: [Seleziona]
function TForm1.IsShortCut(var Msg: TLMKey): Boolean;
begin
  · · ·
  if (Msg.CharCode = VK_TAB) and (GetKeyState(VK_SHIFT) < 0) then
    begin
      writeln('Shift+Tab intercettato !!! YAHOO');
      Result := True;
    end
  else
    Result := inherited;  ** ? **    Che cosa restituisce ?
end;

Infatti, mentre riesco a comprendere       Result := True/False, entrambi  valori booleani, 
mi risulta incomprensibile        Result := inherited

Se la traduzione di    inherited  è  "ereditato" e  l'alternativa a "True" è soltanto "False", allora, in questo caso ,
scrivere Result := inherited è lo stesso che scrivere  Result := False  ??
ciao ciao

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1794
  • Karma: +53/-0
  • Prima ascoltare, poi decidere
Re:formkeydown non rileva la combinazione tasti Shift+Tab
« Risposta #22 il: Maggio 14, 2026, 12:49:14 pm »
"Inherited" indica che deve essere chiamata la funzione originale, e viene usato quando si eseguono gli override (se vedi IsShortCut è defintia come override).

Quindi "Result" avrà come valore quello ritornato dalla funzione originale.

Quando si eseguono gli override è buona norma usare "inherited" quando non si esegue nulla nella propria funzione.

E' tipico usarlo quando si definiscono a runtime distruttori o creatori di classi o oggetti derivati.
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

petrusic

  • Hero Member
  • *****
  • Post: 725
  • Karma: +0/-0
Re:formkeydown non rileva la combinazione tasti Shift+Tab
« Risposta #23 il: Maggio 19, 2026, 09:51:34 pm »
Non so perchè, ma la "function TFormX.IsShortCut " non restituisce più il char "9" del tasto |TAB| e "GetKeyState(VK_SHIFT)" NON contiene più "-1"
Ecco cosa ho trovato:
Citazione
Msg.CharCode = 16
public var TLMKey.CharCode: Word
/usr/share/lazarus/4.6.0/lcl/lmessages.pp(342,5)
Description
Virtual Key constant (VK_XXX).
Package
LCLBase                                                                             
--------------------------------------------------------------------------
GetKeyState(VK_SHIFT) = <Error: calling functions not allowed at 12: "(">
const VK_SHIFT = 16
/usr/share/lazarus/4.6.0/lcl/lcltype.pp(419,3)
See also VK_LSHIFT, VK_RSHIFT
 (Source)
Package
LCLBase
Ora sono proprio nel pallone !!!

Ah, dimenticavo Ecco la parte iniziale della mia function TForm2.IsShortCut
Codice: [Seleziona]
function TForm2.IsShortCut(var Msg: TLMKey): Boolean;
var
 . . .
  codTasto: Integer;

begin
  if (Msg.CharCode = VK_TAB) AND (GetKeyState(VK_SHIFT) < 0) then   
  begin
    codTasto:= VK_TAB * (-1);      // imposto il campo codTasto in negativo per riconoscere la pressione combinata di SHIFT+TAB (Tabulazione Indietro)
  end
  else begin
    codTasto:= Msg.CharCode;
  end;
 . . .
ciao ciao

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1794
  • Karma: +53/-0
  • Prima ascoltare, poi decidere
Re:formkeydown non rileva la combinazione tasti Shift+Tab
« Risposta #24 il: Maggio 19, 2026, 10:09:24 pm »
Scusa, ma la chiamata a "inherited" ?
Se fai l'override devi chiamare sempre la funzione originale ... la catena delle chiamate dovrebbe sempre essere rispettata.
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

petrusic

  • Hero Member
  • *****
  • Post: 725
  • Karma: +0/-0
Re:formkeydown non rileva la combinazione tasti Shift+Tab
« Risposta #25 il: Maggio 19, 2026, 10:33:15 pm »
Scusa, ma la chiamata a "inherited" ?
Se fai l'override devi chiamare sempre la funzione originale ... la catena delle chiamate dovrebbe sempre essere rispettata.
Mi dispiace non avere riportato tutto il codice della function IsShortCut
Codice: [Seleziona]
function TForm2.IsShortCut(var Msg: TLMKey): Boolean;
var
  swTrovato: Boolean = False;

  i: Integer;

  codTasto: Integer;

begin
  if (Msg.CharCode = VK_TAB) AND (GetKeyState(VK_SHIFT) < 0) then   // sono stati premuti i tasti SHIFT+TAB (Cursore Indietro)
  begin
    codTasto:= VK_TAB * (-1);      // imposto il campo codTasto in negativo per riconoscere la pressione combinata di SHIFT+TAB (Tabulazione Indietro)
  end
  else begin
    codTasto:= Msg.CharCode;
  end;
  case codTasto of
    VK_RETURN:    // è stato premuto il tasto |INVIO(13)|
      begin
        AttivoPulsOK;
        if swdigCompleta then
        begin
          BpulsOk.SetFocus;
        end;
      end
    else begin
      swFineDigit:= False;
    end;
  end;
  end
  else begin
    if ActiveControl = Form2.EImportFormula then
    begin
      mioEImportFormulaKeyDown(codTasto);
    end
    else begin
      if ActiveControl = Form2.ESimbEU then
      begin
        mioESimbEUKeyDown(codTasto);
      end
      else begin
        if ActiveControl = Form2.CBvoceCtoCas then
        begin
          codTasto:= mioCBvoceCtoCasKeyDown(codTasto);
        end
        else begin
          if ActiveControl = Form2.CBvoceSotCtoCas then
          begin
            codTasto:= mioCBvoceSotCtoCasKeyDown(codTasto);
          end
          else begin
            if ActiveControl = Form2.CBBenef then
            begin
              mioCBBenefKeyDown(codTasto);
            end;
          end;
        end;
      end;
    end;
  end;
  if (Msg.CharCode = VK_TAB) AND (GetKeyState(VK_SHIFT) < 0) then
  begin
    Result:= True;
  end
  else begin
    Result:= inherited;   // "Inherited" indica che deve essere chiamata la funzione originale e viene usato quando si eseguono gli Override
  end;
end;   
Ora ho riportato tutto. Avevo omesso l'ultima parte perchè già all'avvia della funzione i valori contenuti in Msg.CharCode e in GetKeyState(VK_SHIFT) NON sono più quelli che fino a ieri erano corretti.
ciao ciao

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1794
  • Karma: +53/-0
  • Prima ascoltare, poi decidere
Re:formkeydown non rileva la combinazione tasti Shift+Tab
« Risposta #26 il: Maggio 20, 2026, 12:04:32 am »
Per sapere se la funzione ... funziona, metti un break point dove l'IF viene sodisfatto (sulla linea "codTasto:= VK_TAB * (-1);") .
Se non si ferma mai li, anche premendo i tasti corretti, prova ad tornare al codice originale di isShortCut (quello prima della tua modifica) e ritenata li con un breakpoint.
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

petrusic

  • Hero Member
  • *****
  • Post: 725
  • Karma: +0/-0
Re:formkeydown non rileva la combinazione tasti Shift+Tab
« Risposta #27 il: Maggio 20, 2026, 03:02:27 pm »
Per sapere se la funzione ... funziona, metti un break point dove l'IF viene sodisfatto (sulla linea "codTasto:= VK_TAB * (-1);") .
Questa è una verifica già fattae ti assicuro che ora non funziona.

Se non si ferma mai li, anche premendo i tasti corretti, prova ad tornare al codice originale di isShortCut (quello prima della tua modifica) e ritenata li con un breakpoint.
S, ci avevo pensato, ma stamani non ho avuto tempo per riprovare.
Ho provato ora e  . . .  f u n z i o n a.

Quindi, ahimè, devo rivedere il mio codice, aggiunto dopo.
 :-\
Ti faccio sapere.
ciao ciao

petrusic

  • Hero Member
  • *****
  • Post: 725
  • Karma: +0/-0
Re:formkeydown non rileva la combinazione tasti Shift+Tab
« Risposta #28 il: Maggio 20, 2026, 06:45:02 pm »
Ho rivisto il mio codice ed ho cercato di limitare al minimo le mie modifiche all'interno della funcion IsShortCut. Ho provato e l'intercettazione dei tasti Shift+TAB avviene regolarmente. Ecco la nuova struttura della funzione dopo la mia ultima personalizzazione:
Codice: [Seleziona]
function TForm2.IsShortCut(var Msg: TLMKey): Boolean;
var
  codTasto: Integer;

begin
  WriteLn('function TForm2.IsShortCut');
  codTasto:= Msg.CharCode;
  if (Msg.CharCode = VK_TAB) and (GetKeyState(VK_SHIFT) < 0) then
  begin
    codTasto:= VK_TAB * (-1);      // imposto il campo codTasto in negativo per riconoscere la pressione combinata di SHIFT+TAB (Tabulazione Indietro)
    ShowMessage('Shift+Tab intercettato !!! - codTasto = <' + IntToStr(codTasto)+ '>');
    ProcIsShortCut_mio(codTasto);
    Result := True;
  end
  else begin
    Result := inherited;
  end;
end;                           
Ho inserito all'interno della funzione soltanto il richiamo di una mia procedura, la ProcIsShortCut_mio. É dentro quest'ultima che ho preparato l'individuazione del Controllo Grafico attivo al momento e procedere quindi con la gestione dell'insieme di voci appartenenti ad esso:
Codice: [Seleziona]
procedure ProcIsShortCut_mio(codTasto: Integer);
begin
  case codTasto of
    VK_RETURN:    // è stato premuto il tasto |INVIO(13)|
      begin
        AttivoPulsOK;
        if swdigCompleta then
        begin
          Form2.BpulsOk.SetFocus;
        end;
      end
    else begin
      if Form2.ActiveControl = Form2.CBDescr then
      begin
        mioCBDescrKeyDown(codTasto);
      end
      else begin
        if Form2.ActiveControl = Form2.CBDescr then
        begin
          mioCBDescrKeyDown(codTasto);
        end
        else begin
          if Form2.ActiveControl = Form2.CBvoceCtoCas then
          begin
            codTasto:= mioCBvoceCtoCasKeyDown(codTasto);
          end
          else begin
            if Form2.ActiveControl = Form2.CBvoceSotCtoCas then
            begin
              codTasto:= mioCBvoceSotCtoCasKeyDown(codTasto);
            end
            else begin
              if Form2.ActiveControl = Form2.CBBenef then
              begin
                mioCBBenefKeyDown(codTasto);
              end;
            end;
          end;
        end;
      end;
    end;
     swFineDigit:= False;
  end;
end;                                                   
Ancora è tutto da verificare, però l'idea è questa. Così facendo non dovrei incorrere più in sgradite sorprese come quella vissuta ieri.

Però, prima di chiudere, voglio accertare con alcune prove pratiche il mio ragionamento.  :D
« Ultima modifica: Maggio 20, 2026, 06:48:35 pm da petrusic »
ciao ciao

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1794
  • Karma: +53/-0
  • Prima ascoltare, poi decidere
Re:formkeydown non rileva la combinazione tasti Shift+Tab
« Risposta #29 il: Maggio 20, 2026, 09:13:40 pm »
Consiglio:
la funzione IsShortCut di cui fai l'override è una funzione che viene chiamata all'interno del Main Thread (è una callback del sistema operativo e viene processata tramite un preciso messaggio di Windows, CM_??? qualcosa che non ricordo in questo momento).
Essendo chiamata dal sistema operativo è consigliabile che venga eseguita e liberata il prima possibile, senza effettuare elaborazioni pesanti, come ad esempio interazione con componenti grafici.

Quindi dentro li setta tutti i "flag" che ti servono, ma non fare processi pesanti.
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

 

Recenti

How To

Utenti
Stats
  • Post in totale: 20414
  • Topic in totale: 2452
  • Online Today: 119
  • Online Ever: 1525
  • (Giugno 08, 2026, 07:34:29 am)
Utenti Online
Users: 1
Guests: 117
Total: 118

Disclaimer:

Questo blog non rappresenta una testata giornalistica poiché viene aggiornato senza alcuna periodicità. Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n. 62/2001.