IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

passer un champ en paramètre, c'est possible ??


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2004
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 75
    Points : 59
    Points
    59
    Par défaut passer un champ en paramètre, c'est possible ??
    bonjour

    j'ai une procedure qui récupère dans un fichier certaines infos.

    en gros, j'ai ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    F : TextFile;
    ...
     
    AssignFile(F, fileName);
     
    TesteurV2.LireLeFichier(self, F); // j'appelle ma procedure qui extrait les points, je lui passe une liste et TextFile
    maintenant, le changement c'est que les points que je veux ne sont plus dans des fichiers, mais ces fichiers sont stockés dans une base (DBMemo), donc la procedure de lecture va tjrs marcher puisque même structure, mais ce que je sais pas faire c'est comment passer directement le champ de ma base en paramètre. (c'est un peu flou pour l'instant, je cherche une méthode)
    ou alors est-ce qu'il faut forcément passer par un memo intermédaire (requete qui le rempli etc) ??? mais ça fait des trucs en plus

  2. #2
    Membre averti
    Profil pro
    xxxxxxxxxxx
    Inscrit en
    Juin 2004
    Messages
    308
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : xxxxxxxxxxx

    Informations forums :
    Inscription : Juin 2004
    Messages : 308
    Points : 407
    Points
    407
    Par défaut
    oui c'est possible
    rien ne t'empêche d'écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    procedure LireLeMemo(uneListe : TList; unChampMemo : TMemoField);

  3. #3
    Membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2004
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 75
    Points : 59
    Points
    59
    Par défaut
    .... je vais regarder cet aprèm merci

  4. #4
    Membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2004
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 75
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par cmen76
    oui c'est possible
    rien ne t'empêche d'écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    procedure LireLeMemo(uneListe : TList; unChampMemo : TMemoField);
    euh non en fait, ce que je vuolais c'est que ce champ arrive directement de la base. Là il faut qd même que je le stocke dans un memo temporaire via une requete (je précise que les champs de la base ne sont pas affichés sur le formulaire utilisé ici)
    ou alors j'ai pas compris ??

    en fait c'est le résultat de la requête qu'il faudrait alors que je passe en paramètre sans memo intermédiaire . mais ça ne doit pas etre possible car après ma fonction ne pourra pas lire ds un résultat de requete

  5. #5
    Membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2004
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 75
    Points : 59
    Points
    59
    Par défaut
    (...) je crois que j'ai écrit n'importe quoi
    je change :

    voilà ce que je voudrais
    garder mes procédures de lecture mais maintenant au lieu de passer un fichier en paramètre, je passe un texte (même chose non ?)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    var req : text;
    ....etc
     
    //la requete marche, je l'ai testée
    With formbddsql.ADOQuery1 Do
      Begin
        SQL.Clear;
        SQL.Add('SELECT Pin_Essai.piness_ficbrut ');
        SQL.Add('FROM Pin_Essai  ');
        SQL.Add('WHERE ...);
        formbddsql.Adoquery1.open;
     
        req := formbddsql.adoquery1.FieldValues['piness_ficbrut'];
      End;
     
    //   testeurv2.LireLeFichier(self, F); avant F déclaré en TextFile
       testeurv2.LireLeFichier(self, req);
    j'ai une erreur sur la ligne req := ... ([Erreur] classDef.pas(241): Opérateur non applicable à ce type d'opérande) pkoi??
    erreur qui n'est plus si je déclare req en string mais du coup je ne peux plus appler ma procedure LireLeFichier
    donc pkoi je ne peux pas mettre req en text ?

  6. #6
    Membre averti
    Profil pro
    xxxxxxxxxxx
    Inscrit en
    Juin 2004
    Messages
    308
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : xxxxxxxxxxx

    Informations forums :
    Inscription : Juin 2004
    Messages : 308
    Points : 407
    Points
    407
    Par défaut
    var req : text
    Il n'y a aucun rapport entre un fichier texte et un mémo.
    Je te suggère de revoir ton appel de procédure, parce que tu ne pourras pas lui transmettre un fichier texte ;
    Transforme le paramètre en TStringList ; ainsi dans le cas d'un fichier, il suffira de faire maStringList.LoadFormFile(filename), et pour un TMemoField, il suffira de lui passer LeMemoField.Lines

  7. #7
    Membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2004
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 75
    Points : 59
    Points
    59
    Par défaut
    bonjour et merci pour tes explications
    hélas pour moi je ne connais pas très bien delphi et delphi ne comprend pas tjrs ce que je veux faire
    voilà je n'arrive pas à mettre le résultat de la requête dans autre variable que string ...
    mais une chose bien c'est que mes fichiers sont un peu longs mais ils y tiennent.
    maintenant le pb c'est que mes procedures étaient faites pour des fichiers (avec des readln etc...)
    tant pis
    et avec String je ne peux pas faire des choses du genre Req.lines[i] ...
    ce dont j'ai besoin
    tant pis je déclare Req en String et puis je la remets ds un memo que je passe en param
    et là c'est bon, je dois juste réadapter un peu ma procedure de lecture
    ça doit être ça qu'on appelle de la "bidouille" mais ça marche
    merci d'avoir essayer de comprendre mon charabia

Discussions similaires

  1. [AC-2003] Passer un champ en paramètre
    Par jmde dans le forum VBA Access
    Réponses: 2
    Dernier message: 25/04/2014, 18h59
  2. Passer des champs en paramètre à une fonction ?
    Par StringBuilder dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/06/2010, 08h18
  3. Réponses: 15
    Dernier message: 23/01/2010, 11h04
  4. Fonction avec 4 paramètres, c'est possible ?
    Par arnaudperfect dans le forum Langage
    Réponses: 2
    Dernier message: 18/06/2007, 09h31
  5. passer une fonction en argument, c'est possible ?
    Par kamouminator dans le forum C
    Réponses: 4
    Dernier message: 10/11/2006, 21h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo