Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: [Delphi] Tedit

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    1,003

    [Delphi] Tedit

    premetto ke ho delphi 2.0

    come si fa a prendere un valore dalla tedit e trasformarlo in un numero di tipo real?
    ho provato con strtoint ma funziona solo con gli interi
    vi prego aiutatemi!!



    ciao

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    1,003
    UP

  3. #3

    Re: [Delphi] Tedit

    Originariamente inviato da tia86
    premetto ke ho delphi 2.0

    come si fa a prendere un valore dalla tedit e trasformarlo in un numero di tipo real?
    ho provato con strtoint ma funziona solo con gli interi
    vi prego aiutatemi!!



    ciao
    Credo esista una funzione StrToFloat o qualcosa del genere

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Usa la funzione FloatToStr che ti mette a disposizione la unit SysUtils. Ecco un esempio di utilizzo:
    codice:
    procedure TForm1.Button1Click(Sender: TObject);
    var
      r: Extended;
    begin
      try
        r := StrToFloat(Edit1.Text);
      except
        r := 0;
      end;
      ShowMessage(FloatToStr(r));
    end;
    In questo esempio, il testo contenuto in una casella di testo Edit1 viene convertito in valore a virgola mobile e memorizzato in una variabile locale di tipo Extended. In caso di errore nella conversione (intercettato dal blocco try...except, la variabile reale viene impostata a 0. Una successiva conversione da reale a stringa è necessaria per poter mostrare il valore inserito in una casella di messaggio; la conversione viene questa volta implementata chiamando la FloatToStr.

    Spero di esserti stato d'aiuto.
    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    1,003
    ora ci provo
    grazie a tutti





    ciao

  6. #6
    A proposito... come si fa a sapere se l'utente in un Tedit appunto inserisce un numero (int o float che sia), delle lettere + numeri, delle lettere oppure niente? thx
    Pknews
    Open Source & open views

    In Iraq stanno scrivendo la Costituzione. Diamogli la nostra. A noi non serve più. (Daniele Luttazzi)

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Dal codice che ho suggerito a tia86 puoi facilmente dedurre che, nel caso in cui si verifichi l'eccezione, significa che è stato introdotto un testo non convertibile in numero, quindi contenente caratteri alfanumerici o simboli.
    Penso che esista anche un'istruzione Val in grado di dirti qual è il primo carattere non valido individuato.
    Per casi più complessi, consulta la Guida in linea di Delphi per scovare tutte le procedure messe a disposizione dall'ambiente per analizzare e manipolare le stringhe.

    Se ti serve ulteriore aiuto, son qui.

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

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

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    1,003
    ok funziona
    però utilizza la virgola e nn il punto
    non c'è un modo x utilizzare il punto al posto della virgola?


    ciao

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    1,003
    ho notato anke ke a volte mi da dei risultati abominevoli
    esiste un modo (tipo in pascal col "variabile:0:4") x impostare un determinato numero di cifre dopo la virgola?

  10. #10
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Puoi forzare l'uso della virgola (o in generale, del separatore decimale) in questo modo:
    codice:
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if (Key = '.') or (Key = ',') then
        Key := DecimalSeparator;
    end;
    Questo evento gestisce la pressione del tasto del controllo Edit e provvede a sostituire eventuali punti e virgole con il separatore decimale valido (rappresentato dalla variabile globale DecimalSeparator). Dovrebbe quindi adattarsi ad ogni occasione.
    Per la formattazione del valore in virgola mobile, consulta la Guida in linea di Delphi per l'uso della funzione FormatFloat.

    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 © 2025 vBulletin Solutions, Inc. All rights reserved.