Username: Password:

Author Topic: Dimensione Salvataggio  (Read 7144 times)

Snake87

  • Newbie
  • *
  • Posts: 21
    • View Profile
Dimensione Salvataggio
« on: September 02, 2006, 03:49:20 pm »
Ciao... Complimenti per il programma...
Ho notato, una cosa strana, che penso si possa risolvere...
Ho un telefono Nokia 6600 non brandizato, comn firmware v5.53.00
Ho installato Gotext alcuni mesi fa, ho guardato il numero di messaggi inviati (450) e per curiosità ho guardato lo spazio occupato dal file di salvataggio, e con mio stupore ho visto la sua dimensione...
Ben 1,2 Mb...
Dato che con alcuni cellullari, un file di salvataggio molto grnade potrebbe dare problemi, non è possibile cercare di rdurne la dimensione??????
Ho aperto con un editor *.txt il fiel di salvataggio (rms.db) è ho notato, che ad ogni chiusura inserimento di un nuovo servizio, e successiva chiusurqa del prg, tutti i servizi esistenti vengono risalvati, es...

File prima della aggiunta del servizio:

Servizio 1
Servizio 2
Servizio 3

File dopo l'aggiunta e la chiusura del prg:

Servizio 1
Servizio 2
Servizio 3
Servizio 1
Servizio 2
Servizio 3
Servizio 4

e tutti i messaggi inviati vengono salvati all'interno del file del salvataggio (cosa che ritengo inutile, e di cui è la colpa del file di grandi dimensioni)

non sarebbe possibile far apparire il file di salvataggio:

Servizio 1
Servizio 2
Servizio 3
Servizio 4


Non so se questo (ERRORE) è causato dalla compilazione del prg, o da un bug del java del nokia...
Grazie in anticipo per la risposta.

elettrob@s

  • Full Member
  • ***
  • Posts: 130
    • View Profile
Re: Dimensione Salvataggio
« Reply #1 on: September 02, 2006, 06:40:48 pm »
Si deve controllare sui sorgenti la gestione dei rms...
Ecco forse il perchè sul mio cellulare ci mette una decina di secondi per aprirsi!!
Io ho un LG U8360 e con goText ci ho mandato 584 sms (quelli che ha contato)

Se ho tempo vedo di controllare...

daWsOn_s

  • Jr. Member
  • **
  • Posts: 91
    • View Profile
Re: Dimensione Salvataggio
« Reply #2 on: September 02, 2006, 11:53:24 pm »
dove si trova il file di salvataggio in telefoni non symbian? :-)

impazzito

  • Full Member
  • ***
  • Posts: 138
    • View Profile
Re: Dimensione Salvataggio
« Reply #3 on: September 03, 2006, 09:57:22 am »
Quote

daWsOn_s ha scritto:
dove si trova il file di salvataggio in telefoni non symbian? :-)


!:\system\midlet (dove !:\ sta in c: o e:(e poi devi cercare la cartella che contiene il file "gotext.jar" e cancellare il file rms.db)

Zydio

  • Administrator
  • Hero Member
  • *****
  • Posts: 2111
  • goText++ Desk! author
    • View Profile
    • goText++ Desk! homepage
Re: Dimensione Salvataggio
« Reply #4 on: September 03, 2006, 11:58:48 am »
Quote

Snake87 ha scritto:
Ciao... Complimenti per il programma...
Ho notato, una cosa strana, che penso si possa risolvere...
Ho un telefono Nokia 6600 non brandizato, comn firmware v5.53.00
Ho installato Gotext alcuni mesi fa, ho guardato il numero di messaggi inviati (450) e per curiosità ho guardato lo spazio occupato dal file di salvataggio, e con mio stupore ho visto la sua dimensione...
Ben 1,2 Mb...
Dato che con alcuni cellullari, un file di salvataggio molto grnade potrebbe dare problemi, non è possibile cercare di rdurne la dimensione??????
Ho aperto con un editor *.txt il fiel di salvataggio (rms.db) è ho notato, che ad ogni chiusura inserimento di un nuovo servizio, e successiva chiusurqa del prg, tutti i servizi esistenti vengono risalvati, es...

File prima della aggiunta del servizio:

Servizio 1
Servizio 2
Servizio 3

File dopo l'aggiunta e la chiusura del prg:

Servizio 1
Servizio 2
Servizio 3
Servizio 1
Servizio 2
Servizio 3
Servizio 4

e tutti i messaggi inviati vengono salvati all'interno del file del salvataggio (cosa che ritengo inutile, e di cui è la colpa del file di grandi dimensioni)

non sarebbe possibile far apparire il file di salvataggio:

Servizio 1
Servizio 2
Servizio 3
Servizio 4


Non so se questo (ERRORE) è causato dalla compilazione del prg, o da un bug del java del nokia...
Grazie in anticipo per la risposta.

Tutto ciò è moooolto strano! Ke sia una errata gestione delle funzioni db sui nokia (su quella versione di fw almeno)?
Perché in teoria goText quando deve aggiungere un nuovo servizio, aggiunge semplicemente una voce al db, non fa altro.
E x i messaggi inviati in teoria aumenta solo il contatore, ma non salva assolutamente il messaggio quando viene inviato! Altrimenti certo, molti cellulari dopo poco impazzirebbero!
Non so dare una spiegazione a tutto ciò però, probabilmente è meglio attendere una risposta di bluesman ke è da + tempo di me che smanetta con J2ME.

Ciao

daWsOn_s

  • Jr. Member
  • **
  • Posts: 91
    • View Profile
Re: Dimensione Salvataggio
« Reply #5 on: September 03, 2006, 01:03:18 pm »
Quote

impazzito ha scritto:
Quote

daWsOn_s ha scritto:
dove si trova il file di salvataggio in telefoni non symbian? :-)


!:\system\midlet (dove !:\ sta in c: o e:(e poi devi cercare la cartella che contiene il file "gotext.jar" e cancellare il file rms.db)


Col sonyericsson z1010 non posso accedere ai file di sistema del tel, ma solo in quelli standard  :-(

Bluesman

  • Administrator
  • Hero Member
  • *****
  • Posts: 1249
    • View Profile
    • goText
Re: Dimensione Salvataggio
« Reply #6 on: September 05, 2006, 03:41:48 pm »
Grazie per l'informazione, forse ecco perchè l'applicazione diventa un pò pesante dopo qualche sms inviato , e ho notato che qualche lentezza pure dopo un pò di tempo che si usa.. Ma bisogna capire se il problema è solo dei nokia o di tutti, quella parte del codice se l'era vista Miccar, cmq ci dò un occhiata pure io e vediamo di capire perchè fa in quel modo.

Snake87

  • Newbie
  • *
  • Posts: 21
    • View Profile
Re: Dimensione Salvataggio
« Reply #7 on: October 20, 2006, 04:16:56 pm »
Ciao.. Dato che sto facendo un programma con delphi, ho risocontrato un errore del tutto simile a quello che ho descritto sopra rguardante il savataggio di un file, e l'ho risolto in questo modo...
Spero che questo possa essere di aiuto.

type
  TRubrica = record
             Nome : string[50];
             Cognome : string[50];
             Mail : string[50];
  end;
  TRubbrica = array[1..1000]of TRubrica;

var
  Rubrica : TRubbrica;
  Rub:string;

implementation

{$R *.dfm}

procedure TForm4.FormClose(Sender: TObject; var Action: TCloseAction);
var i:integer;
    new:string;
begin
            Rub:='C:/Rubrica.rub';
            new:=ChangeFileExt(Rub, '.bak');   //Dato che la variabile rub ha il valore C:/Rubrica.rub
                     //new diventa C:/Rubrica.bak   
            if CopiaFile(Rub , new)   //Se è possibile copiare il file C:/Rubrica.bak nel file C:/Rubrica.rub
                    then DeleteFile(Rub);     //Allora Elimina il file C:/Rubrica.rub   
             if ScriviFile(Rub,Rubrica,GrdRubrica.Rowcount-1) //Se è possibile salva il file (C:/Rubrica.rub)
               then MessageDLG('Rubrica Salvata correttamente',mtInformation, [mbOK],0) //Se il file è stato salvato allora mostra questo messaggio
               else MessageDLG('Problemi nel salvataggio',mtWarning, [mbOK],0); //Se il file non è stato salvato allora mostra questo messaggio
end;

Bluesman

  • Administrator
  • Hero Member
  • *****
  • Posts: 1249
    • View Profile
    • goText
Re: Dimensione Salvataggio
« Reply #8 on: October 20, 2006, 05:03:58 pm »
Ciao, il fatto è che con J2ME non puoi salvare direttamente in un file sul filesystem , devi usare un RecordManagementSystem (RMS) che salva byte per byte i tuoi dati in un formato particolare comune per tutti i telefoni quindi non so se la tua soluzione possa aiutarci in questo senso. Non ho capito bene che fa, me delphi è una specie di pascal?
ciao!

nautilus

  • Jr. Member
  • **
  • Posts: 52
    • View Profile
Re: Dimensione Salvataggio
« Reply #9 on: October 24, 2006, 12:42:40 pm »
effettivamente pure col 6230 ci mette un po' ad aprire gotext, all' inizio mi pareva più veloce. Stesso dicasi per lg8138.
Però non ho modo di vedere le dimensioni del file rms in nessuno dei due.

Snake87

  • Newbie
  • *
  • Posts: 21
    • View Profile
Re: Dimensione Salvataggio
« Reply #10 on: October 24, 2006, 03:10:35 pm »
Si.. Delphi è un Object pascal..
Cmq ho visto un altra funzione, che può risolvere il suddetto problema, e penso che esisti anche in java...

Questa funzione prende il file gia scritto (rms.db), cancella tutto il contenuto del file e comincia a scrivere dall'inizio del file.
La funzione in delphi è:

Rewrite(qui va inserito percorso del file da editare)

Bluesman

  • Administrator
  • Hero Member
  • *****
  • Posts: 1249
    • View Profile
    • goText
Re: Dimensione Salvataggio
« Reply #11 on: October 26, 2006, 12:03:46 am »
si la soluzione sarebbe questa quella di cancellare e riscrivere tutto, penso che ne discuteremo meglio pure nella mailing per gli sviluppatori, perchè non ti iscrivi li pure? il link è questo!
http://sourceforge.net/projects/gotext vai in Mail

Zydio

  • Administrator
  • Hero Member
  • *****
  • Posts: 2111
  • goText++ Desk! author
    • View Profile
    • goText++ Desk! homepage
Re: Dimensione Salvataggio
« Reply #12 on: October 26, 2006, 09:20:23 am »
Quote

Snake87 ha scritto:
Si.. Delphi è un Object pascal..
Cmq ho visto un altra funzione, che può risolvere il suddetto problema, e penso che esisti anche in java...

Questa funzione prende il file gia scritto (rms.db), cancella tutto il contenuto del file e comincia a scrivere dall'inizio del file.
La funzione in delphi è:

Rewrite(qui va inserito percorso del file da editare)


In java non è possibile cancellare il file in toto perché non si ha accesso al file system del telefono.

L'unica cosa che si può provare è estrapolare tutti i dati da un recordstore, usare deleteRecordStore() x azzerarlo (sperando ke liberi la memoria sui nokia, cosa ke il semplice deleteRecord() non fa), e reinserire tutti i dati.
Cosa che attualmente nelle miei mod viene fatta x il riordino dei servizi...sarebbe interessante sapere se usando la mia mod almeno x i servizi il problema nn si presenta, e nel caso sarebbe 1 prova che questa soluzione è viabile.Se funzionasse andrebbe estesa a tutti i recordstore.
Se funzionasse comunque non si potrebbe fare sempre, prende troppo tempo, si potrebbe fare 1 controllo all'apertura di un recordstore con getSize() e lanciare la funzione di ripulitura quando la dimensione del db supera una certa dimensione prefissata.

Bluesman

  • Administrator
  • Hero Member
  • *****
  • Posts: 1249
    • View Profile
    • goText
Re: Dimensione Salvataggio
« Reply #13 on: October 27, 2006, 07:19:12 pm »
si prima intendevo cancellare e riscrivere il record. Ora bisogna vedere se questa operazione viene troppo pesante, dobbiamo stare attenti alla memoria in generale, sennò gotext diventa un porco e già magrissimo non è diciamo :-)