Pas d'inquiétude, avec PBAdonf, c'est dans la poche ! ^^

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#26 09-01-2008 10:27:49

Nephtis  
Bienfaiteur du site
Award: bf
Lieu: Longjumeau
Date d'inscription: 29-06-2007
Messages: 665
Pépites: 17,189,873,958
Banque: 9,223,372,036,854,775,808

Re: [RESOLU] RowsCopy perso

Devancé par Foon

Sinon pour ton erreur tu peut regarder ce post qui montre bien qu'il faut faire attention au type des variables passées en paramètre


Qui sème des problèmes, récolte des réponses.
PB 6.5 || ASE 12.5.4 || XP SP3

Hors ligne

 

#27 09-01-2008 10:29:31

Sebou  
Membre Power Geek
Lieu: Villeneuve-sur-Lot
Date d'inscription: 21-12-2007
Messages: 189
Pépites: 1,787
Banque: 13,693,461,510

Re: [RESOLU] RowsCopy perso

oui oui, j'ai tout verifié...j'viens de tester en appeler ma fonction f_test(...) et là ca marche...alors qu'avant je l'avais appelé f_rowscopy()...

C'est vraiment bizarre cette histoire

Hors ligne

 

#28 09-01-2008 10:39:47

Sebou  
Membre Power Geek
Lieu: Villeneuve-sur-Lot
Date d'inscription: 21-12-2007
Messages: 189
Pépites: 1,787
Banque: 13,693,461,510

Re: [RESOLU] RowsCopy perso

Bon alors c'est à ne plus rien y comprendre...

J'ai fait un copier coller de mes fonctions dans f_test, j'ai supprimé mes f_rowscopy et j'ai refait mes f_rowscopy en faisait un C/C de f_test...Et maintenant, c'est bon...Pourtant mes arguments étaient bons des le départ et de bon type

Je crois que ca va pas être ma journée :'( lol

Hors ligne

 

#29 09-01-2008 11:05:56

Dadone  
Membre Power Geek
Lieu: Avon (Seine et Marne)
Date d'inscription: 19-02-2007
Messages: 252
Pépites: 985
Banque: 0
Site web

Re: [RESOLU] RowsCopy perso

Juste une remarque concernant la méthodologie :
Il n’est pas très bon de multiplier les classes de services, car cela revient à faire de la programmation orientée services et non orientée objet.
Parmi les inconvénients cela crée des couplages entre les classe inutiles et si ton service ne convient pas tu ne peut pas le redéfinir simplement au sein d’une classe fenêtre où le service serait appelé. Il est souvent préférable de remonter l’ensemble des services au sein d’une classe fenêtre ancêtre de toutes les classes fenêtres.

Hors ligne

 

#30 09-01-2008 11:07:16

Sebou  
Membre Power Geek
Lieu: Villeneuve-sur-Lot
Date d'inscription: 21-12-2007
Messages: 189
Pépites: 1,787
Banque: 13,693,461,510

Re: [RESOLU] RowsCopy perso

euh oui si tu le dis...moi on me dit de faire ca, je fais ca...faut jamais contredire un boss LOL

Merci en tout cas à tous pour votre aide

Hors ligne

 

#31 09-01-2008 11:50:07

Nephtis  
Bienfaiteur du site
Award: bf
Lieu: Longjumeau
Date d'inscription: 29-06-2007
Messages: 665
Pépites: 17,189,873,958
Banque: 9,223,372,036,854,775,808

Re: [RESOLU] RowsCopy perso

Sebou a écrit:

euh oui si tu le dis...moi on me dit de faire ca, je fais ca...faut jamais contredire un boss LOL

Faut surtout pas montrer au boss que y a une salle de jeux dans PBaDonf

Dernière modification par Nephtis (09-01-2008 11:50:34)


Qui sème des problèmes, récolte des réponses.
PB 6.5 || ASE 12.5.4 || XP SP3

Hors ligne

 

#32 09-01-2008 13:07:45

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5122
Pépites: 97,200
Banque: 2,147,483,647

Re: [RESOLU] RowsCopy perso

{HS}

Nephtis a écrit:

Sebou a écrit:

euh oui si tu le dis...moi on me dit de faire ca, je fais ca...faut jamais contredire un boss LOL

Faut surtout pas montrer au boss que y a une salle de jeux dans PBaDonf

ni parcourir des posts de mamba...

{/HS}


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#33 09-01-2008 14:09:47

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 30-05-2006
Messages: 4685
Pépites: 1,025
Banque: 2,147,483,647
Site web

Re: [RESOLU] RowsCopy perso

par contre , rien ne t'empeche de faire de la pub pour ce site...


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#34 10-01-2008 14:08:37

Sebou  
Membre Power Geek
Lieu: Villeneuve-sur-Lot
Date d'inscription: 21-12-2007
Messages: 189
Pépites: 1,787
Banque: 13,693,461,510

Re: [RESOLU] RowsCopy perso

pick ouic a écrit:

par contre , rien ne t'empeche de faire de la pub pour ce site...

ne t'en fais pas, j'en ai fait. Et je me gêne pas pour en rajouter qq fois quand il faut :D

Hors ligne

 

#35 25-04-2008 10:11:08

Sebou  
Membre Power Geek
Lieu: Villeneuve-sur-Lot
Date d'inscription: 21-12-2007
Messages: 189
Pépites: 1,787
Banque: 13,693,461,510

Re: [RESOLU] RowsCopy perso

Bon, je me permets de faire une réouverture de ce sujet....Je viens de passer mon appli sur une base client....et là c'est la cata !!! C'est super long !!

Le problème vient du fait qu'à chaque ligne, on enchaine insertrow et setitem...

J'ai essayé d'améliorer la chose mais, ca n'y change pas grand chose...quelqu'un pour m'aider ? j'suis desespere là lol

Code: pb

long ll_nb_colonne1, ll_nb_colonne2, ll_i, ll_j, ll_pos_insert, ll_pos, ll_fin, ll_colnum, col_recep
string ls_nom
datastore lds_dw_orig, lds_dw_dest

lds_dw_orig = f_getcolonne(p_dw_orig)
lds_dw_dest = f_getcolonne(p_dw_dest)

ll_fin = lds_dw_orig.RowCount()

FOR ll_j = 1 TO ll_fin
    ls_nom = lds_dw_orig.GetItemString(ll_j, "nom")
    ll_pos = f_find(lds_dw_dest, "nom = '" + ls_nom + "'")
  IF ll_pos > 0 THEN
    lds_dw_orig.SetItem(ll_j, 'present', string(ll_pos))
  END IF
NEXT

//On retire toutes les colonnes qui n'existent pas dans la seconde
f_discard_final(lds_dw_orig, "present = 'N'")
ll_fin = lds_dw_orig.RowCount()


FOR ll_i = p_deb TO p_fin
    ll_pos_insert = p_dw_dest.insertrow(p_lig_insert)
  
    FOR ll_j=1 TO ll_fin
    ll_colnum = lds_dw_orig.GetItemNumber(ll_j, 'num')
    col_recep = long(lds_dw_orig.GetItemString(ll_j, 'present'))
    
    IF p_buffer = Primary! THEN
      p_dw_dest.Object.Data[ll_pos_insert, col_recep] = p_dw_orig.Object.Data.Primary[ll_i, ll_colnum]
    ELSE      
      IF p_buffer = Delete! THEN
        p_dw_dest.Object.Data[ll_pos_insert, col_recep] = p_dw_orig.Object.Data.Delete[ll_i, ll_colnum]
      ELSE
        p_dw_dest.Object.Data[ll_pos_insert, col_recep] = p_dw_orig.Object.Data.Filter[ll_i, ll_colnum]
      END IF
    END IF
  NEXT
NEXT


destroy(lds_dw_orig)
destroy(lds_dw_dest)

Hors ligne

 

#36 25-04-2008 10:31:25

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,775,808
Site web

Re: [RESOLU] RowsCopy perso

Peut-être pourrais-tu travailler par bloc de donnée plutôt que ligne à ligne. Ce qui te permettrais de transférer le contenu d'une colonne en une seule fois. Regardes l'aide de la notation pointée au sujet de : Object.data[start row, start column, end row, end column]

Code: pb

    FOR ll_j=1 TO ll_fin
    ll_colnum = lds_dw_orig.GetItemNumber(ll_j, 'num')
    col_recep = long(lds_dw_orig.GetItemString(ll_j, 'present'))
    
    IF p_buffer = Primary! THEN
      p_dw_dest.Object.Data[p_deb, col_recep, p_fin, col_recep] = p_dw_orig.Object.Data.Primary[p_deb, ll_colnum, p_fin, ll_colnum]
    ELSE      
      IF p_buffer = Delete! THEN
        p_dw_dest.Object.Data[p_deb, col_recep, p_fin, col_recep] = p_dw_orig.Object.Data.Delete[p_deb, ll_colnum, p_fin, ll_colnum]
      ELSE
        p_dw_dest.Object.Data[p_deb, col_recep, p_fin, col_recep] = p_dw_orig.Object.Data.Filter[p_deb, ll_colnum, p_fin, ll_colnum]
      END IF
    END IF
  NEXT


Tu gagnes une boucle for ( de p_deb à p_fin)...


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#37 25-04-2008 10:38:48

Sebou  
Membre Power Geek
Lieu: Villeneuve-sur-Lot
Date d'inscription: 21-12-2007
Messages: 189
Pépites: 1,787
Banque: 13,693,461,510

Re: [RESOLU] RowsCopy perso

euhhh...c'est à dire ? tu peux m'éclairer un peu plus stp ?

Hors ligne

 

#38 25-04-2008 10:41:48

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,775,808
Site web

Re: [RESOLU] RowsCopy perso

Sebou a écrit:

euhhh...c'est à dire ? tu peux m'éclairer un peu plus stp ?

J'ai modifié mon post entre temps La réponse est dedans


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#39 25-04-2008 10:47:06

Sebou  
Membre Power Geek
Lieu: Villeneuve-sur-Lot
Date d'inscription: 21-12-2007
Messages: 189
Pépites: 1,787
Banque: 13,693,461,510

Re: [RESOLU] RowsCopy perso

merci...mais c'est encore plus long comme ca :'(....Trois mois de travail sont en train de s'effondrer :'(

Hors ligne

 

#40 25-04-2008 10:48:21

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,775,808
Site web

Re: [RESOLU] RowsCopy perso

Sebou a écrit:

merci...mais c'est encore plus long comme ca :'(....Trois mois de travail sont en train de s'effondrer :'(

Tu as bien viré la boucle for de p_deb à p_fin ?


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#41 25-04-2008 10:54:36

Sebou  
Membre Power Geek
Lieu: Villeneuve-sur-Lot
Date d'inscription: 21-12-2007
Messages: 189
Pépites: 1,787
Banque: 13,693,461,510

Re: [RESOLU] RowsCopy perso


non


mais dis moi, je fais comment pour insérer à partir de ma ligne p_lig_insert ?? car là, si j'ai bien compris, j'insere de la ligne 10 à 20 de DW à la ligne 10 de DW2, non ?
on perd p_lig_insert, non ??

Hors ligne

 

#42 25-04-2008 11:01:13

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,775,808
Site web

Re: [RESOLU] RowsCopy perso

Ah, je pensais que ta DW dest était toujours vide.

Dans ce cas :

Code: pb

   p_count = p_dw_dest.rowcount()
  FOR ll_j=1 TO ll_fin
    ll_colnum = lds_dw_orig.GetItemNumber(ll_j, 'num')
    col_recep = long(lds_dw_orig.GetItemString(ll_j, 'present'))
    
    IF p_buffer = Primary! THEN
      p_dw_dest.Object.Data[p_deb + p_count, col_recep, p_fin + p_count, col_recep] = p_dw_orig.Object.Data.Primary[p_deb, ll_colnum, p_fin, ll_colnum]
    ELSE      
      IF p_buffer = Delete! THEN
        p_dw_dest.Object.Data[p_deb + p_count, col_recep, p_fin + p_count, col_recep] = p_dw_orig.Object.Data.Delete[p_deb, ll_colnum, p_fin, ll_colnum]
      ELSE
        p_dw_dest.Object.Data[p_deb + p_count, col_recep, p_fin + p_count, col_recep] = p_dw_orig.Object.Data.Filter[p_deb, ll_colnum, p_fin, ll_colnum]
      END IF
    END IF
  NEXT

Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#43 25-04-2008 11:03:17

Sebou  
Membre Power Geek
Lieu: Villeneuve-sur-Lot
Date d'inscription: 21-12-2007
Messages: 189
Pépites: 1,787
Banque: 13,693,461,510

Re: [RESOLU] RowsCopy perso

exact merci...j'étais en train de m'embrouiller avec p_fin...tu verrais ma feuille de calcul

en tout cas, merci beaucoup )

Hors ligne

 

#44 25-04-2008 11:11:59

Chrnico  
N2I Power
Award: bf
Lieu: Vanves
Date d'inscription: 05-06-2007
Messages: 1206
Pépites: 12,884,901,943
Banque: 9,223,372,036,854,775,808
Site web

Re: [RESOLU] RowsCopy perso

Si le problème est résolu, penses à modifier le titre de ton premier post en mettant [RESOLU]
Sinon, si ce n'est pas résolu, vas te avec une lettre autour du coup accusant ton boss de harcèlement...


Tu dois donc tu peux (Kant)

Tu peux donc tu dois (N2i)
www.n2i.fr

Hors ligne

 

#45 28-04-2008 12:12:20

Sebou  
Membre Power Geek
Lieu: Villeneuve-sur-Lot
Date d'inscription: 21-12-2007
Messages: 189
Pépites: 1,787
Banque: 13,693,461,510

Re: [RESOLU] RowsCopy perso

oui, ca y est, c résolu...j'attendais de lancer des tests utilisant la fonction pleinement pour voir si ca tenait le choc ou non

Encore merci )

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22