Pagina 1 di 1

[Gambas2] Prometto non è difficile...

Inviato: domenica 10 giugno 2007, 11:07
da andy60
Volevo memorizzare in una tabella sqlite la posizione della finestra del programma e richiamarla all'evento Form_Open. Riesco a leggere e settare le coordinate ma, cosa strana, non riesco a memorizzarle. Qualcuno ha affrontato la cosa? ::)

Re: [Gambas2] Prometto non è difficile...

Inviato: domenica 10 giugno 2007, 11:20
da Pixel
Non ho capito... memorizzarle dove, come ed in che senso? ;D

Re: [Gambas2] Prometto non è difficile...

Inviato: domenica 10 giugno 2007, 11:29
da andy60
Pixel ha scritto: Non ho capito... memorizzarle dove, come ed in che senso? ;D
le coordinate della posizione della finestra sullo schermo, dovrebbero essere me.left e me.top..

1.il programma parte
2.il programma carica un file di setup dove legge le coordinate e setta la posizione della finestra
....
3.il programma esce e aggiorna nella tabella di setup le coordinate per poi riutilizzarle all'apertura successiva.

il file di setup è una tabella sqlite che si legge con

Codice: Seleziona tutto

SELECT * FROM Setup WHERE id=1
e si aggiorna con

Codice: Seleziona tutto

UPDATE setup SET xcoord=xxx, ycoord=xxx WHERE id=1

Re: [Gambas2] Prometto non è difficile...

Inviato: domenica 10 giugno 2007, 11:38
da marko782
andy60 ha scritto:

Codice: Seleziona tutto

SELECT * FROM Setup WHERE id=1
e si aggiorna con

UPDATE setup SET xcoord=xxx, ycoord=xxx WHERE id=1
Forse hai solo sbagliato a trascrivere ma, c'è una s minuscola al posto di una maiuscola  ;)

Re: [Gambas2] Prometto non è difficile...

Inviato: domenica 10 giugno 2007, 11:39
da Pixel
Continuo a non capire il problema...
Se è quello che penso devi semplicemente generare 2 variabili globali (magari nel modulo MainFrame) e mantenerle aggiornate mediante un evento del form in questione.
ciao

Re: [Gambas2] Prometto non è difficile...

Inviato: domenica 10 giugno 2007, 13:33
da andy60
Pixel ha scritto: Continuo a non capire il problema...
Se è quello che penso devi semplicemente generare 2 variabili globali (magari nel modulo MainFrame) e mantenerle aggiornate mediante un evento del form in questione.
ciao

si ma poi devo congelarle e riutilizzarle alla riapertura del programma...voglio che mi apre la finestra dove l'ho messa io l'ultima volta...

Re: [Gambas2] Prometto non è difficile...

Inviato: domenica 10 giugno 2007, 13:51
da Pixel
Alla buon'ora... bastava dirlo subito
Form.MOVE(x,y)

ciao

Re: [Gambas2] Prometto non è difficile...

Inviato: domenica 10 giugno 2007, 14:18
da andy60
Pixel ha scritto: Alla buon'ora... bastava dirlo subito
Form.MOVE(x,y)

ciao

azz------rileggi l'avevo scritto...thanku verymuch :-\

Re: [Gambas2] Prometto non è difficile...

Inviato: domenica 10 giugno 2007, 15:05
da Pixel
Uhm... Veramente non avevo proprio compreso il problema... ;D
Comunque, le posizioni della form sono .left e .top ma' il posizionamento nel "tempo" avviene con .move...
La cosa è un po' particolare... diciamo che se devi creare (per esempio) una finestra che si muova sullo schermo si usa Move.
Ciao

Re: [Gambas2] Prometto non è difficile...

Inviato: domenica 10 giugno 2007, 16:20
da andy60
Pixel ha scritto: Uhm... Veramente non avevo proprio compreso il problema... ;D
Comunque, le posizioni della form sono .left e .top ma' il posizionamento nel "tempo" avviene con .move...
La cosa è un po' particolare... diciamo che se devi creare (per esempio) una finestra che si muova sullo schermo si usa Move.
Ciao
Ho risolto, e comunque devo dirti grazie per l'informazione della form.move, non la ricordavo...ho risolto..e finita la versione base di Spread, allego una picture del lavoretto che mettero' subito a frutto domani. Mi serve per le operazioni di Borsa.

Risoluzione:

Codice: Seleziona tutto

PUBLIC xcoord AS Integer
PUBLIC ycoord AS Integer

PUBLIC SUB AggiornaPosizione()
    MyPosition = MySqlite.EseguiSql("select id, valore1, valore2 FROM test")
    MyPosition.movefirst
    FMain.Move(MyPosition!valore1, MyPosition!valore2)
    xcoord = MyPosition!valore1
    ycoord = MyPosition!valore2
END

PUBLIC SUB SalvaPosizione()
    xcoord = Fmain.ScreenX
    ycoord = Fmain.ScreenY
    MyPosition = MySqlite.EseguiSql("UPDATE test SET valore1=" & xcoord & ", valore2 = " & ycoord & " WHERE id = 1 ")
END