Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [delphi]: colorare una dbedit all'interno durante l'inserimento

    ciao a tutti,

    come faccio a colorare l'interno di una dbedit (evidenziare) quando un utente effettua l'inserimento??

    grazie

  2. #2
    dbedit1.SelectAll;


  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Dipende da cosa intendi per "evidenziare".
    Se intendi selezionare il testo contenuto nel controllo, è giusta l'indicazione del metodo SelectAll, anche se dovrebbe essere eseguito in automatico quando sposti il focus sul controllo se la proprietà AutoSelect è impostata a True.
    Se invece vuoi modificare il colore del controllo quando sposti il focus su di esso, come se dovessi accentuare la posizione di editing senza accontentarti del lampeggio del cursore, puoi definire gli eventi OnEnter e OnExit in modo simile a questo:
    codice:
    procedure TForm1.DBEdit1Enter(Sender: TObject);
    begin
      DBEdit1.Color := clYellow;
    end;
    
    procedure TForm1.DBEdit1Exit(Sender: TObject);
    begin
      DBEdit1.Color := clWindow;
    end;
    Se vuoi generalizzare questo comportamento per tutti i DBEdit posizionati sul form, puoi associare gli eventi a tali controlli e sostituire DBEdit1 con TDBEdit(Sender).
    La soluzione migliore è creare una nuova classe che deriva da TDBEdit che effettua automaticamente il cambio di colore quando si entra e si esce dal controllo, scavalcando i relativi metodi di gestione.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 1999
    Messaggi
    50
    lo so che non riguarda la discussione ma sono talmente pochi i conoscitori di delphi......
    .... e dovo usare questi trucchi!!!!


    Ho realizzato un semplice programmino che elabora una serie di dati.
    Vorrei che alla fine di tale elaborazione, il programma si chiudesse da solo.

    Come si fa????


    Grazie ciao
    ---------------
    Alepio
    " barcollo ma non MOLLO "

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Di quali trucchi parli?

    Ad ogni modo, se si tratta di un'applicazione Windows, puoi terminarla semplicemente chiudendo la finestra principale del programma MainForm. Se invece si tratta di un'applicazione Console, quando l'elaborazione è conclusa, non dovrebbe esserci il bisogno di provocare un'uscita forzata e il programma termina.
    Si tratta generalmente dei metodi più puliti per la chiusura di un programma; c'è chi suggerisce l'uso di Application.Terminate, ma in certi casi può provocare dei problemi se richiamata manualmente all'interno del codice, specialmente a fronte di risposta agli eventi.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 1999
    Messaggi
    50
    unit Unit1;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls;

    type
    TForm1 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);

    private
    public
    { Public declarations }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.FormCreate(Sender: TObject);
    var
    cont:integer;
    F: TextFile;
    S: string;
    begin
    cont:=1;
    AssignFile(F, 'update.txt');
    Rename(f, 'update' + inttostr(cont) + '.txt');
    CloseFile(F);

    end;


    end.

    Questa che vedi è una bozza, ma rende l'idea.

    Come vedi apro il file lo rinomino e poi lo chiudo.
    a questo punto il programma è finito.
    Se lo lascio così com'è riparte con l'apertura del file ma non lo trova più perchè lo ha già rinominato.
    Quindi vorrei che arrivato alla fine del comando closefile(F);
    il programma project1.exe si chiudesse da solo.
    grazie ciao
    ---------------
    Alepio
    " barcollo ma non MOLLO "

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Come fa ad eseguire l'operazione più volte?? Il codice che hai scritto dovrebbe essere eseguito una volta sola, quando il form viene creato e genera l'evento OnCreate. A parte questo aspetto, se il tuo programma deve semplicemente rinominare un file e poi chiudersi, perchè utilizzare un form?? Ti basterebbe inserire tutto nel programma principale e il programma terminerebbe automaticamente una volta eseguito il codice. Ancora meglio se crei un'applicazione di tipo console.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 1999
    Messaggi
    50

    non ci riesco

    non ci riesco............

    vedi sono alle prime armi.
    E non so come fare, puoi aiutarmi????
    prova a far funzionare quell'esempio che ti ho mandato.
    grazie
    ---------------
    Alepio
    " barcollo ma non MOLLO "

  9. #9
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Un'applicazione console è un programma che non fa uso di risorse GDI, cioè delle risorse grafiche di Windows. In parole povere, si tratta di un'applicazione che non utilizza alcuna interfaccia se non quella testuale a caratteri fornita al Prompt dei Comandi. Per creare un'applicazione di questo tipo (mi riferisco all'ambiente Delphi 6), scegli la voce di menu [New][Other...] e poi Console Application. Si aprirà una finestra di codice che rappresenta il listato del programma principale. Tra il begin e l'end inserisci il codice che hai specificato all'interno dell'evento FormCreate del programma vecchio.
    Una volta eseguito, il programma effettua i propri compiti e alla termina automaticamente.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.