Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

nombre réponses : 25

#0 Re : -1 »  [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...) » Le 02/04/2013, à 18:49

caracolito
Réponses : 2 096

Bonjour,

J'aimerai pouvoir utiliser ce script Python en mode fenetre avec un truc comme Zenity, mais je suis incompetent.

Voici le script qui consiste a transformer un fichier .csv en au autre utilisable par le logiciel homebank

Une fenetre qui me demanderai le fichier a convertir, le fichier  de definitions et le fichier sortie
selon la syntaxe du script python ci-apres.

Merci pour votre aide.
Pierre

Convert_x.x.x.py [import.csv] [output.csv] [import.def] ____

                 [import.csv] = ("bank".csv)    file exported from bank
                 [output.csv] = (homebank.csv)  file to be created
                 [import.def] = ("bank".def)    definition-file "bank" <> "Homeb
et le script ci-dessous que j'ai récupéré je ne sais plus ou

#!/usr/bin/env python
#
#  Convert_v1.3
#  Copyright (c)Ton van Twuyver @ <profiler1234@gmail.com>
#
#  This script is written with "HomeBank" in mind. <http://homebank.free.fr>
#  Purpose:    to convert any Bank-file.csv into Homebank.csv by means of a definition-file.
#  
#  Convert.py is written in Python(2.6) and free software,
#  It is distributed in the hope that it will be useful, but comes WITHOUT ANY WARRANTY;
#  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#  See the GNU General Public License for more details.
#  You can redistribute it and/or modify it under the terms of the GNU General Public License
#  as published by the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.
#
#  GNU General Public License @ <http://www.gnu.org/licenses/>.
#

import os
import sys
import re
print
#### CsvConvert####################################

class CsvConvert:
    """ reads and converts [import.csv] with [definition.def] rules """
    
    def __init__(self, fromfile_, deffile_, tofile_, logfile_):
    
        # parse definition-file and create conversion-lists
        def_eof = False
        n  = 0                                  # (definition line counter)
        fld  = 0                                # (valid fields present)
        d_old   = ''
        hb = []                                 # homebank conversion-list
        ip = []                                 # import   conversion-list
        
        Hdl  = 0
        date = ''
        code = ''
        posneg = ''
        hd_acc_ln = []
        hd_bal_ln = []
        hd_len = 0
        while not def_eof:
            # Definition-file PARSER --------------------------------------
            
            n += 1                              # line count
            def_line = deffile_.readline()
            # def_eof
            if len(def_line) < 1:
                def_eof = True
                
            def_line = def_line.rstrip('\n')
            d = def_line.split(';')
            # valid definition header line length is 3
            if (len(d) == 3) and (d[0] == 'H'):
                # Extract Details # of header-lines to be skiped
                Hdl = int(d[2])                
            # valid definition field line length is 5
            if (len(d) == 5):
                # definition line contains already defined field -> improper "not-in-use" data ?
                if (d_old == d[0]) and (int(d[2]) < 0):
                    print 'Error in definition-file-record[%s]: field already defined !'% n
                    logfile_.write('Error in definition-file-record[%s]: field already defined ! \n'% n)
                else:
                    # Extract Details for Date,Paycode,Sign:
                    if (d[2].rstrip() != ''):
                        # Date
                        if  int(d[0]) == 0:     date = d[4]
                        # PayCode
                        elif int(d[0]) == 1:
                            code = d[4]
                            # Code-detail content needs checking:
                            #   starts with N-items of bank-code, followed by N-items of homebank-code
                            #   so, the total should always be an even-amount of items !!
                            cod_ = (d[4].split(','))
                            Even = len(cod_)-(len(cod_)/2)*2    # this is zero if Even
                            if (Even != 0):
                                print 'Error in definition-file: paycode detail-data ncorrect, Not correct amount of items'
                                logfile_.write('Error in definition-file: paycode detail-data Incorrect, Not correct amount of items \n')
                        # Sign (Amount)
                        elif int(d[0]) == 5:    posneg = d[4]
                    # Extract Details for Header [line-number,item]
                    if int(d[2].rstrip()) <= -2:
                        # store last header-line
                        hd_len = abs(int(d[2]))
                        # account-number
                        if int(d[0]) == 7:      hd_acc_ln = d[4].split(',')
                        # balance
                        elif int(d[0]) == 8:    hd_bal_ln = d[4].split(',')
                    # count valid fields def.    
                    if (int(d[2]) > -1):    fld = fld + 1
                    # create conversion-lists        
                    hb.append(int(d[0]))
                    ip.append(int(d[2]))
                    
                d_old = d[0]                    # remember curr. field-data
            # rest is invalid definition line
        print hb
        print ip
        
        # parse import.csv
        n = 0                                   # (import line counter)
        imp_eof = False
        acc_old = ''
        bank = {                                # All known accounts
        '0123456789':'Bank1',
        '0987654321':'Bank2'
        }
        while not imp_eof:
            # Import(Bank)-file PARSER --------------------------------------
            
            n += 1                              # line count
            line = fromfile_.readline()
            # eof (import)
            if len(line) == 0:
                imp_eof = True
                break
                
            # Skip record-lines in Header
            if (Hdl < n):
                # Cleanup record-line
                line = line.rstrip('\r\n')          # get rid of CRLF
                line = line.replace("'",'"')        # harmonize all quotes ""
                ln = len(line)

                # problems encountered spliting lines:
                #   1   Some (not all) fields are with quotes
                #       1a      text between quotes
                #       1b      numbers between quotes  
                #   2   comma separated fields contains comma (e.g. in amounts)
   
                CsvConvert.fail = 0
                # Find out Separator type and split
                line_c = line.replace(',','')
                line_s = line.replace(';','')
                
                if len(line_c) > len(line_s):       # semicolon separator (comma's in field allowed)
                    rec = line.split(';')
                else:                               # comma separator (comma's in field NOT allowed)
                    # Find out if quotes are present, and in pairs
                    line_q = line.replace('"','')
                    qt = (len(line)-len(line_q))
                    # Check pairs
                    if (qt-2*int(qt/2)) != 0:
                        CsvConvert.fail = n         # Error => Store record-/line-number
                        logfile_.write('Error in record[%s]: Quotes not in pairs\n'% n)
                    else:
                        # if between quotes a comma is present, change to '.'
                        # remove quotes after checking
                        Quotes = True
                        print "  " + line
                        while Quotes:
                            ln = len(line)
                            q1 = line.find('"')
                            q2 = line.find('"',q1+1)
                            #print q1,q2
                            if (q1 > 0) and (q2 > 0):
                                l1 = line[q1:q2+1].replace(",",'.')
                                line = line[0:q1] + l1.replace('"','') + line[q2+1:ln]
                            else:
                                Quotes = False
                                
                        rec = line.split(',')       # Now it is safe to split

                # Cleanup all quotes left behind
                for i in range(len(rec)):
                    rec[i] = rec[i].strip('"')
                    
                # Header present (ONLY for single account file)
                if hd_len > 0:
                    # accountnumber
                    if n == int(hd_acc_ln[0]):
                        n_ac = int(hd_acc_ln[1])
                        # filter out only digits (account-number)
                        # and make accountnumber 10 char.long
                        ac = re.sub('[^0-9]','',rec[n_ac])
                        if len(ac) < 10:   ac = (10 - len(ac))*'0' + ac
                        #print "<>", ac, bank[ac]
                        tofile_.write('%s;%s\n'% (ac,bank[ac]))
                    # balance (for future use)
                    if n == int(hd_bal_ln[0]):
                        n_bc = int(hd_bal_ln[1])
                        bc = rec[n_bc]
                        bc = ParseAmount(bc)
                        #print "<>", float(bc)

                # Check account-record-length in relation to def, log only error outside header
                if ((fld >= len(rec)) or (max(ip) >= len(rec))):
                    CsvConvert.fail = n                     # Error => Store record-/line-number
                    if (n > hd_len):
                        logfile_.write('Error in record[%s]: Field(s) missing\n'% n)
                
                if (CsvConvert.fail == 0):                  # >>>>> skip record with error !
                    # Construct Homebank records
                    hb_old  = 0
                    record  = ''
                    am = ''
                    for j in range(len(hb)):
                        h = hb[j]        
                        b = ip[j]
                        rec_new = rec[b]
                        # ________________conversions
                        # "date"
                        if (h == 0):                        
                            dd = date.find('DD')
                            mm = date.find('MM')
                            yy = date.find('YYYY')
                            rec_new = '%s-%s-%s'% (rec[b][dd:(dd+2)],rec[b][mm:(mm+2)],rec[b][yy:(yy+4)])
                        # "paycode"
                        if (h == 1):
                            rec_new = ''
                            # empty code
                            if (code == ''):
                                print '>>>>> Empty Paycode: ' + rec[b]
                                logfile_.write('Empty Paycode "%s" in record[%s]\n'% (rec[b],n))
                            else:    
                                # Unknown paycode (Not in .def)
                                if code.find(rec[b]) < 0:
                                    print '>>>>> Unknown Paycode: ' + rec[b]
                                    logfile_.write('Unknown Paycode "%s" in record[%s]\n'% (rec[b],n))
                                # Known paycode (present in def)
                                else:
                                    k = 0
                                    cd = code.split(',')
                                    offset = len(cd)/2
                                    for c in cd:
                                        if c == rec[b]:     rec_new = cd[k + offset]
                                        k += 1                                    
                        # "amount"
                        if (h == 5):
                            #print "<>", rec[b]
                            rec_new = ''
                            # Amount
                            if (am == ''):
                                am = rec[b]
                                am = ParseAmount(am)
                                if not ParseAmount.valid:
                                    print 'Error in record[%s]: Amount-Field corrupt\n'% n
                                    logfile_.write('Error in record[%s]: Amount-Field corrupt\n'% n)
                                    break
                            # Sign
                            elif (posneg != ''):                    # Dualline def.
                                pn = posneg.split(',')
                                if   rec[b] == pn[0]:   am = '-%s'% am
                                elif rec[b] == pn[1]:   pass
                                rec_new = am
                            # No-sign
                            if posneg == '': rec_new = am           # Single line def.
                            
                        # ___________________assemble output-record
                        # skip if this field indicates [Not used] or [Header]
                        if (ip[j] >= 0):
                            # [date]
                            if (h == 0):
                                record = rec_new
                            # [paymode]    
                            elif (h == 1):
                                record = '%s;%s'% (record,rec_new)
                            # [info -> offset-account]
                            elif (h == 2):
                                # filter out only digits (account-number)
                                # and make accountnumber 10 char.long
                                rec_new = re.sub('[^0-9]','',rec_new)
                                if len(rec_new) < 10:   rec_new = (10 - len(rec_new))*'0' + rec_new

                                if (int(rec_new) > 0):
                                # if (len(rec_new) != 0) and (int(rec_new) > 0):
                                    record = '%s;%s'% (record,rec_new)
                                else:
                                    record = '%s;'% record
                            # [payee]
                            elif (h == 3):
                                record = '%s;%s'% (record,rec_new)
                            # [description]
                            elif (h == 4):
                                # Combine multiple "not empty" description Bank-records
                                if (hb_old == h):
                                    if (len(rec_new) != 0):
                                        record = '%s_%s'% (record,rec_new)
                                    else:
                                        pass
                                # First description Bank-record
                                else:
                                    hb_old = h
                                    if (len(rec_new) != 0):
                                        record = '%s;%s'% (record,rec_new)
                                    # empty
                                    else:
                                        record = '%s;'% record
                            # [amount]
                            elif (h == 5):
                                if (len(rec_new) != 0):
                                    record = '%s;%s'% (record,rec_new)
                                else:
                                    pass
                            # [category]
                            elif (h == 6):
                                record = '%s;%s'% (record,rec_new)
                            # [account]    
                            # NOT IMPLEMENTED IN HOMEBANK CSV-import
                            #       multi accounts import: sequential account listing
                            #       at top of accountlist extra line with account-name
                            #       format: account-number; "Homebank account-name"
                            #       Needs Homebank 4.3 "import.c" adaptation (TvT(c)2010)
                            elif (h == 7):
                                # filter out only digits (account-number)
                                # and make accountnumber 10 char.long
                                rec_new = re.sub('[^0-9]','',rec_new)
                                if len(rec_new) < 10:   rec_new = (10 - len(rec_new))*'0' + rec_new
                                # detect next account
                                if (rec_new != acc_old):
                                    acc_old = rec_new
                                    try:
                                        #print "<>", rec_new,bank[rec_new]
                                        tofile_.write('%s;%s\n'% (rec_new,bank[rec_new]))
                                    except KeyError:
                                        #print 'Unknown/New account number'
                                        tofile_.write('%s;%s\n'% (rec_new,'New_account'))
                            # [balance]            
                            # NOT IMPLEMENTED IN HOMEBANK CSV-import
                            #       Listed Balance value before/after transaction ?
                            #       Needs further investigation and Homebank 4.3 "import.c" adaptation
                            # TODO  Needs Homebank 4.3 "import.c" adaptation
                            elif (h == 8):
                                # For future use, now just print available Balance-value ....
                                bal = re.sub('[^0-9.-]','',rec_new)
                                print float(bal) + float(am)

                        # Field not available [-1]
                        elif (h < 7) and (ip[j] == -1):
                            record = '%s;'% record
                            
                    #print record
                    tofile_.write('%s\n'% record)

#### ParseAmount ####################################

def ParseAmount(am):
    """ check and harmonize grouping and decimal-point
          outputs amount and valid-flag(true/false)
    """

    ParseAmount.valid = True
    # filter
    am = re.sub('[^0-9,.-]','',am)
    # integers(any number).fraction(0..2) 
    # find decimal point
    frac1 =len(am)-am.find('.')
    frac2 =len(am)-am.find(',')
    # No grouping & No fraction / decimal-point
    if (frac1 == frac2):
        am = '%s.00'% am
    # xxx,xxx,xxx.xx    comma-grouping, dot-decimal
    elif (frac1 < 4) and (frac1 > 0):   
        am = am.replace(',','')
    # xxx.xxx.xxx,xx    dot-grouping,   comma-decimal
    elif (frac2 < 4) and (frac2 > 0):
        am = am.replace('.','')
        am = am.replace(',','.')        # harmonize decimal-point
    # grouping & No fraction / decimal-point
    else:
        am = am.replace(',','')
        am = am.replace('.','')
        am = '%s.00'% am
    # check validity result
    if (len(am) - am.find('.')) != 3:
        ParseAmount.valid = False
    return am
                
#### Convert ##########################################
      
class convert:
    """ Converts <unknown> csv-file """
    # 1- where are the csv-files?                   =>  commandline
    # 2- Convert via definition-file 
    # 3- what is csv-separator: comma, semicolon ?
    # 4- Skip "corrupted" bank-file records
    # 5- Include multi-accounts in output.csv       (NOT IMPLEMENTED IN HOMEBANK CSV-import)
    # 6- Include balance info in output.csv         (NOT IMPLEMENTED IN HOMEBANK CSV-import)
    # 7- Log all conversion process-items
      
    def __init__(self):
    
        error = 'Input error!____ Type ./Convert_x.x.x.py [import.csv] [output.csv] [import.def] ____\n\n\
                 [import.csv] = ("bank".csv)    file exported from bank\n\
                 [output.csv] = (homebank.csv)  file to be created\n\
                 [import.def] = ("bank".def)    definition-file "bank" <> "Homebank"\n\n\
                 Logging conversion process -> log.txt\n'
        homebank = ['date','paymode','info','payee','description','amount','category']  # 4.3
        
        if (len(sys.argv) != 4):
            print error
            exit(1)

        if os.path.isfile(sys.argv[1]):
            fromfile = open(sys.argv[1],'r')
        else:
            print '\nInput error!____ import.csv: ' + sys.argv[1] + ' does not exist / cannot be opened !!\n'
            exit(1)
            
        try:
            tofile   = open(sys.argv[2],'w')
        except:
            print '\nInput error!____ output.csv: ' + sys.argv[2] + ' cannot be created !!\n'
            exit(1)
            
        if os.path.isfile(sys.argv[3]):
            deffile = open(sys.argv[3],'r')
        else: 
            print '\nInput error!____ import.def: ' + sys.argv[3] + ' does not exist / cannot be opened !!\n'
            exit(1)
            
        logfile  = open('log.txt', 'w')
        
        logfile.write('Opening import     %s\n' % fromfile)
        logfile.write('        export     %s\n' % tofile)
        logfile.write('        definition %s\n' % deffile)

        CsvConvert(fromfile, deffile, tofile, logfile)
                
        logfile.write('Closing files\n')
        logfile.close()
        fromfile.close()
        tofile.close()
        deffile.close()

if __name__ == "__main__":
    convert()

#1 Re : -1 »  [non-anglophones] Proposez vos idées pour améliorer Ubuntu ! » Le 15/09/2016, à 20:56

caracolito
Réponses : 713

Mon commentaire sur un point important un peu délaissé par les développeurs que j'adore et soutiens.

Ce qui m'amène ici est la reflexion suite à une expérience catastrophique récente.

Au fil des installations d'Ubuntu, j'ai constaté que des efforts sont fait dans le sens de la "cosmétique" mais ce n'est pas là que je veux en venir aujourd'hui.

Je me positionne en tant que utilisateur Lambda et je pense qu'il serait interessant de faire un effort sur l'installateur d'Ubuntu (Ubiquity) c'est le premier contact qu'à un utilisateur Lambda avec Ubuntu.
Effort en particulier sur la phase délicate qui consiste à procèder à la modification des disques (partionnement).

Il serait 'judicieux' et 'rassurant' de présenter à l'utilisateur un résumé des opérations 'irreversibles' qui vont être effectuées mais sans l'inquièter, celà lui donnerait la possibilité de poursuivre l'installation, d'annuler où de revenir en arrière. 

Croyez vous qu'un Utilisateur Lambda sait ce que veut dire partitionnement, Sda, Sdc1, Boot, Grub etc...?

Par contre, si vous dites à l'utilisateur Lambda par exemple:
"Voulez vous installer Ubuntu sur le disque dur de votre portable ou sur le disque SSD Toshiba connecté sur USB ?" ..., alors l'utilisateur Lambda de 90 ans comprendra peut-être mieux. ( Vous allez me dire qu'il le fait ! effectivement, mais ce n'est pas pour un utilisateur Lambda! )

Utilisons un language normal pour un utilisateur normal et non pas un language technique pour un utilisateur normal.

Il arrive aussi que tout se passe bien sauf à la fin ! une erreur catastrophique et tout est perdu. Ce fut mon cas il y a deux jours. Confiant, j'avais décidé d'installer la dernière version de Ubuntu (16.10) sur un disque SSD et non à côté de la 16.04 sur mon portable. Cette erreur (distraction) m'a valu la perte de mon ubuntu 16.04 - Le GRUB estropié...

Alors, pour éviter tous ces maux de tête en cas de catastrophe, Je SUGGERE aux développeurs: Préservation Automatique au démarrage d'une installation et la Restauration Automatique en cas déchec de l'installation opération qui doit être transparente: "Il y a eu un pépin; donc je remet les choses en place discrètement" - Voilà un comportement "Intelligent". Pourquoi pas un message du style:  "L'installation suite à une erreur a échoué. Cependant Ubuntu a donc remis en état votre ordinateur comme il se trouvait avant l'installation". Je pourrai aller plus loin avec en plus: avec des excuses ... "..Comme vous l'avez souhaité nous avons informé nos developpeurs du problème."

Cette préservation pourrait être effectuée sur un support du style cle USB qui serait conservée même si l'installation a réussi de façon à permettre à l'utilisateur Lambda de revenir à un état antérieur..

Alors, vous croyez que c'est agréable au redémarrage de l'ordinateur de voir un menu GRUB dont l'utilisateur Lambda ne sait pas ce que sait!
Si un système comme je le suggère est mis en place, c'est fini ce genre de problème et l'écran noir de mr Grub dont je n'ait rien à cirer.
Et surtout pas de de me suggerer d'utiliser BootRepair ! je suis, et veux rester malgrè mes 50 années d'expérience en informatique un utilisateur Lambda.
Ma théorie de toujours: "Pourquoi demander à l'utilisateur de faire quelque-chose quand l'ordinateur peut le faire à sa place" ?
Est-ce que je me suis fait comprendre ?
Merci de m'avoir lu.

D'autres suggestions à venir sur notament les imprimantes..
Bien le bonjour d'Espagne où je vis ma retraite.

#2 -1 »  Dual Boot Ubuntu - comment supprimer un systeme » Le 22/10/2016, à 11:20

caracolito
Réponses : 4

Bonjour,

J'ai deux systemes Ubuntu installés 16.10 32bits et 16.04 64bits.
Je veux recuperer l'espace du systeme 32bits (sda1) et booter sur le systeme 64 bits je ne sais comment proceder sans risque.
Merci de votre aide.

Ecran Gparted
si l'image ne s'affiche pas lien ci-dessous sur google drive.
Ecran Gparted

#3 Re : -1 »  Dual Boot Ubuntu - comment supprimer un systeme » Le 22/10/2016, à 18:17

caracolito
Réponses : 4

j'imagine que je dois lire

sudo update-grub et non sudo update-gub !

Je vais essayer, mais avant je dois trouver une solution pour preserver mon ubuntu 16.04 64bits au cas ou ca foire !

Le systeme que je veux garder se trouve dans /dev/sda2 (partition etendue) ca marchera ??

Merci

#4 Re : -1 »  Votre âge ? » Le 29/06/2013, à 18:31

caracolito
Réponses : 1 857
Sga64 a écrit :

00001111 ans big_smile

15 ans déjà ?

#5 -1 »  incompatibilite navigateurs sous windows et Linux » Le 26/06/2014, à 20:56

caracolito
Réponses : 1

Bonjour,

J'ai le gros probleme suivant:
Je me connecte a une page web via google chrome ou firefox o tout autre navigateur qui fonctionne sous ubuntu (14.04) et je n'obtiens pas le meme résultat avec les memes navigateurs sous windows !!
La page concernée est la suivante: www.fotocuadros.com ( cette page est en espagnol )
avec chrome et consors la ligne de menus sur la page d'accueil de cette entreprise est correcte ( complète ) sous windows c'est a dire le dernier menu 'ayuda' petit cadenas et acces a son compte
par contre sous ubuntu avec chrome, firefos et cie il manque le dernier menu me permettant d'acceder a une page login.
j'ai fouiné avec les inspecteurs Firebug etc... mais je suis incapable de trouver ou est le problème !

Un spécialiste saurait-il me dire pourquoi?

s'agit-t-il d'une incompatiblite dans une css windows/linux ou autre chose ?

Avec tous mes remerciements

Pierre

#6 Re : -1 »  Vmware Player : problème au lancement Unity avec raccourcis » Le 05/05/2013, à 23:03

caracolito
Réponses : 7

Je n'utilise plus que Vmplayer avec son Unity
Naviquer entre les deux OS devient presque transparent.
Cependant avec Ubuntu 13.04, si je me mets en mode unity sous Vmplayer,
1) je n'ai plus le controle de la souris
2) impossible de re-ouvrir l'hote.
3) solution: redemarrer

Peut-on faire mieux ou installer gnome sous ubuntu 13.04

#7 Re : -1 »  Vmware Player : problème au lancement Unity avec raccourcis » Le 08/05/2013, à 12:55

caracolito
Réponses : 7

Merci Asthar

Reglages mémoire 1,9 go sur les 4go de mon portable et Swap 4go ( swap de ubuntu ?)

Je vais suivre ton conseil: creer un post spécifique ( est-ce possible déplacer mes messages ou dois-je creer un post adh'oc ? ) suis pas tres habitué...

Merci encore

#8 Re : -1 »  Vmware Player : problème au lancement Unity avec raccourcis » Le 09/05/2013, à 18:46

caracolito
Réponses : 7
ashtar a écrit :

Salut caracolito,

Merci pour tes réglages, je vais voir avec ma machine au retour des vacances tongue
Pour ton post, impossible de déplacer, créer en un.

@+
Ashtar

Ok on verra apres les vacances, moi aussi je pars .... Las Palmas Gran Canaries !

#9 -1 »  Comment compiler un projet ecrit en cpp » Le 22/10/2013, à 23:11

caracolito
Réponses : 6

Bonjour,

Je dispose d'un fichier zip contenant le source d'un programme écrit en cpp prevu pour windows
je ne sais pas comment le compiler sous ubuntu et creer un ficier executable.


qui peut m'aider je ne sais comment passer ce fichier ici dans ce forum.

Merci

Pierre

#10 Re : -1 »  Comment compiler un projet ecrit en cpp » Le 23/10/2013, à 12:47

caracolito
Réponses : 6

Merci Braun.

Il s'agit d'un logiciel de modélisation 3D de charpentes particulières : zome, nid d'abeille, heliyourte, geodome

Voici la liste des fichiers.

complexes.cpp
complexes.h
domenidabeille3d.cpp
domenidabeille3d.h
domenidabeille.cpp
domenidabeille.h
fenprincipale.cpp
fenprincipale.h
fenprincipale.ui
geodome3d.cpp
geodome3d.h
geodome.cpp
geodome.h
glwidget.cpp
glwidget.h
heliyourte3d.cpp
heliyourte3d.h
heliyourte.cpp
heliyourte.h
images
main.cpp
mathema.cpp
mathema.h
objet3d.cpp
objet3d.h
parametres.cpp
parametres.h
procedureAjout3d.txt
README.md
rectoid.cpp
rectoid.h
todo.txt
toileyourte.cpp
toileyourte.h
tousLesDocs.qrc
tousLesDocs.rc
voutenidabeille3d.cpp
voutenidabeille3d.h
voutenidabeille.cpp
voutenidabeille.h
zdc.ico
zome3d.cpp
zome3d.h
zome.cpp
zomedomeetcie_en.ts
zomedomeetcie.pro
zome.h

Par ailleurs un fichier (zomedomeetcie.pro) que j'imagine dédié à Linux contient ces informations.

CONFIG +=
QT       += core gui
QT       += opengl
QT       += xml

TARGET = zomedomeetcie
TEMPLATE = app

#la ligne suivante n est a rajouter que sous linux
LIBS += -lGLU

# Input
HEADERS += fenprincipale.h \
           glwidget.h \
           mathema.h \
           objet3d.h \
           voutenidabeille.h \
           voutenidabeille3d.h \
    rectoid.h \
    parametres.h \
    domenidabeille.h \
    domenidabeille3d.h \
    complexes.h \
    zome.h \
    zome3d.h \
    heliyourte.h \
    heliyourte3d.h \
    geodome.h \
    geodome3d.h \
    toileyourte.h
FORMS += fenprincipale.ui
SOURCES += fenprincipale.cpp \
           glwidget.cpp \
           main.cpp \
           mathema.cpp \
           objet3d.cpp \
           voutenidabeille.cpp \
           voutenidabeille3d.cpp \
    rectoid.cpp \
    parametres.cpp \
    domenidabeille.cpp \
    domenidabeille3d.cpp \
    complexes.cpp \
    zome.cpp \
    zome3d.cpp \
    heliyourte.cpp \
    heliyourte3d.cpp \
    geodome.cpp \
    geodome3d.cpp \
    toileyourte.cpp
RESOURCES += tousLesDocs.qrc
RC_FILE += tousLesDocs.rc 
TRANSLATIONS = zomedomeetcie_en.ts

OTHER_FILES += \
    todo.txt \
    procedureAjout3d.txt

#11 Re : -1 »  Comment compiler un projet ecrit en cpp » Le 23/10/2013, à 13:18

caracolito
Réponses : 6
Braun a écrit :

Bonjour,
Comme je l'appréhendais il s'agit d'un gros projet.
Sauf erreur de ma part tu devrais l'ouvrir avec Qt Creator (disponible sur les dépôts) et lancer la compilation du fichier "main.cpp".
Cordialement
P.S. Un clic droit sur le fichier .pro doit proposer l'ouverture avec Qt Creator.

Qt - Creator ?

Connais pas, je ne suis pas developpeur, de plus j'ai un portable alors j'ai bien peur qu'il explose !

Merci Braun

#12 -1 »  Comment copier dans le presse-papier les noms de fichiers sélectionés » Le 19/09/2013, à 11:35

caracolito
Réponses : 1

Bonjour,

Je cherche deseperement un script me permettant aprés avoir selectionnés des fichiers dans un repertoir d'en copier le nom dans le presse papier, ensuite je veux coller dans un document email, texte etc le contenu du presse papier.

Quelqu'un a-t-il une solution ou si elle existe ou se trouve-t-elle ?

Merci
Pierre

#13 -1 »  Raring Backup avec remastersys » Le 05/04/2013, à 21:23

caracolito
Réponses : 1

Bonjour,

J'ai installé remastersys mais, impossible d'aller jusqu'au bout quand je decide de faire un backup

Mon objectif, faire un backup de mon systeme tel quel avec tous les pg testes sous raring sans les répertoires ci-dessous
-Telechargements
-Images
-Photos
-Documents

Je n'arrive pas a configurer Remastersys

Aui peut m'aider ?
Merci

#14 Re : -1 »  Nouveautés dans Raring » Le 31/03/2013, à 22:52

caracolito
Réponses : 2 844
navtex a écrit :

xubuntu 13.04 installé et pas de grosse differences vu qu'il a absolument  tout importé de mon home partagé avec voyager
Par contre maintenant visibilité parfaite  du tel.
Ubuntu: année de la Chine et du téléphone  !?

c'est quoi voyager ??

#15 Re : -1 »  Avant on Pouvait le faire, Maintenant on ne peut plus et c'est pire... » Le 01/05/2013, à 10:36

caracolito
Réponses : 13

Avant quand on visualisait un dossier avec des photos, on pouvait modifier la tailles des icones represantant les photos. ( Ctrl + molette de la souris  on augmentait ou diminuait tout comme dans un explorateur  ) aujourd'hui sous rring impossible.

#16 Re : -1 »  Avant on Pouvait le faire, Maintenant on ne peut plus et c'est pire... » Le 01/05/2013, à 10:37

caracolito
Réponses : 13

Avant quand on visualisait le dossier images oo avait droit à un apercu de l'image selectionnée a droite dans la fenetre de visualisation. Maintenant on peu plus sous raring .

#17 -1 »  Imposible ouvrir le dispositif «[usb:002,003]» MTP » Le 25/04/2013, à 16:34

caracolito
Réponses : 0

Bonjour,

Je suis sous la  version 13.04 PB idem sous 12.10

Quand je connecte mon samsung GTS58... sur le port usb de mon portable j'ain une fenetre qui me dit ceci:
Impossible de monter BCM21553-Thunderbird
Imposible d'ouvrir le dispositif  «[usb:002,003]» MTP

Ca signifiq quoi ?

Apparamment mon portable est connecté..

Que dois-je faire pour resoudre ce PB

Merci de votre aide

#18 Re : -1 »  gnome 3.8 dans raring » Le 01/04/2013, à 20:24

caracolito
Réponses : 42

J'ai essayéyl y a peu de temps, j'ai abandonné trop de PB - impossible de desinstaller, j'ai refait une installation ( j'avais un backup !)

#19 -1 »  Probleme Creation Liens Symboliques » Le 11/04/2013, à 22:49

caracolito
Réponses : 2

Bonjour,

La console c'est pas mon truc, mais j'essaie de comprendre, mais je n'y arrive pas.

Voci. mon probleme
je voudrai creer sur une cle usb dans un repertoire Image, une copie liée symboliquement du répertoire Images de mon Home. je n'y arrive pas
bien sur il faut que ce soit récursif.

J'essaie ln -s, cp-s


Un script serait le bienvenu qui peut m'aider ?

Merci

#20 -1 »  Comment regler le mode d'affichage Fichiers et Dossiers » Le 03/04/2013, à 20:00

caracolito
Réponses : 4

Bonjour,

Quand je selectionne l'affichage d'un dossier quelconque (images, documents etc... )
j'aimerai afficher par défaut sous la forme de Liste et nom d'icônes.

comment peut-on faire ?

merci

#21 Re : -1 »  Comment regler le mode d'affichage Fichiers et Dossiers » Le 03/04/2013, à 20:53

caracolito
Réponses : 4

C'est ce que je fais !

Seulement voilà, Le systeme ne conserve pas cette configuration. et revient toujours à l'affichage par défaut !

Autre truc qui m'enerve: pour créer un dossier, avant je cliquai avant quelque part avec le bouton droit et on me proposait creer un document, un dossier etc...
Aujourd'hui je suis obligé de passer par l'icone ( etoile, pignon , engrenage que sais-je ) située a droite et fair un clic dans le menu puis selectionner creer un dossir. Un clic pour rien ( c'est du tourisme ? ) wink

#22 Re : -1 »  [RESOLU] Blocage durant mise à Jour ... » Le 01/04/2013, à 20:21

caracolito
Réponses : 12

Merci, c'est bien ce que je pense,

Que s'est-il passé ? je l'ignore.

Merci: PB résolu

#23 Re : -1 »  [RESOLU] Blocage durant mise à Jour ... » Le 03/04/2013, à 20:03

caracolito
Réponses : 12

Bien , je voie que je ne suis pas le seul à constater ce phénomène.

Seul hic, c'est que ce n'est pas récurrent....

#24 Re : -1 »  [RESOLU] Blocage durant mise à Jour ... » Le 03/04/2013, à 22:52

caracolito
Réponses : 12

Quelqu'un peut me dire ce que signifie Ign, Obj, Des au début des lignes que j'ai mentioné dans mon premier post ?
Merci j'ai envie de savoir