[..] Recuperer les dates dans un .ini

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
julie
Niveau 5
Niveau 5
Messages : 128
Enregistré le : sam. 28 janv. 2012 17:28
Status : Hors ligne

[..] Recuperer les dates dans un .ini

#1

Message par julie »

bonjour a tous :).

j'espere que vous aller bien pour ma part c'est la forme. bref ;)

j'ai un petit soucis j'aimerais en reprenant l'exemple si dessous
► Afficher le texte
que lorque qu'il a comparé le nombre de jours il ecrit dans un .ini chaque date entre c'est jours sous la forme suivante:

[20/01/2013]

[21/01/2013]

[22/01/2013]

[23/01/2013]

et dans un second temps j'ai une question qui me trote dans la tete comme faire une fonction qui (exemple)

if la section [21/01/2013] existe then ; (juste cette ligne qui me derange)
blablabla
else
blablabla
endif

encore une fois j'espere avoir reussi a me faire comprendre bonne journee :)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Recuperer les dates dans un .ini

#2

Message par mikell »

Question n° 1 (c'est un exemple, dans ton code faudra mettre un IniWriteSection à la place de la concaténation de $txt):
► Afficher le texte
Question n° 2 :
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
TopXm
Niveau 6
Niveau 6
Messages : 260
Enregistré le : mer. 25 mai 2011 16:37
Localisation : Usa
Status : Hors ligne

Re: [..] Recuperer les dates dans un .ini

#3

Message par TopXm »

Hello :)

Attention, il ne faut pas perdre de vu qu'un fichier INI a un format bien défini :
[Section]
Clé=Valeur
Voir : http://fr.wikipedia.org/wiki/Fichier_INI

Du coup, écrire dans un fichier INI tes données entre parenthèses, ça me parait ne pas être la meilleure solution.

Mais bon, si tu y tiens regarde du côté de IniWrite
julie a écrit :if la section [21/01/2013] existe then
Sois tu lis une valeur donc tu utilises IniRead soit tu lis une section et tu utilises IniReadSection :

Code : Tout sélectionner

$nArr = IniReadSection($NomDuFichierIni, $NomSection)
If @Error Then MsgBox(0, '', 'Section inconnue')
[EDIT]Ah Mikell, tu es plus vif que moi :)
Avatar du membre
julie
Niveau 5
Niveau 5
Messages : 128
Enregistré le : sam. 28 janv. 2012 17:28
Status : Hors ligne

Re: [..] Recuperer les dates dans un .ini

#4

Message par julie »

topxm merci j'ai bien compris comment ce forme un fichier.ini mais c'est absolument comme ca que je voulais proceder

merci pour t'es reponse ;)

mikell j'ai ajouter le ini write section
► Afficher le texte
sauf que ca ne fait pas ce que je voudrai a savoir:

[20/01/2013]
[21/01/2013]
[22/01/2013]
[23/01/2013]

ca me l'ecrit comme cela

[20/01/2013
21/01/2013
22/01/2013
23/01/2013]

ou is je l'ajoute dans la boucle ca ajoute la date plus celle des autres enfin plus 1 a chauqe fois .

voit tu d'ou viens le probleme ?
merci :)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Recuperer les dates dans un .ini

#5

Message par mikell »

Bah oui, faut le faire comme ça (oublie le $txt qui n'était là que pour l'exemple)

Code : Tout sélectionner

Local $Calc = _DateDiff('d', $Rev1, $Rev2)
$sData="Key1=Value1"    ;<<< attention à la syntaxe
For $i = 0 to $Calc     ;<<< $i = 0  on commence avec la 1ère date
  $newsection = _CalcDateToDateStandard(_DateAdd('d', $i, $Rev1))
  IniWriteSection(@ScriptDir&"\"&"test.ini", $newsection, $sData)
Next
Mais attention vaut mieux tester l'existence de la section avant le IniWriteSection, ake sinon l'ancien contenu est détruit
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
julie
Niveau 5
Niveau 5
Messages : 128
Enregistré le : sam. 28 janv. 2012 17:28
Status : Hors ligne

Re: [..] Recuperer les dates dans un .ini

#6

Message par julie »

mikell mon sauveur :oops:
une fois de plus ;)

merci :D
Avatar du membre
julie
Niveau 5
Niveau 5
Messages : 128
Enregistré le : sam. 28 janv. 2012 17:28
Status : Hors ligne

Re: [..] Recuperer les dates dans un .ini

#7

Message par julie »

encore un soucis j'ai essayer plusieurs facon de faire mais je n'y arrive pas une fois de plus ;/

(j'adore la programation mais je ne doit pas penser comme un developpeur pense, je suis novice aussi mais meme avec de la perseverance je suis souvent obligée de reclamer de l'aide j'adorerai que les lignes s'ecrivent toute seule sans que j'ai besoin de m'attarder 10 min sur un truc ;)

► Afficher le texte
en reprenant la fonction qui compare la premiere et la seconde date j'aurai aimer que quand l'on clique sur le bouton "enregistrer la location" de la gui 2
ca ecrit dans un fichier .ini toute les dates dans les sections
que dans les key ca ecrit tous les article qui ont eté selectionne avant dans le tableau 2 et en valeur le nombre de ces articles

______________________________________________________exemple:______________________________________________________________

la premiere date est le 10/07/2013
LA seconde date est le 15/07/2013

les articles selectionner dans le second tableaux sont :

12 assiette 18x18
8 vers a vin
20 couteaux

..........................................
le fichier stocktest.ini sera donc sous cette forme la

[10/07/2013]
assiette 18x18= 12
vers a vin= 8
couteaux= 20
[11/07/2013]
assiette 18x18= 12
vers a vin= 8
couteaux= 20
[12/07/2013]
assiette 18x18= 12
vers a vin= 8
couteaux= 20
[13/07/2013]
assiette 18x18= 12
vers a vin= 8
couteaux= 20
[14/07/2013]
assiette 18x18= 12
vers a vin= 8
couteaux= 20
[15/07/2013]
assiette 18x18= 12
vers a vin= 8
couteaux= 20

merci pour votre aide tres precieuse :oops: :)
Manox
Niveau 3
Niveau 3
Messages : 43
Enregistré le : mar. 18 déc. 2012 10:56
Status : Hors ligne

Re: [..] Recuperer les dates dans un .ini

#8

Message par Manox »

Salut,

Si j'ai bien suivi, tu arrives déjà a créer ton fichier ini avec les dates, mais sans les valeurs, c'est juste ?

Dans ce cas il suffit d'ajouter ces lignes juste avant la création des sections dans les ini

Code : Tout sélectionner

        Local $MaxRow = _GUICtrlListView_GetItemCount($ListView1)

        for $i = 0 to $MaxRow - 1
            $aItem = _GUICtrlListView_GetItemTextArray($ListView1, $i)
            $sData &= $aItem[1] & "=" & $aItem[4] & @CRLF 
        Next
EDIT :
J'ai pas réussi à faire marcher correctement ton exemple comme il le faudrait, d'une part à cause du format date qui est envoyé a la fonction :

_DateStandardToCalcDate($sDate); dd/mm/yyyy => yyyy/mm/dd

la valeur passée à la fonction est "vendredi, 5. juillet 2013" la value attendue est au format dd/mm/yyyy

et j'ai bien une erreur après l'execution de la fontion (grace au setError).

EDIT2:
J'ai modifié le format du l'input date en dd/mm/yyyy pour que le reste puisse fonctionner correctement, j'ai rajouté la fonction _stock_ini, qui reprend le code qui créait le stocktest.ini
► Afficher le texte
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Recuperer les dates dans un .ini

#9

Message par mikell »

@Manox
Si Julie préfère un affichage long de la date tu peux utiliser cette fonction
► Afficher le texte
ça fait juste 2 lignes de ton script à adapter
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
julie
Niveau 5
Niveau 5
Messages : 128
Enregistré le : sam. 28 janv. 2012 17:28
Status : Hors ligne

Re: [..] Recuperer les dates dans un .ini

#10

Message par julie »

merci a vous ca me va parfaitement en effet je prefere l'affichage long merci mikell :)

merci aussi a toi manox ;)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Recuperer les dates dans un .ini

#11

Message par mikell »

Surtout à Manox c'est lui qui s'est tapé tout le boulot :mrgreen:

Mais julie ya des trucs bizarres
- le prix de location ne sera pas le même pour 1 jour ou pour plusieurs, mais ce total-là n'apparait nulle part
- si le 2ème ini doit montrer ce qui reste en stock, faudrait qu'il enregistre le tableau 1
- si tu as 2 locations qui se chevauchent tu risques d'avoir la pagaille dans les ini

Et 1 seule gui ça suffirait (et c'est plus facile)
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
julie
Niveau 5
Niveau 5
Messages : 128
Enregistré le : sam. 28 janv. 2012 17:28
Status : Hors ligne

Re: [..] Recuperer les dates dans un .ini

#12

Message par julie »

merci mikell c'est plus sympa comme ca exact par rapport a l'exemple de depart ;) mais ce n'est pas mon script final ceci n'est qu'un exemple qui a pour but de simplifier le code pour que ce soit plus simple pour vous de m'aider ;)

je suis d'accord avec toi sur les point que tu as cité mais pour les devis de chaque client je les recupere dans un autre .ini
ce que je vous ai demander plus haut ne va servir dans un premier temps seulement a actualiser le tableau numero 1 , (les stock en fonction des dates)

:)
Avatar du membre
julie
Niveau 5
Niveau 5
Messages : 128
Enregistré le : sam. 28 janv. 2012 17:28
Status : Hors ligne

Re: [..] Recuperer les dates dans un .ini

#13

Message par julie »

Je suis bloquer a cause de ça n'y aurait t'il pas un moyen de faire exactemekt comme mon dernier exemple que j'ai écrit plus haut ? Merci a toute les bon hommes qui vont bien vouloir une fois de plus m'aider . Et gros merci a mikell qui m'aide particulièrement bien a chaque fois :-)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Recuperer les dates dans un .ini

#14

Message par mikell »

OMG c'est gentil Image
Mais j'ai un peu déconnecté, tu es bloquée à cause de quoi au juste ?
[ Je suis en train d'essayer de de me faire les dents sur le principe de ton script, mais en pointillé parce que comme disait jchd faire ça avec des ini et des tableaux ça relève du puzzle multi-D carrément monstrueux :mrgreen: ]
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
julie
Niveau 5
Niveau 5
Messages : 128
Enregistré le : sam. 28 janv. 2012 17:28
Status : Hors ligne

Re: [..] Recuperer les dates dans un .ini

#15

Message par julie »

Je rentre chez moi dans moins de 2 heures je t'expliquer mais je ne pense pas que ce soit compliquer ;)
Avatar du membre
julie
Niveau 5
Niveau 5
Messages : 128
Enregistré le : sam. 28 janv. 2012 17:28
Status : Hors ligne

Re: [..] Recuperer les dates dans un .ini

#16

Message par julie »

donc voila mikell dans le script precedement que tu a remodifié il n'y a toujours qu'une seule dates pour les section c'est parfait
et je t'en remercie.

mais maintenan j'aimerai que ce soit les valeur qui s'actualise si il y a un nouvel article en reprenant mon exemple plus haut ci dessus je vais tenter de t'expliquer ;)

______________________________________________________exemple:______________________________________________________________

du 10/07/2013 au 14/07/2013

je retire du stock:

12 assiette 18x18
8 vers a vin
20 couteaux

le fichier stocktest.ini sera donc ecrit sous cette forme :

[10/07/2013]
assiette 18x18= 12
vers a vin= 8
couteaux= 20
[11/07/2013]
assiette 18x18= 12
vers a vin= 8
couteaux= 20
[12/07/2013]
assiette 18x18= 12
vers a vin= 8
couteaux= 20
[13/07/2013]
assiette 18x18= 12
vers a vin= 8
couteaux= 20
[14/07/2013]
assiette 18x18= 12
vers a vin= 8
couteaux= 20

maintenan imaginons que je veuille encore retirez du stock du 12/07/2013 au 16/07/2013

10 assiette 18x18
20 vers a vin
30 couteaux

le logiciel va donc reecrire dans le fichier stocktest.ini par dessus la premiere sorti de stock et sera si tu y arrive :) sous cette forme la :

[10/07/2013]
assiette 18x18= 12
vers a vin= 8
couteaux= 20
[11/07/2013]
assiette 18x18= 12
vers a vin= 8
couteaux= 20
[12/07/2013]
assiette 18x18= 22
vers a vin= 28
couteaux= 50
[13/07/2013]
assiette 18x18= 22
vers a vin= 28
couteaux= 50
[14/07/2013]
assiette 18x18= 22
vers a vin= 28
couteaux= 50
[15/07/2013]
assiette 18x18= 10
vers a vin= 20
couteaux= 30
[16/07/2013]
assiette 18x18= 10
vers a vin= 20
couteaux= 30


tu peux donc t'apercevoir que pour les dates du 12 au 14 les valeurs on été additionner a celle qui etait deja presente dans le .ini
voila c'es exactement ce que j'aimerai que cela fasse quand on retire du stock

merci j'ai été la plus claire possible je pense merci :)

(petite question au passage a mikell)
d'ou connais tu si bien l'autoit ? sur le tas a force de l'utiliser ? ou est tu peut etre develloppeur ce qui peut facilite aussi l'utilisation de l'autoit pour les petit projet ? je ne suis pas de la police ;) mais juste pour savoir d'ou tu tiens tous ca a titre informatif ;)

MERCI;)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Recuperer les dates dans un .ini

#17

Message par mikell »

HA je savais bien que tu finirais par trouver la principale difficulté : la gestion du stock en cas de locations multiples

Petit problème
Tu as 20 assiettes au départ
Du 7/07 au 20/07 tu en loues 10
Ensuite tu acceptes une commande qui prévoit d'en louer 8 du 15/07 au 18/07
Et on t'en demande 6 pour le 12/07 avec 4 jours de location prévus
Tu acceptes la dernière commande ? Image
Question subsidiaire :
Si l'affaire marche bien et que tu veux rajouter 10 assiettes au stock de départ, tu gères ça comment ?
etc etc
En fait la manière dont ton stock.ini est géré n'est pas logique, le nombre d'articles doit diminuer dans le ini à chaque location

Bon j'étais curieux de savoir si on pouvait faire ça sans base de données, juste avec des ini et des tableaux
jchd avait prévenu, donc pas surpris par la réponse : oui on peut, mais plus chiant tu meurs :mrgreen:
Voilà le 1er essai (brut et pas fini loin s'en faut)
Accroche-toi...
► Afficher le texte
Et oui effectivement j'ai appris autoit sur le tas, avec aucune formation informatique particulière donc vraiment parti de zéro :wink:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
julie
Niveau 5
Niveau 5
Messages : 128
Enregistré le : sam. 28 janv. 2012 17:28
Status : Hors ligne

Re: [..] Recuperer les dates dans un .ini

#18

Message par julie »

j'en demandais pas temps :O vraiment je suis bluffer par ton talent ,sincerement ce que tu ma pondu la c'est mega genial
tu y a passer beaucoup de temps ?

merci encore mikell (avec tous les merci que je te doit tu pourrai en faire uen collection ;) )
Avatar du membre
julie
Niveau 5
Niveau 5
Messages : 128
Enregistré le : sam. 28 janv. 2012 17:28
Status : Hors ligne

Re: [..] Recuperer les dates dans un .ini

#19

Message par julie »

et pour ajouter du stock je gere pareil pour gerez les pertes et la casse ;) j'ai un troisieme tableau dans mon projet final des qu'une command est passer le nom de la commande va apparaitre dedans enfin j'ai de l'idee pour gerez l'ajout de nouveau materiel etc apres faut mettre cette idee en pratique meme si j'apprecie beaucoup ton aide dans les situation complexe comme decrite dans le sujet plus haut je pesnse etre capable de faire par moi meme les chose plus simple :)

je viens d'en parler a mon mari il te dit merci pour ce que tu viens de nous coder ce qu'il me bloquer vraiment ;)
Répondre