Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Gestion fichier accès direct | |
| | Auteur | Message |
---|
Invité Invité
| Sujet: Gestion fichier accès direct Sam 20 Mar 2010 - 14:49 | |
| Je me lance (gros problème avec l'archive.zip après modification de fichiers) J'essaye ce lien: Voir le Fichier : Archive.7zSUPER CE LIENComme je l'ai dis sur l'autre post, je viens de créer par l'intermédiaire de JustBasic une possibilité de faire un fichier à accès direct. Celui-ci permet d'ajouter une fiche, de la modifier, de lire le fichier en entier, de lire une fiche, d'imprimer le fichier, d'imprimer un ensemble de fiches et de rechercher un morceau de texte. Cela n'était pas évident car Justbasic dans ses commandes de fichier, interdit les variables dans les commandes d'ouverture. J'ai contourner l'obstacle pour une généralisation sur le forum par le cumul sur une seul ligne des différents champs qui compose une fiche. La recomposition et le découpage se fait dans ce programme, Panoramic ne voit que du feu. En outre j'ai du faire tout un tas de lignes semblables avec la longueur différente, pour une généralisation du programme. J'ai procédé ainsi: - Code:
-
case 100:open fichier$ FOR RANDOM AS #fic len=100:field #fic,100 AS nom$ case 101:open fichier$ FOR RANDOM AS #fic len=101:field #fic,101 AS nom$ case 102:open fichier$ FOR RANDOM AS #fic len=102:field #fic,102 AS nom$
Mais j'ai codé de 10 à 160, pour l'instant: ceci correspond à la longueur totale des champs cumulées. Si ce programme vous intéresse et que cela ne suffit pas, je mettrai la correction sans problème. J'ai seulement besoin d'un peu de temps. Le programme que j'ai fait en Panoramic est une présentation des possibilités. Il ne sert que de base pour vos propres programmes, Chacun sait ce qu'il veut faire, et moi, ce n'est pas mon problème. Présentation, le mémo de gauche montre ce qu'il transmet au presse papier. A propos, je me sert de la dll de Klaus. lecture d'une fiche pour rechercher une fiche: voyer l'Edit, aux fiches trouvées j'ai mis le numéro devant pour pouvoir rappeler celle qui convient sortie sur imprimante du fichier impression de plusieurs fiches LE DOSSIER A TELECHARGER: http://www.2shared.com/file/12228506/17db2e98/Archive.htmllAparemment c'est le bon lien. Klaus se propose comme hébergeur. Si ce programme vous convient, je suis d'accord pour qu'il le fasse, parce qu'il n'est pas évident de récupérer cette archive. J'ai 2 programme Panoramic, deux façon de l'utiliser, ils sont sur l'archive. le premier montre comment il faut passer les codes. - Code:
-
dim n_objet% ,res% label envoi,ferme dll_on "KGF.dll" :n_objet% = 1
memo 1 :top 1,40 :left 1,10:font_size 1,12:font_bold 1:height 1,150 button 2 :left 2,220:on_click 2,ferme memo 3 :top 3,200:width 3,width(0)-20:font_name 3,"Courier New" button 4 :left 4,250:top 4,40:caption 4,"Valider":on_click 4,envoi end rem "=====================================================================" rem " numéro à mettre en premier dans un memo pour choisir rem " l'action à accomplir, suivi de deuc points >:< et le nom du fichier rem "======= =======" rem ":0 lecture du fichier rem ":1 lecture d'une fiche depuis son numéro" rem ":2 ajout d'une ligne en écriture" rem ":3 ré-écriture d'une ligne dans le fichier" rem ":4 impression du fichier rem ":5 imprime un groupe de ligne"
' la 1ère ligne stipule la commande, puis le fichier rem "=================================================================================================" rem "ligne 1 : N° de commande : + nom du fichier ex: 0:mon_fichier.txt rem "ligne 2 :paramètre de ligne 1 ou 2 paramètres ex: 3:5 si commande 5: imprime les lignes 3 à 5 rem "ligne 3 et suivante : longueur du champ puis 2 points >:<, puis si lignes à écrire le texte de rem " de chaque champ rem "=================================================================================================" rem la longueur de chaque champ et sans erreur est obligatoire
' en exemple champs: nom 15 caractères, prenom 15 caractères, age 3 caractères ' façon de passer les paramètres à partir d'un memo
rem exemple: lecture du fichier :"0:mon_fichier.txt " "15 "15 "3 rem lecture d°une fiche :"1:mon_fichier.txt "3" lire la fiche 3 "15" les longueurs des champs "15" "3" rem ajout d°une ligne : "2:mon_fichier.txt" " "15:" "15:" le 2 point est facultatif "3:" rem réécriture d°une ligne: "3:mon_fichier.txt" "4" 4ème fiche "15:Tartention" "15:Alain" "3:38" rem imprimer le fichier: "4:mon_fichier.txt" " "15:" "15" "3" rem imprimer les lignes 2-3-4: "5:mon_fichier.txt" "2:4" "15: "15:" "3:" rem "le 2 points de séparation n'est obligatoire que si des paramètres suivent"
envoi: set_focus 1 res% = dll_call0("ClipboardCopy") rem "les deux extention: exe et tkn doivent avoir le même nom dans le dossier" execute_wait "essai.exe" set_focus 3 clipboard_paste 3 return
ferme: dll_off terminate Le 2ème correspond aux images ci-dessus. - Code:
-
dim n_objet% ,res%,a% ,fichier$,commande% ,a$,i% ,f_init$ ,cheq%(10),debut%,fin% label envoi,ferme,efface,remplir ,lire,sauve dll_on "KGF.dll" :n_objet% = 1 rem "==========mettre le nom du fichier ici===========" fichier$="mon_fichier.txt" height 0,900
memo 1 :top 1, 40:left 1,10:width 1,245:font_size 1,12:font_bold 1:height 1,150:color 1,195,195,195 container_option 2 :left 2, 280:top 2,20:width 2,250:height 2,170:caption 2,"COMMANDE" alpha 3 :top 3, 15:left 3,80:caption 3,"écran de contrôle" memo 4 :top 4, 420:width 4,550:height 4,200:font_name 4,"Courier New":color 4,236,231,169 option 5 :parent 5,2:top 5, 20:left 5,10:width 5,220:caption 5,":0 lecture du fichier" option 6 :parent 6,2:top 6, 40:left 6,10:width 6,220:caption 6,":1 lecture d'une fiche depuis son numéro" option 7 :parent 7,2:top 7, 60:left 7,10:width 7,220:caption 7,":2 ajout d'une ligne en écriture" option 8 :parent 8,2:top 8, 80:left 8,10:width 8,220:caption 8,":3 ré-écriture d'une ligne dans le fichier" option 9 :parent 9,2:top 9,100:left 9,10:width 9,220:caption 9,":4 impression du fichier" option 10 :parent 10,2:top 10,120:left 10,10:width 10,220:caption 10,":5 imprime un groupe de ligne" option 43 :parent 43,2:top 43,140:left 43,10:width 43,220:caption 43,":6 recherche dans le fichier" cheq%(0)=5:cheq%(1)=6:cheq%(2)=7:cheq%(3)=8:cheq%(4)=9:cheq%(5)=10:cheq%(6)=43 button 11 :top 11,250:left 11,200:caption 11,"lecture": on_click 11,lire button 12 :top 12,280:left 12,200:caption 12,"sauve" : on_click 12,sauve alpha 13 :top 13,400:left 13,10 :caption 13,"réception du retour de la commande" button 14 :top 14,380:left 14,200:width 14,50:caption 14,"effacer":on_click 14,efface
check 15 :top 15,200:left 15,290 edit 16 :top 16,200:left 16,320:width 16,70 :height 16,20:color 16,220,220,220 edit 17 :top 17,200:left 17,400:width 17,100:height 17,20 spin 18 :top 18,200:left 18,510:width 18,50
check 19 :top 19,225:left 19,290 edit 20 :top 20,225:left 20,320:width 20,70 :height 20,20:color 20,221,221,220 edit 21 :top 21,225:left 21,400:width 21,100:height 21,20 spin 22 :top 22,225:left 22,510:width 22,50
check 23 :top 23,250:left 23,290 edit 24 :top 24,250:left 24,320:width 24,70 :height 24,20:color 24,220,220,220 edit 25 :top 25,250:left 25,400:width 25,100:height 25,20 spin 26 :top 26,250:left 26,510:width 26,50
check 27 :top 27,275:left 27,290 edit 28 :top 28,275:left 28,320:width 28,70 :height 28,20:color 28,220,220,220 edit 29 :top 29,275:left 29,400:width 29,100:height 29,20 spin 30 :top 30,275:left 30,510:width 30,50
check 31 :top 31,300:left 31,290 edit 32 :top 32,300:left 32,320:width 32,70 :height 32,20:color 32,220,220,220 edit 33 :top 33,300:left 33,400:width 33,100:height 33,20 spin 34 :top 34,300:left 34,510:width 34,50
check 35 :top 35,325:left 35,290 edit 36 :top 36,325:left 36,320:width 36,70 :height 36,20:color 36,220,220,220 edit 37 :top 37,325:left 37,400:width 37,100:height 37,20 spin 38 :top 38,325:left 38,510:width 38,50
alpha 40 :top 40,365:left 40,140:caption 40,"fiche de : à séparation >:< ou recherche" edit 41 :top 41,360:left 41,340:width 41,160:font_size 41,12 button 42 :top 42,360:left 42,520:width 42,50:caption 42,"go":on_click 42,envoi
end ' ============================================================================== envoi: commande%=-1 for a%=0 to 6 commande%=commande%+1 if checked( cheq%(a%) ) =1 then exit_for next a% if commande%>-1 and a%<7 clear 1 select commande% case 0 item_add 1,"0:"+fichier$:item_add 1,"":gosub remplir case 1 item_add 1,"1:"+fichier$ if numeric(text$(41))=1 item_add 1,text$(41) gosub remplir :clear 4 else message "il n'y a pas de numéro de fiche demandé" commande%=10 end_if case 2 item_add 1,"2:"+fichier$:item_add 1,"":gosub remplir case 3 item_add 1,"3:"+fichier$ if numeric(text$(41))=1 item_add 1,text$(41) gosub remplir else message "remplacement impossible, pas de n° de fiche" commande%=10 end_if case 4 item_add 1,"4:"+fichier$:item_add 1,"" gosub remplir case 5 item_add 1,"5:"+fichier$ a$=text$(41) i%=instr(a$,":"):if i%>0 then a$=left$(a$,i%-1) if i%=0 and numeric(a$)=0 then commande%=10 if i%>0 and numeric(a$)=1 a$=right$( text$(41),len(text$(41))-i%) if numeric(a$)=0 commande%=10 end_if if commande%=5 item_add 1,text$(41) gosub remplir else message "demande impression de feuille incomplète" commande%=10 end_if else message "pas de nombre trouvé dans edit" commande%=10 end_if case 6 if text$(41)<>"" item_add 1,"6:"+fichier$ item_add 1,rtrim$(text$(41)) gosub remplir else message "il n'y a rien à rechercher" commande%=10 end_if
end_select if commande%<10 set_focus 1 res% = dll_call0("ClipboardCopy") rem "les deux extention: exe et tkn doivent avoir le même nom dans le dossier" execute_wait "essai.exe" set_focus 4 : clipboard_paste 4 if commande%=1 :' lecture d'une fiche if count(4)>0 then text 17,item_read$(4,1) if count(4)>1 then text 21,item_read$(4,2) if count(4)>2 then text 25,item_read$(4,3) if count(4)>3 then text 29,item_read$(4,4) if count(4)>4 then text 33,item_read$(4,5) if count(4)>5 then text 37,item_read$(4,6) end_if end_if end_if return
efface: clear 4 return
remplir: if checked(15)=1 then item_add 1,str$(position(18))+":"+text$(17) if checked(19)=1 then item_add 1,str$(position(22))+":"+text$(21) if checked(23)=1 then item_add 1,str$(position(26))+":"+text$(25) if checked(27)=1 then item_add 1,str$(position(30))+":"+text$(29) if checked(31)=1 then item_add 1,str$(position(34))+":"+text$(33) if checked(35)=1 then item_add 1,str$(position(38))+":"+text$(37) return
sauve: for a%=len(fichier$) to 1 step -1 if mid$(fichier$,a%,1)="." then exit_for next a% f_init$=left$(fichier$,a%-1)+".ini" if file_exists(f_init$)=1 then i%=MESSAGE_WARNING_YES_NO("on écrase le fichier?") if i%=1 file_open_write 1,f_init$ for a%=15 to 35 step 4 if checked(a%)=1 file_writeln 1,a% file_writeln 1,text$(a%+1) file_writeln 1,position(a%+3) end_if next a% file_writeln 1,"$$$" file_close 1 end_if return
lire: for a%=len(fichier$) to 1 step -1 if mid$(fichier$,a%,1)="." then exit_for next a% f_init$=left$(fichier$,a%-1)+".ini" if file_exists(f_init$)=1 file_open_read 1,f_init$ repeat file_readln 1,a$ if a$="$$$" then exit_repeat a%=val(a$):mark_on a% file_readln 1,a$:text a%+1,a$ file_readln 1,i%:position a%+3,i% until a$="$$$" file_close 1 end_if return
ferme: dll_off terminate [b]
Dernière édition par cosmos70 le Dim 21 Mar 2010 - 10:24, édité 2 fois |
| | | Invité Invité
| Sujet: Re: Gestion fichier accès direct Sam 20 Mar 2010 - 15:08 | |
| Je viens de récupérer l'archive pour contrôler. Cela fonctionne, mais après l'avoir extrait, il est nécessaire et récupérer le programme basic, il est bon de re-sauvegarder, sinon il ne retrouve pas la dll de Klaus, et certainement les autres fichiers. |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Gestion fichier accès direct Sam 20 Mar 2010 - 18:04 | |
| Bon soir, Cosmos70,
Je viens de lire ton post et j'ai téléchargé ton archive. Je vais l'intégrer dans mon site qui aura une page supplémentaire du genre "Autres Panoramiciens" et je mettrai ton archive sur cette page avec un lien vers ton post ci-dessus.
Il me faut quelques jours: j'ai eu un crash disque et je suis en train de reconstruire mon site, mais c'est bientôt prêt.
Merci pour ta confiance. Cordialement Klaus | |
| | | Invité Invité
| Sujet: Re: Gestion fichier accès direct Sam 20 Mar 2010 - 18:52 | |
| Bonsoir Klaus, Je te remercie pour ta confiance et ta proposition. C'est très aimable à toi. @+ |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Gestion fichier accès direct Sam 20 Mar 2010 - 19:48 | |
| Ca y est - mon site restauré est en ligne !
Tu peux regarder la page "Contributions" - ton produit y figure en première ligne, avec un lien sur ton post du forum et le moyen de le télécharger de mon site.
Juste une remarque: il est très gros, ton archive ! Mon site fait 4 méga, y compris ton archive, qui a elle seule fait 1,1 méga ! Mais ça ne pose pas de problème.
Si tu fais des mises à jour dans ton archive, préviens-moi, de préférence par mail en mettant l'archive en pièce jointe (regarde dans mon profil: il y a le lien de me contacter par mail) et je mettrai la version modifiée en ligne.
Bonne soirée - Klaus | |
| | | Invité Invité
| Sujet: Re: Gestion fichier accès direct Sam 20 Mar 2010 - 22:18 | |
| Merci pour ta contribution. Tu n'as pas d'obligation envers moi, le jour qu'il te faut de la place, tu l'enlève. Je viens d'essayer ton site. J'ai bien trouvé l'emplacement, seulement lorsqu'on clique sur le programme, la réponse est: site non trouvé. Pour ce qui est du volume, je sais que celui-ci est énorme par rapport au programme qui fait au départ 17 kg. Le programme compilé si on peut dire est le fichier tkn. A ce propos, je m'aperçois que j'ai oublié de le renommer, parce que ce n'est plus des essais. Si il vous prend l'envie de renommer ce fichier, il est obligatoire de renommer <essais.exe> à part l'extention, pour fonctionner le fichier exe et tkn doivent avoir le même nom ici. Au départ le fichier essai.exe a le nom de jbrun101.exe et celui-ci qui transpose le fichier tkn maké. Ce système de publication d'un programme est celui imposé par JustBasic, et je ne peux rien faire contre. Si je développe un autre programme avec ce basic, il sera à mettre sur cette archive, de cette façon il n'y aura que deux fichiers à rajouter. Je suis en train de regarder un autre basic, qui lui fait un produit fini, et peut-être pourrais-je mettre celui là à la place JustBasic qui prend trop de place. A propos je n'ai aucun retour sur mon programme (c'est pas grave, je m'y attendais), mais si il y a une erreur où une demande précise... Le jour que tu te sens géné par mon programme, c'est pas un problème pour faire de la place. Toi seul gère ton site. Bonne soirée à toi aussi. |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Gestion fichier accès direct Dim 21 Mar 2010 - 8:36 | |
| Salut, Cosmos70,
Désol, j'avais placé le fichier archive dans le mauvais répertoire - c'est réparé. Maintenant, ton fichier est téléchargeable.
Pour l'heure, la taille du fichier ne me dérange pas, j'étais simplement surpris. Tout mon site fait actuellement 4 méga, et j'ai droit à 1 giga, alors...
D'ailleurs, comme tu vois, en cliquant sur les drapeaux, on change de langue. La version anglaise n'est pas complète mais est en train de grandir... | |
| | | Invité Invité
| Sujet: Re: Gestion fichier accès direct Dim 21 Mar 2010 - 9:49 | |
| Ce sait que ce que je fais ne vous intéresse pas. Mais j'ai trouvé un site vachement pratique pour envoyer des fichiers. essayez et vous verrez la différence: Voir le Fichier : Archive.7zLe site pour envoyez des images, des fichiers est: https://www.archive-host.comA vous de voir. On est pas emmerdé par la pub, à chercher on ne sait quoi. En cliquant sur le lien Voir le Fichier:, il télécharge directement @+ à Klaus: ne te sens plus obligé d'héberger mon programme, comme tu vois, il n'a pas d'intérêt, et c'est comme tu le sent. Et merci bien pour tout. @+ |
| | | Invité Invité
| Sujet: Re: Gestion fichier accès direct Dim 21 Mar 2010 - 13:43 | |
| Qu'est ce que ça prend comme place une fois décompilé. Je comprends qu'on ne veuille pas de ce programme. Lorsqu'un programme est installé (comme c'est le cas de Panoramic) on en tient pas compte, vu que ce que l'on regarde est le fichier source qui lui est riquiqui. La seule chose de positif, est que maintenant, si je rajoute des fonctions (je viens de rajouter pour moi, un print using dans le programme, et je regarde aussi pour les fichiers binaires (mais là il y a des limites), le dossier n'enflera plus que de quelques kg à la fois. Maintenant je laisse ce post se détruire, à moins que quelqu'un n'intervienne. |
| | | Invité Invité
| Sujet: Re: Gestion fichier accès direct Dim 21 Mar 2010 - 23:20 | |
| Bonsoir Klaus Je te rend la politesse, je viens d'essayer ton lien, et tout marche super. Dommage que mon programme est à mettre à l'abandon. Bonsoir |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Gestion fichier accès direct Dim 21 Mar 2010 - 23:42 | |
| Merci pour ton compliment. Maisje ne vois pas pourquoi ton programme serait à mettre à l'abandon. L'avantage d'une bibliothèque de modules accessibles à tous est justement que au hasard des besoins, quelqu'un peut y trouver une astuce ou une partie d'une solution dont i a besoin... | |
| | | Contenu sponsorisé
| Sujet: Re: Gestion fichier accès direct | |
| |
| | | | Gestion fichier accès direct | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |