2012-10-31 4 views
0

Dans mon projet vb.NET, j'ai une référence à une ressource "content" appelée check_output.txt. Dans le code j'ouvre ce fichier, écris dedans, puis montre le fichier dans l'éditeur de texte par défaut. Le code que j'utilise est la suivante:Ouvrir un fichier texte non enregistré

Dim FILE_NAME As String = Application.StartupPath & "\" & "check_output.txt" 

If System.IO.File.Exists(FILE_NAME) = True Then 

    Dim objWriter As New System.IO.StreamWriter(FILE_NAME) 

    objWriter.Write(txtOutput.Text) 
    objWriter.Close() 

    System.Diagnostics.Process.Start(FILE_NAME) 
Else 

    MsgBox("Impossibile trovare il file di testo di default", vbCritical, "Errore") 

End If 

Je voudrais traiter le fichier txt comme un fichier temporaire, il sera toujours vide, sauf quand j'écrire. Mais je ne veux pas permettre à l'utilisateur de l'enregistrer, alors quand il ferme le fichier, une boîte de dialogue "SaveAs" devrait apparaître. Après la fermeture, le fichier devrait retourner vide. Est-ce difficile à obtenir? Comment puis-je faire ceci? En d'autres termes, je veux que l'éditeur agisse comme lorsque vous faites "Fichier-> Nouveau" ... Donc, vous avez un fichier temporaire, pas stocké sur le disque dur.

+0

avez-vous vraiment besoin d'ouvrir l'éditeur? Qu'en est-il un formulaire avec une zone de texte dedans? vous pouvez contrôler les actions devraient être faites lors de la fermeture. – UNeverNo

+0

Remerciez J'ai déjà la zone de texte avec la sortie, j'ai 3 boutons pour exporter en Excel, Word et .txt, Excel et Word s'ouvrent et affichent la sortie (formatée). "La boîte de dialogue apparaît à la fermeture de l'application lication (même si j'ai un bug, voir ma question précédente). Je veux reproduire ce comportement avec l'éditeur de texte. – ufo

Répondre

1
  1. Ecrivez vos données dans le fichier et enregistrez-les.
  2. Modifier les propriétés du fichier à « lecture seule » (cela désavouer « Enregistrer » dans la plupart des éditeurs et ne permettent « Enregistrer sous ».
  3. Une fois l'utilisateur terminé leur travail (ou ferme l'application, ou quoi que), réinitialiser les propriétés du fichier et effacer le fichier.
+0

Merci pour votre réponse. Si l'utilisateur ne modifie pas le contenu du fichier, la boîte de dialogue "SaveAs" n'apparaît pas ... Ce n'est pas ce que je veux réaliser. Je veux que l'éditeur agisse comme quand vous faites "File-> New" ... Donc vous avez un fichier temporaire, pas stocké sur le disque dur. – ufo

Questions connexes