CLASSE POUR CONTRÔLER PARFAITEMENT VOS FICHIERS TEXTE À OUVRIR

DeadlyPredator Messages postés 222 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 30 juin 2008 - 8 mai 2004 à 06:50
mortiis Messages postés 120 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 9 mars 2008 - 3 nov. 2004 à 06:36
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/22623-classe-pour-controler-parfaitement-vos-fichiers-texte-a-ouvrir

mortiis Messages postés 120 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 9 mars 2008
3 nov. 2004 à 06:36
Est-ce que j'ai vu Concept objet en vb 6.
Alors que fait-on de l'héritage de classes
vb 6 n'est pas un langage orienté Objet.

En passant merci pour ta source.
Horfee Messages postés 188 Date d'inscription mercredi 9 avril 2003 Statut Membre Dernière intervention 10 août 2009
8 août 2004 à 23:54
je me pose quand meme une question : ou trouve tu les descriptions des API ? tu fais ca au filing avec la visionneuse d'API ou koi???:D
Horfee Messages postés 188 Date d'inscription mercredi 9 avril 2003 Statut Membre Dernière intervention 10 août 2009
8 août 2004 à 23:50
bon je viens de regarder ta source que tu m'a conseiller de regarder dans ta nouvelle source...
tu n'a pas l'air d'avoir compris ce que j'avais dit : ici aussi ton fichier n'est ouvert qu'en lecture OU en ecriture donc pas de possibilité pour ecrire ET lire en meme temps...
ensuite, pour l'optimisation, je ne pense pas que tu gagneras bcp sur le plan vitesse d'execution (ca reste du vb).
mais il y a bcp d'optimisation de ta source au niveau code : en effet pour les fonction et procedure similaire tu utilise le meme code(ex :writeline aurait pu etre ecrite a partir de writedata, tu gagne un peu de lisibilité).
ensuite parfois des efforts d'indentation pourraient être fait mais bon...
Encore une chose, la classe textstream est, il me semble, deja presente dans la reference "scripting"...

Pour moi, ta source met donc inutile, elle n'apporte rien, ou que des choses pas vraiment utiles...la seule nouveauté ici reste le "SetPosition"... voilà pour ma part; mais boncomme disait celiphane, c ta source et t'as raison de la defendre, j'espere qu'elle t'est utile.

pour ce qui est des 2 APIs FillMemory et MemCopy, peut etre que tu gagnera du temps d'execution, mais sache que cela genere des appels, donc remplissage du stack et temps d'appel = 1cycle machine ou plus donc a prendre en consideration !!! bonne continuation
DeadlyPredator Messages postés 222 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 30 juin 2008
11 mai 2004 à 15:15
Après mûres réflexions, j'ai conlu qu'il y a de nombreuses façons d'optimiser le code :
utiliser l'API fillmemory à la place de string
utiliser l'API MemCopy à la place de =
Juste c'est petite modification vont sûrement booster la classe. Il y a sans doute d'autres solutions pour optimiser d'avantage. Reste juste à les trouver.
celiphane Messages postés 466 Date d'inscription samedi 16 février 2002 Statut Membre Dernière intervention 20 avril 2007
11 mai 2004 à 01:30
"bon j'ai fait des tests de vitesse et j'en ai conclu que ma classe est lente car il y a du vb pour la lecture des lignes"

> c'est déjà bien de l'admettre. Perso je pense pas que la simplicité puisse vraiment primée sur un open for as. Je vois pas la complication dans cette syntaxe. Toutefois tu défends ton bout de viande et c'est louable. Donc je n'irais pas plus loin mais je garde mes convictions... De toute facon tant que ta classe te servira, qu'est-ce que j'aurai à y dire ? hein ? c'est chacun sa soupe après tout ;)...

@+
Celiphane
DeadlyPredator Messages postés 222 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 30 juin 2008
9 mai 2004 à 01:36
bon j'ai fait des tests de vitesse et j'en ai conclu que ma classe est lente car il y a du vb pour la lecture des lignes, donc comme vb est tellement vite ..., MAIS ÇA VAUT BIEN ÇA SIMPLICITÉ ET SES ABILETÉES!!! Peut être je vais la traduire en c++ (j'aime pas le c++) ou ça sera beaucoup plus vite à mon qu'il y ait des volontaires. Peut-être qu'il y a moyen d'optimiser d'avantage?
DeadlyPredator Messages postés 222 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 30 juin 2008
9 mai 2004 à 01:05
Moi, chez nous , open MARCHE PAS. Donc, j'ai du me rabattre sur fso. Par contre j'aimais pas l'idée de trainer une dll de plus. Pi ça c'est bien plus simple que :
Open ??? for ??? as ???
...
Check, une fois compillé, ça tu vas voir que ça va très vite. Ya surement pas plus simple que ça. Je pense pas que l'on puisse aussi bien contrôler la disposition "créer seulement, créer si absent, ouvrir seulement, ... avec open. Pi en plus, on peut ajouter des params comme sequential_scan ... donc plus personalisable. Pi aussi, peux tu patcher des places spécifiques dans un fichier avec fso ou open? Il y a juste la vérification pour s'assurer qu'on tente pas de lire un fichier en mode "write" (sécurité) ou autre pi on pourrais jongler comme on veut avec ça pi simplement.
celiphane Messages postés 466 Date d'inscription samedi 16 février 2002 Statut Membre Dernière intervention 20 avril 2007
8 mai 2004 à 12:20
C'est surement très bien, mais faudrait arrêter de toujours présenter le FSO comme étant la seule possibilité pour les VBistes d'accéder aux fichiers... ainsi ta solution n'est plus un véritable "recours"... en effet, ya encore beaucoup moins compliqué, il suffit d'utiliser les instructions et fonctions suivantes, qui reprennent exactement la classe proposée :

open
filelen
filecopy
print
write
lof
eof
seek

et d'autres...

C'est évidemment plus rapide et moins lourd puisque qu'intégré dans les DLL obligatoire de VB.


Faites passer ces méthodes, elles sont vraiment pas assez connues et pourtant autorisent TOUT. Cf mon tuto sur les fichiers, voir mes sources pour le trouver...
A bon entendeur


@+
Celiphane
juvamine Messages postés 468 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 30 août 2007 2
8 mai 2004 à 09:21
la source me semble assez interesant et elle permet aussi simplemetn de comprendre le concept objet sous vb6 (chose pas très facile !!!!)
merci pour cette source...

@ biento
juva
DeadlyPredator Messages postés 222 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 30 juin 2008
8 mai 2004 à 06:50
Évidament, le but de cette modeste source est de vous permettre de comprendre les apis de kernel32 pour ouvrir les fichiers. Vous pourriez par exemple juste garder la section lecture simple et faire ce que vous voulez...

Cette source me sera TRÈS utilse car BYE BYE FSO.OPENTEXTFILE
Rejoignez-nous