jadrax
Messages postés8Date d'inscriptionmercredi 22 septembre 2010StatutMembreDernière intervention11 octobre 2010
-
11 oct. 2010 à 20:20
raffika
Messages postés269Date d'inscriptiondimanche 31 mai 2009StatutMembreDernière intervention12 mars 2011
-
11 oct. 2010 à 21:46
Bonsoir,
Voila mon nouveau probleme....j'ai 2 form pour mon programme
1ere question: comment mettre en gras une date quand j'associe a une date un fichier texte ( dans form 2)
j'ai essayé en mettant dans ma form 2 la ligne de commande en rouge
2eme question : Comment au demarrage du programme tester la date du jour avec les dates des fichiers crée? en gros 1 journée avant l'evenement j'aimerai crée soit un msgbox soit dans un label une indication d'alerte.
Explication du programme form1: monthcalendar+3 labels+bouton
En gros je clique sur une date..dans un des labels s'affiche la date selectionné et je verifie si il y a presence d'un fichier texte associé a la date que j'affiche dans un autre label
dans un autre label j'indique la date du jour...quand je clique sur le bouton ca affiche la forme 2
Public Class Form1
Private Sub MonthCalendar1_DateChanged(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DateRangeEventArgs) Handles MonthCalendar1.DateChanged
Me.Label1.Text = CStr(Me.MonthCalendar1.SelectionRange.Start) 'pour mettre la date dans le label 1
Me.Label1.Text = FormatDateTime(Me.MonthCalendar1.SelectionStart, DateFormat.LongDate) 'Pour transformer la date en un format différent car sinon impossible d'enregistrer sur le Disque Dure car présence de /)
Dim filename As String
filename = CStr(Label1.Text) 'Pour transformer la date en chaine de caractéres
If System.IO.File.Exists(filename) Then 'cette boucle va tester la présence d'une note a la date selectionnée
FileOpen(1, filename, OpenMode.Input)
Input(1, Label2.Text)
FileClose(1)
' Le fichier existe
Else
Label2.Text = "Aucunes notes"
' Le fichier n'existe pas
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Hide()
Form2.Show()
Dim filename As String
filename = CStr(Me.Label1.Text)
FileOpen(1, filename, OpenMode.Input)
Input(1, Form2.TextBox1.Text)
FileClose(1)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Label1.Text = CStr(Me.MonthCalendar1.SelectionRange.Start) 'pour mettre la date dans le label 1
Me.Label1.Text = FormatDateTime(Me.MonthCalendar1.SelectionStart, DateFormat.LongDate) 'Pour transformer la date en un format différent car sinon impossible d'enregistrer sur le Disque Dure car présence de /)
Dim filename As String
filename = CStr(Label1.Text) 'Pour transformer la date en chaine de caractéres
If System.IO.File.Exists(filename) Then 'cette boucle va tester la présence d'une note a la date selectionnée
FileOpen(1, filename, OpenMode.Input)
Input(1, Label2.Text)
FileClose(1)
' Le fichier existe
Else
Label2.Text = "Aucunes notes"
' Le fichier n'existe pas
End If
'Ici nous reprenons les memes élements que MonthCalendar1.DateChanged sinon par default aucune date ne s'affiche dans notre label
Dim date_du_jour As String
1 bouton +texbox : ici l'utilisateur peut modifier le fichier texte en validant avec le bouton
FORM2
Public Class Form2
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim filename As String
filename = CStr(Form1.Label1.Text)
MsgBox(filename)
FileOpen(1, filename, OpenMode.Output)
Write(1, TextBox1.Text)
FileClose(1)
MonthCalendar.AddBoldedDate(date as Date)
End Sub
raffika
Messages postés269Date d'inscriptiondimanche 31 mai 2009StatutMembreDernière intervention12 mars 2011 11 oct. 2010 à 20:45
Salut, pour ta ligne en rouge,
remplaces là par :
Dim dd As Date
Form1.MonthCalendar1.AddBoldedDate(dd)
Après tu peux assigner à dd
une date, par exemple :
dd = dateandtime.now
Ensuite, avec ce que j'ai compris,
tu souhaite savoir la date de création d'un fichier,
voici comment porcéder pour récupérer cette date :
Dim thisFile = My.Computer.FileSystem.GetFileInfo(CStr("c:\test.txt"))
ensuite :
dim adate as date = thisFile.LastAccessTime
ou sinon tu peux utiliser comme nom
de fichier la date en question pour
pourvoir tester son existence en fonction de Now (date du jour)
C'est une éspece de calendrier ?
Sinon tu peux regarder ma source qui utilise
un peu le même procédé, en associant des fichiers
à une définition d'un mot :
http://www.vbfrance.com/codes/LESLETTRES-TROUVER-MOT-CORRESPONDANT-PLUSIEURS-LETTRES_52179.aspx Sinon merci de préciser ta demande ...
Salutations
raffika
Messages postés269Date d'inscriptiondimanche 31 mai 2009StatutMembreDernière intervention12 mars 2011 11 oct. 2010 à 20:57
Ps : heu j'ai fait une petite erreur dans
mon post, la date de création est obtenue avec :
thisfile.CreationTime
Sinon, tu peux mettre une date dans chaque fichier
au tout début, et la tester, en lisant tous les fichiers...
Mais ça t'obligerais à lire tous les fichier alors
qu'en nommant les fichiers par la date (attention
aux / dans le format de la date qui ne sont pas
supportés dans le nom d'un fichier) il suffit de regarder
tous les fichiers contenus dans le dossier afin de
les cibler plus rapidement. Et puis ce serait plus clair
si on regarde dans le dossier.
Exemple pour un nom de fichier : 11102010.txt (aujourd'hui)
Après si ce n'est pas ce que tu demandes ou
si tu n'arrive pas à le faire, je peux t'aider
jadrax
Messages postés8Date d'inscriptionmercredi 22 septembre 2010StatutMembreDernière intervention11 octobre 2010 11 oct. 2010 à 21:04
En fait pour la premiere question prenons un exemple...
je cree un fichier texte pour le 18 octobre...comment mettre le 18 octobre en gras...avec la solution que tu me propose je ne peut mettre que la date du jour. Et si j'essai
Form1.MonthCalendar1.AddBoldedDate(Form1.Label1.Text) donc la date que j'ai selectionné cela ne fonctionne pas..
pour info filename est un variable qui prend comme nom de fichier la date selectionné.
Pour la 2eme questions..je vais essayer d'etre plus precis....quelle genre de boucle et comment la mettre en place pour que au chargement du programme on teste la date du jour avec tout les fichiers cree (qui sont avec un nom en format longdate)pour alarmer l'utilisateur qu'un evenement a bientot lieu.
raffika
Messages postés269Date d'inscriptiondimanche 31 mai 2009StatutMembreDernière intervention12 mars 2011 11 oct. 2010 à 21:32
Pour ton premier problème,
il faut que tu prenne une date au format 11/10/2010
et non pas lundi 10 octobre 2010...
Form1.MonthCalendar1.AddBoldedDate(Form1.Label3.Text)
Attention en faisant le test, les dates en gras
ne sont pas mises à jour, il faut parcourir le MounthCalendar,
pour qu'elle soient rajoutés, si je trouve comment palier
à ce problème, je t'en informerais.
Heu en fait ça marches aussi avec Label1.Text ...
Sinon, pour ajouter des dates en gras (même si il y a
ce bug dont je t'ai parlé),
lire tous les fichiers présents dans le dossier Notes :
For Each foundFile As String In My.Computer.FileSystem.GetFiles(My.Computer.FileSystem.CurrentDirectory & "\Notes", FileIO.SearchOption.SearchAllSubDirectories, "*.TXT")
ListBox1.Items.Add(foundFile)
Next
Ce qui aura pour effet de rajouter de rajouter tous les
noms de fichiers avec les chemins dans la Listbox1 (.txt)
A préciser que Notes est un dossier contenu dans le dossier de
ton programme (bin\debug).
Donc au lieu de rajouter tous ces fichiers dans la listbox1,
il faut les ajouter en Gras dans le MountCalendar1.
For Each foundFile As String In My.Computer.FileSystem.GetFiles(My.Computer.FileSystem.CurrentDirectory & "\Notes", FileIO.SearchOption.SearchAllSubDirectories, "*.TXT")
dim infos = My.Computer.FileSystem.GetFileInfo(foundfile) '' pour obtenir des infos sur le fichier trouvé
dim datedufichiercorrespondant = infos.Name '' obtient le nom du fichier seul
dim sansextention as string = datedufichiercorrespondant.substring(0,datedufichiercorrespondant.lenght-4) '' Fait une manipulation pour obtenir juste le nom du fichier en enlevant les 4 derniers caratères qui correspondent à .TXT
MonthCalendar1.AddBoldedDate(sansextention) '' ...
Next