Translhextion .NET (nuova versione)

Aperto da Gemini, Aprile 11, 2005, 09:58:41

Discussione precedente - Discussione successiva

Syxtem

Il guaio non è tanto come infilarci le note, ma come farle rimanere memorizzate. È ovvio che non possono venire memorizzate insieme al programma che si edita. Le soluzioni quindi sono due:
1) Creare un file esterno (tipo di progetto) per ogni file che si va ad editare, in cui memorizzare varie informazioni (al di là delle note) che possono essere molto interessanti e carine (come segnalibri a particolari offset, TBL da caricare automaticamente, impostazioni predefinite per un particolare file aperto, la posizione dell'offset in cui ci si trovava prima che si chiudesse il prog, e altre cose).
[es. IDA (che però supporta anche la gestione da un unico database)]
2) La seconda soluzione è memorizzare in un unico database (magari memorizzato nella stessa cartella dell'applicazione), tutte le informazioni sopra citate... quindi memorizzando anche il percorso del file che si sta modificando.
[es. ACDSee]
Entrambe possiedono vantaggi e svantaggi. Con la prima soluzione sicuramente c'è una maggiore flessibilità, visto che diventa possibile passarsi anche i file di progetto, e quindi usufruire anche di queste informazioni extra. C'è da dire che però in questo modo, da ogni file su cui si lavora viene generato un nuovo file (che probabilmente non sarà molto grosso in termini di dimensione) e quindi c'è la tendenza a "inquinare" il proprio PC con questi file.
La seconda scelta è sicuramente più "elegante" a prima vista, perchè non crea altri file sparsi per il PC, ma è più complessa da gestire. Inoltre diventa praticamente impossibile scambiarsi le informazioni memorizzate in questo modo (a meno di sostituire il proprio database con l'altro, in cui saranno memorizzate anche informazioni che non ci interessano e sicuramente ci impedirà di usufruire delle nostre informazioni che noi avevamo memorizzato.). Un'alternativa a questo metodo è quella di creare un'utilità che permetta di creare un file (tipo di patch) apposito per i dati relativi al file che si sta modificando. E ovviamente anche una funzione per caricare nel proprio database i dati nuovi contenuti in questo file.
Forse questa è la soluzione ottimale, che permetterebbe sicuramente di usufruire dei benefici di un file di progetto, senza essere troppo invadente (conservando tutto in un unico file che teoricamente non dovrebbe diventare troppo grande, data la natura delle informazioni da memorizzare), ma conservando allo stesso tempo una certa flessibilità. L'unico svantaggio è che si tratta della soluzione più complicata da implementare, e che richiede una certa analisi di ciò che si vuole memorizzare e come... Anche solo la scelta di limitare lo spazio per le note ad un numero di caratteri massimo o di lasciare illimitato lo spazio può presentare stravolgimenti di implementazione, dovendo abbandonare l'idea di un classico database per esempio, con un organizzazione sequenziale dei dati. In questo secondo caso ad esempio può diventare comodo l'utilizzo di un secondo file di indice, in cui vengono memorizzati i puntatori per i dati relativi ad ogni file. È ovvio che ad ogni modifica delle informazioni per ogni file (variando la lunghezza dello spazio occupato) diventa necessario anche ricalcolare tutti i puntatori relativi ai dati memorizzati dopo quelli del file che si è modificato.
Come si può notare (e questa è stata un analisi a freddo... possono benissimo esserci molte altre problematiche) i problemi da gestire ci sono e non sono nemmeno pochi. Poi sta a te decidere quanto ti vuoi impegnare per questa cosa o se, capito il mazzo che c'è da farsi, rinunciare a questa opportunità.
Se si decide di supportare la gestione di queste informazioni extra, consiglio comunque di comprimere i file (o il file) in qualche modo, per guadagnare spazio. Una compressione Zip usando la Zlib va benissimo (ed è gratuita). Al massimo gli dici di cambiare l'estensione con una più personalizzata.
Comunque decidi te.

Infrid

a che punto è arrivato il programma?
Citizen Infrid :: raccolta di deliri, opere ed opinioni.
RCP64 :: Nintendo 64 Machine
load word team

Gemini

Citazionea che punto è arrivato il programma?
Ero riuscito a ottenere una buona gestione dei file grossi, facendoli sembrare caricati totalmente in ram, però credo di aver ucciso il programma, tentando di cambiare delle cose per renderlo MDI (apertura multipla di documenti in parole povere). Ora si avvia, ma dà subito errori di frame e si richiude. Per il momento lo lascio com'è, poi lo riprenderò in tempi migliori. :P

Brisma

CitazioneEro riuscito a ottenere una buona gestione dei file grossi, facendoli sembrare caricati totalmente in ram, però credo di aver ucciso il programma, tentando di cambiare delle cose per renderlo MDI (apertura multipla di documenti in parole povere). Ora si avvia, ma dà subito errori di frame e si richiude. Per il momento lo lascio com'è, poi lo riprenderò in tempi migliori. :P
Traduzione per i non capenti:

L'ha sminchiato e non ha più voglia di starci dietro a sistemarlo :P
<- [ BrISmA | BloG ] - >
********************
Membro di SadNES cITy
I gruppo italiano di traduzione ROM
http://www.sadnescity.it/
********************
MsN: brisma@hotmail.it - ICQ: 321995513 - eM@il: brisma@alice.it

Infrid

capisco...
un giorno farò qualcosa in modo che le persone non usino più il thingy oppure il tranhexeltion (come cavolo si chiama)
Citizen Infrid :: raccolta di deliri, opere ed opinioni.
RCP64 :: Nintendo 64 Machine
load word team

yuumeikai

Citazioneun giorno farò qualcosa in modo che le persone non usino più il thingy oppure il tranhexeltion (come cavolo si chiama)
Uomo di buona volontà...

Gemini

CitazioneTraduzione per i non capenti:

L'ha sminchiato e non ha più voglia di starci dietro a sistemarlo :P
Tu sì che mi leggi nel pensiero. :* ... xD