Ho finito di testare, in linea generale, il programma che, pertanto, sec ondo me é pronto per essere presentato alla comunità. Purtroppo però mi sono perso gli sviluppi degli ultimi mesi di questa nostra comunità, proprio per cercare di mettere a buon punto il programma stesso. Io, salvo uteriori suggerimenti, credo di dovere caricare il programma nell'area Download, mentre porei trasferire il documento di presentazione in Progetti degli utenti. :ciao:
Ho finito di testare, in linea generale, il programma che, pertanto, sec ondo me é pronto per essere presentato alla comunità. Purtroppo però mi sono perso gli sviluppi degli ultimi mesi di questa nostra comunità, proprio per cercare di mettere a buon punto il programma stesso. Io, salvo uteriori suggerimenti, credo di dovere caricare il programma nell'area Download, mentre porei trasferire il documento di presentazione in Progetti degli utenti. :ciao:
Troppo generoso Andy, ma non merito tanto apprezzamento. Io sono il più piccolo di tutti. :D :ciao:
mi stai incuriosendo con sto programma perche' non inizi ad uplodare quantomeno le screens? :2birre:
mi stai incuriosendo con sto programma perche' non inizi ad uplodare quantomeno le screens? :2birre:
Come avrai letto in questa discussione, Ceskho, si è offerto per pubblicare sia la presentazione che il sorgente del programma, per cui dobbiamo solo aspettare che abbia il tempo di portare il programma "ContabFam" (così l'ho intitolato) in area di download e le note di presentazione nell'area di pertinenza.
Abbi fede! ;D :ciao: :ciao:
Lavora che ti lavora, il mio ContabFam, immagazzinando istruzioni su istruzioni, è diventato obeso, tanto obeso (21,3 MB ) da non potere entrare nell'area di download.
Per la sua natura gestionale è molto articolato e spalmato su 7 Form non tutte agganciate in FMain, ma, a volte, correlate fra loro, per cui la Form3 può, per es., richiamare la Form1, o la Form2 può richiamare la Form4 o la Form3.
Da quanto detto sempbrerebbe che sto benedetto programma (ancora mancante di alcune sue funzioni operative) non possa avere l'onore di trovare un posto nella libreria Download.
Ricordo, che quando ho cominciato la sua scrittura, avevo ipotizzato una situazione del genere ed avevo anche pensato a dividerlo in moduli indipendenti richiamabili di volta in volta dal modulo attivo, come si faceva in GWBasic, ma non ho trovato il modo. Ora come ora, l'unica cosa fattibile che mi viene in mente è quella di preparare tre moduli diversi che possano essere scaricati singolarmente e rimessi insieme nell'ambiente Gambas destinatario per l'esecuzione. Purtroppo non conosco la modalitaà operativa per l'attuazione del mio pensiero e non conosco nemmeno se una tale ripartizione possa essere accettata dallo staff amministrativo della nostra comunità.
Per ora posso solo tenerlo tutto per me. ... Peccaaaaaaaaaaatooo!!!
Percè peccato? Ma perchè un lavoro che torni utile solo a me stesso, senza che possa essere provato, criticato, accettato o scartato da alcuno, perde tutta la sua validità. Avrei infatti creato uno strumento assolutamente nullo.
:( :(
Lavora che ti lavora, il mio ContabFam, immagazzinando istruzioni su istruzioni, è diventato obeso, tanto obeso (21,3 MB ) da non potere entrare nell'area di download.
Per la sua natura gestionale è molto articolato e spalmato su 7 Form non tutte agganciate in FMain, ma, a volte, correlate fra loro, per cui la Form3 può, per es., richiamare la Form1, o la Form2 può richiamare la Form4 o la Form3.
Da quanto detto sempbrerebbe che sto benedetto programma (ancora mancante di alcune sue funzioni operative) non possa avere l'onore di trovare un posto nella libreria Download.
Ricordo, che quando ho cominciato la sua scrittura, avevo ipotizzato una situazione del genere ed avevo anche pensato a dividerlo in moduli indipendenti richiamabili di volta in volta dal modulo attivo, come si faceva in GWBasic, ma non ho trovato il modo. Ora come ora, l'unica cosa fattibile che mi viene in mente è quella di preparare tre moduli diversi che possano essere scaricati singolarmente e rimessi insieme nell'ambiente Gambas destinatario per l'esecuzione. Purtroppo non conosco la modalitaà operativa per l'attuazione del mio pensiero e non conosco nemmeno se una tale ripartizione possa essere accettata dallo staff amministrativo della nostra comunità.
Per ora posso solo tenerlo tutto per me. ... Peccaaaaaaaaaaatooo!!!
Percè peccato? Ma perchè un lavoro che torni utile solo a me stesso, senza che possa essere provato, criticato, accettato o scartato da alcuno, perde tutta la sua validità. Avrei infatti creato uno strumento assolutamente nullo.
:( :(
1. crea un progetto su Sourceforge
2. caricaci il programma, in formato compresso
3. manda al Forum un articolo che parla del programma e allegaci i link al sito sourceforge
opla' tutto fatto, difficile? :-\ :P ;D
1. crea un progetto su Sourceforge
2. caricaci il programma, in formato compresso
3. manda al Forum un articolo che parla del programma e allegaci i link al sito sourceforge
opla' tutto fatto, difficile? :-\ :P ;D
Detto così sembra di no, ma non avendo alcuna esperienza in merito, già il passo n.1 mi sembra come scalare una montagna a mani nude.
Grazie e ciaio a tutti.
me lo avete demoralizzato, non risponde piu'!!!!!!!! :-\ :-\ :-\ :-\ :-\ :-\No, non mi sono demoralizzato. Sono soltanto un pò seccato dalla necessità di seguire una deviazione di percorso per arrivare al medesimio risultato. Sarebbe stato molto più semplice agire direttamente sul sito della nostra comunità, ma, visto che, in certi casi, non ne abbiamo la possibilità, farò come mi avete suggerito.
me lo avete demoralizzato, non risponde piu'!!!!!!!! :-\ :-\ :-\ :-\ :-\ :-\No, non mi sono demoralizzato. Sono soltanto un pò seccato dalla necessità di seguire una deviazione di percorso per arrivare al medesimio risultato. Sarebbe stato molto più semplice agire direttamente sul sito della nostra comunità, ma, visto che, in certi casi, non ne abbiamo la possibilità, farò come mi avete suggerito.
Certo che, in termini di occupazione di spazio in memoria, col mio programma ho stabilito un record da premio! :rotfl: :rotfl:
:ciao:
visto che Picavbg non vuole farlo su SourceForge, annuncio la creazione di FamilyManager, operativo fra qualche giorno, clonato da TelemarketingGrazie per avermi informato. Tuttavia, non è vero che non voglia caricare il mio sorgente su un Host, diciamo così, fuori tema, ma non ho potuto ancora farlo perchè, nel frattempo, ho cominciato a farlo lavorare nel mio pc e, devo dire, che sono molto soddisfatto del risultato ottenuto, anche se, ho corretto ancora qualcosa.
A proposito della dimensione dei sorgenti , mi sembra molto strano ch etu si arrivato a 20 e fischia mega, controlla attentamente che nella cartella di progetto non ci siano file inutili , ma soprattutto se hai usato icone , immagini , che la loro dimensione sia adeguata e quindi poco pesante.Forse ho capito: dentro la cartella ContabFam, ho iinserito per comodità, altre cartelle come quella contenente il DB ed altre di documentazione non necessarie al programma. Ho spostato tali cartelle in una cartella diversa,esterna alla cartella dove risiede il programma; ho riprodotto il file .tar coi sorgenti e, detto fatto, la dimensione del nuovo file è scesa a 1012 kb. ;D per cui posso fare a meno dell'host di appoggio.
ti dico questo perche io con gesthotel ho + di 120 form , 60 icone e il tutto non supera i 2,5 mb
Le E/U di cassa derivano da trasferimenti del c/banca, i tre conti base sono/dovrebbero essere banca, cassa, e cartadicredito, altrimenti ogni analisi dei costi resta mozzata, o no?Il tuo ragionamento è giusto, ma io ho improntato un modo diverso di registrazione, perchè, nel mio concetto di base esiste un solo conto principale, il c/Cassa, per cui non posso effettuare un pagamento senza fare passare il denaro dalla Cassa, sia attraverso un prelevamento reale che attraverso un passaggio fittizio. Faccio riferimento al tuo Es. n.2. Il pagamento, nella mia idea, non può essere effettuato fuori dal c/ Cassa, per cui la tua registrazione
Cmq la curiosità resta!!
esempi:
1. prelievo contanti con bancomat: D cassa x 100// A banca x 100
2. pagamento vestito con carta di credito: D vestito x 200 // A carta per 200 se si apre un conto vestiti, altrimenti si registra la sola uscita
3. scarico carta di credito mensile: D carta 1000 // A banca 1000
4. pagamento vestito con a/b: D vestito 100 // A banca x 100 se si apre un conto vestiti, altrimenti si registra la sola uscita
1.ATTIVO:La creazione della doppia eregistrazione, una per il movimento Dare e l'altra per il movimento Avere, l'ho lasciata al libero arbitrio dell'utente, il quale, nel ramo della creazione dei conti e sottosonti del piano contabile potrà decidere se creare un aggancio con la contropartita, oppure no. Qualora volesse farlo, non dovrà fare altro che attribuire a ciascun sottoconto del c/Cassa un aggancio con un sottoconto di un c/dell'Attivo, del Passivo, dei c/Economici delle Entrate o delle Uscite. Il tutto verrà poi gestito automaticamente tramite chiavi relazionali del D.B. d'appoggio.
1.1 Cassa
1.1.1 Entrate per Emolumenti
1.1.1.1 Stipendio
1.1.1.2 gettone di presenza
1.2 C/Banche
1.2.1 c/c Attivi
1.2.1.1 c/c Banca A
1.2.1.2 c/c Banca B
1.3 Debitori diversi
1.3.1. Prestiti a terzi
1.3.1.1 Caio
1.3.1.2 Sempronio
......................................
2.PASSIVO
2.1 Debiti vero Banche
2.1.1 Finanziamenti
2.1.1.1 Finaziamento Banca A
2.1.2 Gestori Carte di Credito
2.1.2.1 Gestore Carta 1
2.1.2..2 Gestore Carta 2
2.2 Creditori diversi
2.2.1 Fornitori per vestiario
2.2.1.1 Fornitoore Pinco
2.2.1.2 Fornitore Palla
...........................................
3.CONTI EONOMICI DELLE ENTRATE
3.1 RENDITE
3.1.1 Emolumenti diversi
3.1.1.1 Stipendio
3.1.1.1 Diaria Ditta A
3.1.1.2. Diaria Ditta B
..............................................
4.CONTI EONOMICI DELLE USCITE
4.1 SPESE
4.1.1 Vitto
4.1.1.1 Pane
4.1.1.2 Pesce
4.1.2 Vestiario
4.1.2.1. Camicie
4.1.2.2 Scarpe
Articolo pubblicato nel blog...Grazie Ceskho! :2birre:
STATIC PUBLIC $_DbPath AS String = Application.Path & "/ContabFam_DB" 'Percorso di ricerca del Database ContabFam.db"
STATIC PUBLIC $_DbNome AS String = "ContabFamdb" 'Nome del Database
wath's g3? :rotfl:
Veramente non lo so. Io non sono approdato in codesta avanzata spiaggia. Te lo saprò dire fra qualche mese. :rotfl:
:ciao: :ciao:
dare al db il percorso tramite application.pathcosì come mi consigli. Pensavo di averlo applicatop correttamente, ma ho capito che non ci sono riuscito. Potresti farmi un esempio?
far creare al primo avvio una cartella con il nome del programma nella home dell' utente (a tua scelta se farla nascosta o visibile,quasi tutti i programmi la creano nascosta)in cui andrai a salvare il database e altri file in cui ci devi scrivere informazioni.. Anche per questo mi occorrerebbe una lampadina accesa, anche semplicemente suggerendomi un programma dove scoprire come fare.
PUBLIC SUB Form_Activate()
DIM b_SwMenu AS Boolean
DIM Frm5 AS Form05
DIM i AS Integer
DIM $_FrmParam AS NEW String[]
IF NOT Exist(User.home & "./ContabFab) then"
MKDIR (User.home & "./ContabFab)"
ENDIF
'-----------------------------------------
IF b_SwVerifDb = FALSE 'test necessario per assicurare che la Form5.class venga richiamata una sola volta, all'avvio del programma
b_SwVerifDb = TRUE 'Verifica status Db 'ContabFamdb' non ancora effettuata
$_FrmParam.Add("0")
Frm5 = NEW Form05($_FrmParam)
i_SwReturn = Frm5.ShowModal() 'avvio della procedura di controllo preliminare sulla validità del DB
SELECT CASE i_SwReturn
CASE (-1)
b_SwMenu = FALSE
GestMenu(b_SwMenu)
CASE 99
ME.Close
END SELECT
ENDIF
END
STATIC PUBLIC DB_Connection AS NEW Connection 'inizializza la nuova connessione
STATIC PUBLIC $_DbPath AS String = User.home & "./ContabFam" 'Percorso di ricerca del Database ContabFam.db"
STATIC PUBLIC $_DbNome AS String = "ContabFamdb" 'Nome del Database
PUBLIC SUB _new()
'----------------------------------------
WITH
DB_Connection
.Close
.Type = "sqlite3"
.Host = $_DbPath
.Name = $_DbNome
.OPEN 'Apro il DB
END WITH
END
$_SceltOper = "Menu06" 'è stato scelto il percorso dell'INSRIMENTO MOVIMENTI DI GIORNATA CONTABILE
$_FrmParam.add("Autom")
Frm1 = NEW Form01($_FrmParam)
i_SwReturn = Frm1.ShowModal()
SELECT CASE i_SwReturnvolevo segnalarti che attualmente il tuo programma non funziona :)
ti sconsiglio di dare al db il percorso tramite application.path.Ciò mi porta a considerare la possibilità di caricare il mio programma.eseguibuile in /usr/bin in modo da farlo partire anch'io da quella posizione e creare, come dici tu una directory nascosta all'interno della home-utente.
questo perchè se tu deciderai di distribuire il programma in pacchetti precompilati , ad esempio .deb, l' eseguibile gambas sarà posizionato in /usr/bin per cui durante l' utilizzo non si avranno i permessi per creare nuovi file in tale cartella , di conseguenza nessuno potrà usare il tuo software.
hai creato un sacco di classi il cui scopo è solo l' esecuzione di funzioni, come mai hai scelto di usare delle classi anzichè dei moduli?Ricordo di aver letto, durante i miei primi approcci, che i moduli restano sempre attivi in memoria, durante l'esecuzione del propgramma, cosa che non avviene con l'uso delle classi dinamiche.
che convenienza hai ad aprire i form cone una istanza della classe?Tale metodo mi permette di passare alla form variabili che altrimenti dovrei dichiarare public in moduli da tenere impegnati anche se non necessariamente utili.
[pietro@localhost ~]$ ls
CensimentoPopolazione2011.iso Immagini Musica Scaricati
ContabFam mnt output.pdf Scrivania
evolutionk Modelli Pubblici Video
[pietro@localhost ~]$ WITH DB_Connection
.Type = "sqlite3"
.Host = "home/user/ContabFam"
.Login = ""
.Password = ""
.Open
END WITH
DB_Connection.Databases.Add("ContabFamdb")
CATCH
IF ERROR THEN
Message.ERROR("Attenzione! -> Errore in " & Error.Where & Chr(10) & Chr(10) & "Creazione Database --> FALLITA" & Chr(10) & Chr(10) & "Cod.Erro= " & Error.Code & "»»" & ERROR.Text & Chr(10) & Chr(10) & "Il programma verrà chiuso")
QUIT
ELSE
DB_Connection.CloseCod.Erro=-1 »» Cannot create database: Unknown database errorAnche cambiando nome al DB il risultato è sempre lo stesso.
.Host = "home/user/ContabFam" .Host = user.home & "/ContabFam" la versione modificata è quella presente in area download? :2birre:Così sembra! :D
fsurfing ha scritto:É una procedura che non conosco perchè un programma in formato eseguibile è costituito da un solo file, quindi mi sembra un risultato diverso da quello a cui mi hai accennato a suo tempo.
se tu deciderai di distribuire il programma in pacchetti precompilati , ad esempio .deb, l' eseguibile gambas sarà posizionato in /usr/bin per cui durante l' utilizzo non si avranno i permessi per creare nuovi file in tale cartella , di conseguenza nessuno potrà usare il tuo software.
Mi intrometto:
1) se parli di guida cartacea: OpenOffice o Pdf
2) alternativa: pagina web, magari inclusa nell'installazione, linkando il sito ove la guida è pubblicata, e/oppure in locale sul proprio pc. Nei miei programmi, un bel F1 e via, o da menu sotto Help e About...
migliorato un pò la funzionalità. Vorrei perciò ripetere la pubblicazione. Mentre ho capito come gestire la creazione e la manutenzione del DB collegato, vorrei riprendere il concetto:
Citazione
fsurfing ha scritto:
se tu deciderai di distribuire il programma in pacchetti precompilati , ad esempio .deb, l' eseguibile gambas sarà posizionato in /usr/bin per cui durante l' utilizzo non si avranno i permessi per creare nuovi file in tale cartella , di conseguenza nessuno potrà usare il tuo software.
É una procedura che non conosco perchè un programma in formato eseguibile è costituito da un solo file, quindi mi sembra un risultato diverso da quello a cui mi hai accennato a suo tempo.
per i file che invece devono essere scritti non puoi utilizzare un percorso assoluto oppure definire il percorso con application.path , bensi devi posizionarli in un percorso relativo, ad esempio nella home dell' utente ( user.home).Il DB gestito dal programma è naturalmente soggeto a continui inserimenti, per cui ho già proceduto alle opportune modifiche nel programma per generare un indirizzamento relativo
comunque se vuoi testare il tuo programma prima di distribuirlo mandami un deb+ i sorgenti , oppure creati una macchina virtuale in cui installi solamente il deb e controlli che tutto funzioni correttamenteQuellla della macchina virtuale è una buona idea, ma fino ad oggi non conosco assolutamente lo strumento. Quindi, se non ho capito male dovrei eseguire, nella macchina virtuale di cui parli, un "install /percorso-attuale/Contabfam.gambas" Ciò dovrebbe, sempre virtualmente parlando, creare il relativo pacchetto in /bin/usr. Potrò a questo punto eseguire il programma in versione-da-distribuire.