Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [Delphi]This e altre amenità varie

    Olaz! ho iniziato a sviluppare un applicativo in Delphi
    con Firebird embedded , ho un paio di domande ,
    allora :

    1) non mi ricordo piu' come si fà ad usare la classe "this"
    in delphi ..ho provato con Self ma a volte la vede e altre no..

    2) io apro la connection all' apertura del mio form MAIN
    e la chiudo alla chiusura, c'e' qualche problema in questo?

    3) Esiste un modo veloce di cambiare il Name a un form, a una label o textbox? (io uso la notazione txtNomeSignificativo, frmEccettera.. quindi rinomino ogni elemento, ma la proprietà Name e' mescolata bene in mezzo alle altre proprieta' nell'Object Inspector..)

    4) Esistono fonti delphi con articoli e novita?



    [OT]
    ieri ho connesso tramite FBEmbed.dll un applicativo a una tabella fdb ,
    ho impostato nella connection la vendorlib come fbembed.dll,e l'ho attivata
    poi ho usato una TQuery che si riferiva alla connection ,
    poi ho usato un TDataset che puntava al Tquery parametrizzato e infine un
    TDBListbox che faceva riferimento al dataset,
    ho impostato la tabella di riferimento e nel momento di impostare il campo (mentre cliccavo sul nome del campo restituito dalla Tquery)delphi si e' chiuso,
    naturalmente senza salvare le varie modifiche..

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,333

    Re: [Delphi]This e altre amenità varie

    Originariamente inviato da kentaromiura
    1) non mi ricordo piu' come si fà ad usare la classe "this"
    in delphi ..ho provato con Self ma a volte la vede e altre no..
    Si usa Self. Ricorda che Delphi è un linguaggio misto procedurale/OOP, quindi Self è presente solo dove ha senso, cioè nei metodi appartenenti ad una classe, e non nelle procedure/funzioni statiche sparse all'interno di una unit.

    Originariamente inviato da kentaromiura
    2) io apro la connection all' apertura del mio form MAIN
    e la chiudo alla chiusura, c'e' qualche problema in questo?
    Direi di no.

    Originariamente inviato da kentaromiura
    3) Esiste un modo veloce di cambiare il Name a un form, a una label o textbox? (io uso la notazione txtNomeSignificativo, frmEccettera.. quindi rinomino ogni elemento, ma la proprietà Name e' mescolata bene in mezzo alle altre proprieta' nell'Object Inspector..)
    Sembra "mescolata bene", ma in realtà è più facilmente reperibile che in VS dove inizia con una parentesi; ti spiego perché: l'Object Inspector ha la ricerca incrementale, se premi TAB e cominci a digitare il nome di una proprietà, ti sposti su di essa... premi INVIO e modifica il valore della proprietà e il gioco è fatto.

    Una volta abituato, vai a scheggia senza problemi.

    Originariamente inviato da kentaromiura
    4) Esistono fonti delphi con articoli e novita?
    Ce ne sono a migliaia.
    Il sito che consulto più frequentemente è About Delphi Programming.

    Originariamente inviato da kentaromiura
    [OT]
    ieri ho connesso tramite FBEmbed.dll un applicativo a una tabella fdb ,
    ho impostato nella connection la vendorlib come fbembed.dll,e l'ho attivata
    poi ho usato una TQuery che si riferiva alla connection ,
    poi ho usato un TDataset che puntava al Tquery parametrizzato e infine un
    TDBListbox che faceva riferimento al dataset,
    ho impostato la tabella di riferimento e nel momento di impostare il campo (mentre cliccavo sul nome del campo restituito dalla Tquery)delphi si e' chiuso,
    naturalmente senza salvare le varie modifiche..
    Spero che i componenti usati, in realtà, siano TSQLQuery o TSQLDataSet, mentre TDataSource per stabilire il collegamento tra sorgente dati e controllo "data aware".

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

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

  3. #3

    Re: Re: [Delphi]This e altre amenità varie

    Ciao, ORSO !
    Originariamente inviato da alka
    Si usa Self. Ricorda che Delphi è un linguaggio misto procedurale/OOP, quindi Self è presente solo dove ha senso, cioè nei metodi appartenenti ad una classe, e non nelle procedure/funzioni statiche sparse all'interno di una unit.
    Perfettamente dove mi aspettavo self funzionasse(ovvero dove ho già l'istanza di una classe, OVVIO che in una funzione/procedura statica non ha senso poiche' non esiste l'istanziazione della classe) ma dentro ad una procedure non lo beccava(almeno l'ide,poi non ho provato a compilare..puo darsi avesse cannato solo in quel momento..)
    Sembra "mescolata bene", ma in realtà è più facilmente reperibile che in VS dove inizia con una parentesi; ti spiego perché: l'Object Inspector ha la ricerca incrementale, se premi TAB e cominci a digitare il nome di una proprietà, ti sposti su di essa... premi INVIO e modifica il valore della proprietà e il gioco è fatto.

    Una volta abituato, vai a scheggia senza problemi.
    ecco, sta cosa del tab non la sapevo ... utilissima!
    Ce ne sono a migliaia.
    Il sito che consulto più frequentemente è About Delphi Programming.
    daro' un occhiata, grazie!
    Spero che i componenti usati, in realtà, siano TSQLQuery o TSQLDataSet, mentre TDataSource per stabilire il collegamento tra sorgente dati e controllo "data aware".

    Ciao!
    certo ma mica potevo ricordarmi il nome a memoria

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,333

    Re: Re: Re: [Delphi]This e altre amenità varie

    Originariamente inviato da kentaromiura
    Perfettamente dove mi aspettavo self funzionasse(ovvero dove ho già l'istanza di una classe, OVVIO che in una funzione/procedura statica non ha senso poiche' non esiste l'istanziazione della classe) ma dentro ad una procedure non lo beccava(almeno l'ide,poi non ho provato a compilare..puo darsi avesse cannato solo in quel momento..)
    E' possibile che ci fosse un errore nella dichiarazione della classe o da qualche altra parte del codice; in certi casi, questo impedisce al parser di interpretare correttamente il tipo di dato e di restituirne quindi i membri.

    Ci sono tantissimi altri shortcut che si possono utilizzare nel Code Editor di estrema utilità: ad esempio, per inserire un nuovo metodo in una classe, è sufficiente digitarlo nella dichiarazione e premere CTRL+SHIFT+C per crearne il corpo; con le funzionalità di Refactoring, poi, si rinominano e si modificano i membri in scioltezza senza intervenire su dichiarazione e implementazione manualmente.

    Originariamente inviato da kentaromiura
    certo ma mica potevo ricordarmi il nome a memoria
    Era solo per essere sicuro: qualsiasi scelta tu faccia, evita i componenti che hai menzionato e dimentica i componenti BDE.

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

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

  5. #5
    piccolo aggiornamento:

    Si vede che FB Embed ha seri problemi con l'ide,
    esempio, usando i componenti che mi hai consigliato
    quando dopo aver aperto una connessione (TSqlConnection se non erro)
    la chiudo si chiude l'ide,


    inoltre connettendomi con un dataset non vedo nulla anche se la tabella contiene righe,
    la cosa bella e' che pero' i campi quando vado a impostare la TDBListbox me li vede correttamente,
    ma non me la popola..quindi legge la struttura del database(quindi fbembed.dll funziona) ma null'altro...
    ho provato anche ad usare gds32.dll
    e nulla.. non e' che devo fare il databinding a manina??
    boh??
    dovro' riprovare con la TQuery e vedere se funziona...

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,333
    Per quel che riguarda i problemi di connessione, bisognerebbe fare qualche verifica di compatibilità con la versione Embedded di FireBird dell'ultimo driver dbExpress che è quello incluso in BDS2006. Stasera farò qualche prova se ho un attimo, anche se recentemente ho modificato e lavorato correttamente con un'applicazione che però usava il classico server, benché sia (quasi) convinto che non vi siano differenze a livello di driver o che i problemi non siano derivanti dal diverso tipo di server (classico o embedded) sottostante.

    Per quanto riguarda l'uso di controlli "data aware" come il TDBListBox e problematiche di "data binding", occorre tenere ben presente lo scopo per cui ciascun controllo è progettato. Un esempio: se ti aspetti di vedere la TDBListBox popolata da record, non la vedrai mai in quanto non è lo scopo di quel controllo che, invece, può essere associato ad un campo da cui leggerne e rappresentarne visualmente il valore selezionando uno degli elementi presenti al suo interno, definiti con la proprietà Items, e precisamente quello che coincide con il valore del campo.

    Per dirla in breve, la TDBListBox non elenca una serie di record mostrando al suo interno tutti i valori di un campo.

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

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

  7. #7
    Originariamente inviato da alka
    Per quel che riguarda i problemi di connessione, bisognerebbe fare qualche verifica di compatibilità con la versione Embedded di FireBird dell'ultimo driver dbExpress che è quello incluso in BDS2006. Stasera farò qualche prova se ho un attimo, anche se recentemente ho modificato e lavorato correttamente con un'applicazione che però usava il classico server, benché sia (quasi) convinto che non vi siano differenze a livello di driver o che i problemi non siano derivanti dal diverso tipo di server (classico o embedded) sottostante.

    Per quanto riguarda l'uso di controlli "data aware" come il TDBListBox e problematiche di "data binding", occorre tenere ben presente lo scopo per cui ciascun controllo è progettato. Un esempio: se ti aspetti di vedere la TDBListBox popolata da record, non la vedrai mai in quanto non è lo scopo di quel controllo che, invece, può essere associato ad un campo da cui leggerne e rappresentarne visualmente il valore selezionando uno degli elementi presenti al suo interno, definiti con la proprietà Items, e precisamente quello che coincide con il valore del campo.

    Per dirla in breve, la TDBListBox non elenca una serie di record mostrando al suo interno tutti i valori di un campo.

    Ciao!
    appunto ma in ITEMS io vedo il campo DESCRIZIONE
    solo che non fa il BINDING

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,333
    Originariamente inviato da kentaromiura
    appunto ma in ITEMS io vedo il campo DESCRIZIONE
    solo che non fa il BINDING
    La proprietà Items del controllo TDBListBox è del tutto identica a quella del comune TListBox (non associato ai dati)... come fai a vederci dentro un campo DESCRIZIONE?
    :master:

    Per effettuare il "binding" del controllo al campo associato, basta valorizzare le proprietà DataSource e DataField.

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

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

  9. #9
    Originariamente inviato da alka
    La proprietà Items del controllo TDBListBox è del tutto identica a quella del comune TListBox (non associato ai dati)... come fai a vederci dentro un campo DESCRIZIONE?
    :master:

    Per effettuare il "binding" del controllo al campo associato, basta valorizzare le proprietà DataSource e DataField.

    Ciao!
    mi sono spiegato male in datasource ho associato il datasource,
    mentre DataField e' uguale a DESCRIZIONE (me l'ha rilevato l'ide, quindi la struttura della tabella la legge)..

    solo che sia nell'ide, che a runtime e' VUOTA mentre dovrebbe avere una riga con scritto "Utente di prova"

  10. #10
    non e' che devo inserire
    dbexpint.dll
    nella directory dell'eseguibile??
    stasera proverò..

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.