Newsgroup: it.comp.lang.delphi
Titolo: Problema TDBEdit

Salve a tutti, è la prima volta che scrivo su questo newsgroup; come avrete
capito sono abbastanza neofita del delphi (lo uso da 2 settimane...) quindi
avrò bisogno spesso del vostro aiuto!
Veniamo a noi: ho bisogno di cambiare un valore da codice in una casella
TDBEdit; non ho trovato nessuna proprietà che me lo consenta. Ad esempio
voglio assegnare il valore di quella casella ad una variabile, e poi
cancellarne il contenuto. Spero che la domanda non sia troppo banale... ma
finora non ne sono venuto a capo.
Grazie a tutti per l'attenzione, buona giornata
Ghast

TDBEdit; non ho trovato nessuna proprietà che me lo consenta. 
DBEdit.Field.Value := quellochevuoi;
ciao
Morde

la tdbedit mostra il contenuto di un campo letto da una tabella o query.
Quindi, la responsabilità della assegnazione del valore spetta al campo ad
essa collegato.
Oltre la TDbedit esiste la TEDIT che è scollegata dal contesto database.
Il suo contenuto lo manipoli con la prop TEXT visible nell object inspector.
Delphi non ha, come vb, una unica edit che può essere usata
indiifferentemente sia collegata ad un campo di un dataset che scollegata.
Bye
A.

 ha scritto:

Il problema è che una cosa del genere mi dà un sacco di errori di violazione
di accesso. Posto il codice che ho creato finora:
procedure TForm1.DBCheckBox1Click(Sender: TObject);
begin
if DBcheckbox1.Checked then
        begin
        dbedit5.Enabled:=true;
        dbedit5.Field.Value:=1;
        end
else
        begin
        tempo := dbedit5.Field.Value;
        dbedit5.field.value:=0;
        dbedit5.Enabled:=false;
        end
end;
DBEdit5 è un campo che si riferisce ad un valore numerico in un database
*.db, tempo è una variabile intera.

 essa collegato.
Quindi non posso cambiare il suo valore dal codice, salvando il nuovo valore
nel database? Uffa... mi avrebbe fatto davvero comodo.
Comunque, un grandissimo grazie per le risposte rapidissime ad Alberto e
Morde!
Ghast


Il codice e' formalmente corretto, non capisco... ma che errore preciso ti da?
Morde

nel database? Uffa... mi avrebbe fatto davvero comodo.
Non hai capito quello che ha detto Salvati:
DBedit.field.value := xxxxxxx;
questo significa che e' il field del dbedit che tramite la sua proprieta' value si proccupa
di aggiornare il campo nel database.
DBedit.    field.                  value     
DBedit --> incapsula un TField ---> Tfield possiede una proprietà "value" che memorizza il valore da scrivere/leggere nel DB
Se vuoi un altro consiglio, cerca nel ng i link per iniziare con delphi, sulla teoria della programmazione o oggetti,
dovrebbero chiarirti le idee ed indirizzarti in maniera migliore.
ciao
Morde

 Morde
Project prova.exe raised exception class EAccessViolation with message
'Access violation at address 0049B80E in module PROVA.EXE. Read of address
FFFFFFFF'. Process stopped. Use Step or Run to continue.
Tra l'altro usando il typecast mi dà il seguente errore:
[Error] sour.pas(56): Undeclared identifier: 'typecast'
[Error] sour.pas(56): Left side cannot be assigned to
[Error] sour.pas(56): Incompatible types: 'Boolean' and 'Integer'
[Fatal Error] prova.dpr(5): Could not compile used unit 'sour.pas'
Dove la linea 56 è: typecast> tempo := dbedit5.Field.asInteger;
A questo punto non ci capisco più nulla...
Grazie cmq per le risposte!
Ghast

Dove la linea 56 è: typecast> tempo := dbedit5.Field.asInteger;
togli typecast>, lascia solo 
tempo := dbedit5.Field.asInteger;
Rimane il fatto che dovresti incominciare a leggere delle guide, per incominciare bene.
Ciao
Morde

 nel database? Uffa... mi avrebbe fatto davvero comodo.
Certo che puoi!
Puoi anche farlo direttamente sulla dbedit:
dbedit.field.value := qualcosa
oppure
dbedit.text := qualchestringa
Solo, sarebbe meglio lavorare sul campo e non sul oggetto che mostra il
valore del campo.
Questo x separare la logica dalla interfaccia utente.
Bye
A.

 Morde
Hai perfettamente ragione! Anzi provvedo subito a cercarle tra i post di
questo ng... grazie di tutto
Ghast

 A.
Ops... mi scuso per aver capito male
Grazie!
Ghast