Accueil > Forum > > > > Form
Form
mardi 26 avril 2005 à 11:24:35 |
Form

Domatreal
|
Salut Je suis un novice en Visual FoxPro. J'ai la version 9.0. Je programme par plaisir. J'ai creer une forme avec laquelle j'ouvre un fichier et j'aimerais retourner le nom de ce fichier dans une textbox. Meme chose pour creer une table DBF. J'aimerais un peu d'aide pour faire cela. Ca a l'air tout simple et pourtant... Merci d'avance
|
|
mardi 26 avril 2005 à 22:03:50 |
Re : Form

MichelAtoutFox
|
Bonjour Domatreal,
Pour qu'on puisse te répondre, est-ce que tu peux préciser comment tu ouvres ce fichier? et quel est le type de ce fichier?
Pour créer ta table dbf, regarde l'aide de CREATE TABLE: create table c:\tests\matable.dbf (monchamp1 C(15), monchamp2 I) par exemple...
Si tu es novice en VFP, en attendant que l'aide soit traduite en français, tu peux télécharger l'aide de VFP6 sur le serveur FTP de l'association AtoutFox, ça te donnera des indications qui sont encore valables...
|
|
mercredi 27 avril 2005 à 09:31:07 |
Re : Form

Domatreal
|
Bonjour Michelatoutfox Tout d'abord merci pour ta reponse. Je cherche a convertir n'importe quel fichier textes ou autres en DBF. Je ne souhaite pas utiliser l'option import. Je peux le faire automatiquement par un program mais j'aimerais le faire via une form (Oriente Objet). J'utilise ces fonctions dans mon program: FInput=GETFILE('CSV',"CSV File",'Open') **pour un fichier CSV CREATE TABLE testtable (filler c(1)) *** emplacement pour routine creer des champs APPEND FROM (fInput) TYPE DELIMITED
Voila en gros le principe et je ne t'ai pas envoye ma routine pour creer les champs.
Domatreal
|
|
jeudi 28 avril 2005 à 14:34:32 |
Re : Form

MichelAtoutFox
|
Domatreal,
il ne faut pas confondre Orienté Objet et utilisation d'un form. Tu peux parfaitement créer des objets non visuels dans des prg, et faire de la programmation OOP sans jamais utiliser un form ; et si tu as un des prog en procédural, et que depuis ton form, tu les appelles avec leur fonctionnement habituel, peut-on parler d'orienté objet??
Pour ta question, si je comprends bien, ton prog te convient. Alors, pourquoi ne pas le mettre dans la méthode click d'un commandbutton de ton form, et, en admettant que tu aies un textbox nommé txtFileName par exemple, tu aurais dans ce click: FInput=GETFILE('CSV',"CSV File",'Open') **pour un fichier CSV this.parent.txtfilename.value=iif(!empty(finput),finput,"Pas de fichier ouvert")
Pour la création de la table, comment veux-tu faire? on choisit le nom du fichier en saisie, on choisit les noms des champs, si oui, en choix libre ou dans une liste préétablie, si liste préétablie, où est-elle stockée, etc...
|
|
mardi 3 mai 2005 à 11:04:06 |
Re : Form

Domatreal
|
Salut MichelAtoutFox,
Pour la creation de ma table, je choisis le nom du fichier en saisie, avec le meme principe que pour ouvrir un fichier texte. FOutput=GETFILE('DBF',"DBF File",'Create') Pour les champs, et en general, les fichiers texte contiennent les noms des champs sur la premiere ligne. Dans ce cas-la, je lis et saisit la premiere ligne de mon fichier (petite procedure) avec des fonctions C de bas niveau (Fseek, fopen, Fwrite...). Je retourne alors le nombre des champs. Je cree ensuite une table vide (tablevide.dbf) avec mon nombre de champs avec 255 en longueur. J'amene ensuite mon fichier texte dans ma table vide. Ensuite je n'ai qu'a changer le nom de mes champs avec MODIFY STRUCTURE Mais comment faire avec une liste preetablie ? et comment calculer la longueur maximum d'un champ?
Autrement l'aide VFP en francais m'est bien utile. Merci.
Domatreal
|
|
mercredi 4 mai 2005 à 10:56:15 |
Re : Form

MichelAtoutFox
|
Domatreal,
Si je comprend bien, tu as toujours des champs Caractère, tes données ne sont pas d'un autre type. Et tu veux simplement renommer tes champs, tu peux le faire par la commande ALTER TABLE (regarde en fin de l'ide la syntaxe du RENAME COLUMN).
Imaginons que tu crées ta table avec des champs qui au départ s'appelleraient champ1, champ2, etc... Imaginons que ces noms soient utilisés pour peupler un listbox1 Imaginons que les noms autorisés pour tes champs soient contenus dans un dbf, qui serve à peupler un listbox2 Et que tu permette (drag and drop, ou bien bouton de validation) d'associer 1 élément du listbox1 à 1 élément du listbox2, en controlant l'unicité des choix.
Est-ce que ça te semble convenir au choix des noms dans une liste préétablie ?
Pour la longueur maximale d'un champ caractère, il ne s'agit pas de calcul, mais de choix en fonction des données qui y seront stockées : 10 caractères pour un numéro de téléphone français, c'est suffisant, mais pas pour une ligne d'adresse (mieux vaut 35 ou 50)
|
|
jeudi 5 mai 2005 à 11:13:51 |
Re : Form

Domatreal
|
MichelAtoutFox C'est vrai toutes mes donnees sont de type caractere. Cela semble me convenir au choix des noms dans une liste preetablie, mais je ne sais comment utiliser une listbox. As-tu quelques exemples simples sur lesquels je puisse m'exercer? Pour la longueur maximale des champs, j'ai fait cette petite procedure: * A est ma table principal et B est ma table contenant ma structure (creee de A en faisant Copy Stru Extended to )
m=1
FOR m=1 TO nbMaxFld tempfld=FIELD(m) INDEX on LEN(TRIM(&tempfld)) TAG sortfld DESCENDING MaxLen=LEN(TRIM(&tempfld)) SELECT B GO m IF Maxlen<>0 replace field_len WITH MaxLen ELSE replace field_len WITH 1 ENDIF SELECT A NEXT mMerci Domatreal
|
|
jeudi 5 mai 2005 à 14:38:09 |
Re : Form

MichelAtoutFox
|
Réponse acceptée !
Domatreal,
tu trouveras de nombreux exemples d'utilisation de la listbox dans l'aide, et dans les Samples fournis (taskpane > solutions Samples > Controls > Listbox, et aussi Foundation Classes > Use MoverList boxes for selecting data)
Celà dit, le code que tu donnes pose les problèmes suivants:
le nommage des variables - tu en utilises 3, qui sont m, tempfld, et maxlen pour le m, il ne faut jamais l'utiliser, car c'est le préfixe qui permet à VFP de reconnaitre une variable mémoire d'un champ qui porterait le même nom. Par exemple, si une table matable a un champ monchamp1, que tu fais un scatter memvar, alors m.monchamp1 sera la variable mémoire créée par VFP qui contiendra le contenu copié depuis matable.monchamp1 (voir à ce sujet l'article de Robert Plagnard sur le site d'AtoutFox) autant prendre les bonnes habitudes : déclaration de la portée de la variable, et bon nommage
local lCtempfld && le nom du champ lCtempfld= "" && ou bien store "" to lCtempfld
tu trouveras dans l'aide un chapitre consacré aux conventions de nommage (Reference>General Reference>Naming conventions)
Et surtout, autre gros problème, ta façon d'utiliser la syntaxe select: select A date de l'époque où Dbase (le grand ancètre de VFP) ne pouvait pas nommer les alias ouverts, et on passait de l'un à l'autre par select A et select B aujourdhui, tu vas ouvrir tes tables par la syntaxe use matable1.dbf in 0 alias celle_ci order cet_ordre use matable1.dbf in 0 again alias celle_ci_encore order cet_autre_ordre use matable2.dbf in 0 alias celle_la order cet_ordre
etc, etc.. et select celle_ci select celle_la select celle_ci_encore
|
|
mardi 9 août 2005 à 13:13:21 |
mini exemple d'utilisation de foxpro

wardaty
|
bonjour,
je suis débutante en visual fox pro,et j'aimerais bien voir un exemple ou bien un mini projet pour savoir comment programmer avec foxpro
merci
|
|
Cette discussion est classée dans : fichier, form, creer
Répondre à ce message
Sujets en rapport avec ce message
re-selection d'enregistrement [ par brunaux ]
dans le 1er fichier il y a donc 75 variables,les 4 premieres sont de longueur differentes et toutes de type caractere, et les 71 autres dont toutes de
Export d'une requête en xls [ par crampe666 ]
Salut à tous,Je cherche (et même j'arrive) à exporter les résultats d'une requête dans un fichier excel.Voici mon bout de code : select mon_champ fr
j'ai besoin de votre aide dans une chose importante dans foxpro [ par jbenzakour ]
je suis programmeur de vb et je ne connait rien dans le foxpro mais dans la société ou je travail se trouve un programme de la paie avec fox pro. et j
copier ver excel [ par brunaux ]
Bonjour à tousComment faire lorsque l'on à un fichier de 30 0000 (ou plus) enregistrements et que l'on veut le copier en excel et avoir l'integralite
importation txt --> fox pro [ par gregorian ]
Bonjour, à tous, J'aurais voulu savoir si il existait une fonction permettant de lancer la commande d'importation d'un fichier txt en dbf (un peu comm
prob avec un append from [ par gregorian ]
Bonjour, J'ai été voir cette fonction, et il me semble qu'elle répond tout a fait à mes attentes sauf un petit problème.Donc, la table existe, je l'ai
Ajouter une form [ par Domatreal ]
Salut je cherche a avoir plusieurs forms a l'interieur d'un meme objet.Est-ce possible ? Merci
Formulaire premier niveau et enfant . [ par spoutnic_37 ]
aloha !!! Je voudrais faire apparaitre des formulaires enfants dans un formulaire parent. Je parametre donc avec showWindow et mdiform.Je met dans m
Fichier Excel [ par Domatreal ]
Salut Est-il possible d'ouvrir un fichier excel (qui existe deja) avec foxpro, et de le modifier toujours dans foxpro?Merci d'avanceDomatreal
Base de données VB !!! [ par spoutnic_37 ]
aloha , Je dois récuperer des informations clients et d'intervention d'un logiciel écrit en VB. Les info sont stockées dans des fichier .dat. ligne
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|