Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
11.07.10, 20:39
|
#1
|
Erfahrener Newbie
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
|
Hallo Leute,
ich habe zwei Fragen:
1. Wie kan ich eine Textdatei auslesen
und das der text aus der Datei dan
in einer textbox angezeigt wird?
2. Wie kan ich die einträge aus der textbox
als Textdatei speichern?
Ich benutze MS Visual Basic 2008 Express.
Ich danke schonmal für eure Antworten
MfG moin2010
sorry,
hab noch vergessen das die datei aus dem gleichen ordner geöffnet werden soll
wie das programm.
|
|
|
11.07.10, 22:03
|
#2
|
Echter Freak
Registriert seit: Mar 2010
Ort: /home/spartan-b292
Beiträge: 2.856
Bedankt: 1.701
|
Unten rechts gibt es einen Editieren Button für solche Fälle
__________________
"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety"
|
|
|
11.07.10, 23:01
|
#3
|
Erfahrener Newbie
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
|
Zitat:
Zitat von spartan-b292
Unten rechts gibt es einen Editieren Button für solche Fälle 
|
ich weiß
|
|
|
12.07.10, 10:23
|
#4
|
Registriert seit: Dec 2009
Beiträge: 792
Bedankt: 49
|
Hi,
also zu 1: Dafür gibt es verschiedene Möglichkeiten, am kürzesten finde ich allerdings die My-Namespace Methode.
Code:
TextBox1.Text = My.Computer.FileSystem.ReadAllText("Pfad zur Datei + Dateiname")
und da du ja sagtest dass die Textdatei im gleichen Ordner wie dein Programm ist musst du den Pfad nicht manuell angeben, sondern kannst einfach CurDir() benutzen, also so:
Code:
TextBox1.Text = My.Computer.FileSystem.ReadAllText(CurDir() & "\DeineDatei.txt")
zu 2: Da gibt es auch verschiedene Möglichkeiten, aber da benutze ich auch die My-Methode. Ist eigentlich fast die Umkehrung vom Einlesen des Textes.
Code:
My.Computer.FileSystem.WriteAllText("Pfad zur Datei + Dateiname das erstellt werden soll", "Der Text der geschrieben werden soll", False)
Ganz am Ende dieses Code siehst du das "False" stehen, da entscheidest du ob der Text überschrieben werden soll, oder der Text zum bereits vorhandenen Text hinzugefügt werden soll. False = Ersetzen, True = Neuen Text hinzufügen. Also so könnte dann der Code bei deinem Beispiel ausschauen:
Code:
My.Computer.FileSystem.WriteAllText(CurDir() & "\DeineDatei.txt", TextBox1.Text, False)
Hoffe das hilft dir weiter
__________________
To succeed you have to stop being ordinary and be legen - wait for it - dary.
|
|
|
12.07.10, 12:35
|
#5
|
Erfahrener Newbie
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
|
ich versuche es gleich mal
Ich habe die erste antwort ausprobiert und es hat leider nicht funktioniert.
Er behauptet das die datei nicht eistiert.
Doch die datei ist in dem ordner wie das programm.
Und beim zweiten mit dem text speichern tut sich nichts.
Er sagt auch keine Fehlermeldung.
In die datei schreibt er auch nicht. Nichts
|
|
|
12.07.10, 12:53
|
#6
|
Registriert seit: Dec 2009
Beiträge: 792
Bedankt: 49
|
Hast du dein Programm in VB gestartet? Also auf Debuggen gedrückt? Weil wenn ja, und du im Code CurDir() benutzt, dann muss deine Textdatei im Projektordner\Debug liegen. Also ich glaub hier: Dokumente\Visual Studio 2008\Projects\*DeinProjekt*\bin\Debug\ da müsstest du deine Textdatei reinpacken um es in Visual Basic testen zu können..falls du mit CurDir() nicht auskommst, dann kannste den Pfad natürlich auch manuell eingeben, also z.B.: "C:\irgendwas\Desktop\DeineDatei.txt".
Und bei Nummer 2: Zeig mal deinen Code wie und wo du ihn reingeschrieben hast.
__________________
To succeed you have to stop being ordinary and be legen - wait for it - dary.
|
|
|
12.07.10, 12:54
|
#7
|
Erfahrener Newbie
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
|
Deine 1. Antwort zu frage zwei funktioniert aber er soll
ja den text aus der textbox speichern.
|
|
|
12.07.10, 12:57
|
#8
|
Registriert seit: Dec 2009
Beiträge: 792
Bedankt: 49
|
ja den Text aus einer TextBox in eine TextDatei schreiben, versuch mal das, müsste aufjedenfall klappen:
Code:
My.Computer.FileSystem.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\test.txt", "blubbywerwer", False)
Es müsste dann auf deinem Desktop eine Datei namens test.txt kommen
Zeige mal deinen ganzen Code..
__________________
To succeed you have to stop being ordinary and be legen - wait for it - dary.
|
|
|
12.07.10, 12:59
|
#9
|
Erfahrener Newbie
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
|
Ist es möglich aus mehreren Textboxen die einträge zu speichern und
dass das programm sie wieder lädt beim start bzw. das man dan auf einem button
zum speichern und laden klickt?
|
|
|
12.07.10, 13:02
|
#10
|
Registriert seit: Dec 2009
Beiträge: 792
Bedankt: 49
|
Ja einfach die TextBoxen zusammenknüpfen:
Code:
My.Computer.FileSystem.WriteAllText("C:\irgendwas\Desktop", "TextBox1.Text & TextBox2.Text & TextBox3.Text & TextBox4.Text", False)
Wie meinst du speichern und laden? In eine Textdatei? Hab ich doch schon oben gezeigt, oder meinst du in deinem Programm selber?
__________________
To succeed you have to stop being ordinary and be legen - wait for it - dary.
|
|
|
12.07.10, 13:02
|
#11
|
Erfahrener Newbie
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
|
Das ist der code
Zitat:
Public Class Form1
Private Sub BeendenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click
Close()
End Sub
Private Sub DateiToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DateiToolStripMenuItem.Click
End Sub
Private Sub ÖffnenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ÖffnenToolStripMenuItem.Click
End Sub
Private Sub SpeichernToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SpeichernToolStripMenuItem.Click
My.Computer.FileSystem.WriteAllText(CurDir() & "\test.txt", TextBox1.Text, False)
End Sub
Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click
End Sub
End Class
|
|
|
|
12.07.10, 13:04
|
#12
|
Registriert seit: Dec 2009
Beiträge: 792
Bedankt: 49
|
OK, und wie startest du dein Programm? Klickst du auf das Dreieck (Debuggen) ?
__________________
To succeed you have to stop being ordinary and be legen - wait for it - dary.
|
|
|
12.07.10, 13:10
|
#13
|
Erfahrener Newbie
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
|
Das habe ich auch mal versucht aber dan sagt er:
Zugriff wurde verweigert.
Ich weiß auch nicht wieso.
Falls es nötig ist, ich benutze Windows 7 Ultimate
Zitat:
Zitat von .ShoXx!
OK, und wie startest du dein Programm? Klickst du auf das Dreieck (Debuggen) ?
|
ja so starte ich das programm.
|
|
|
12.07.10, 13:15
|
#14
|
Registriert seit: Dec 2009
Beiträge: 792
Bedankt: 49
|
Ja also wenn du dein Programm so startest und diesen Code benutzt:
Code:
Private Sub SpeichernToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SpeichernToolStripMenuItem.Click
My.Computer.FileSystem.WriteAllText(CurDir() & "\test.txt", TextBox1.Text, False)
End Sub
Dann wird die Datei in deinem Projektordner erstellt..
Hast du nun schon diesen Code versucht oder nicht? Sag mir ob er bei dir eine Datei auf dem Desktop erstellt:
Code:
My.Computer.FileSystem.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\TestDatei.txt", "Hier steht ein Text...", False)
__________________
To succeed you have to stop being ordinary and be legen - wait for it - dary.
|
|
|
12.07.10, 13:18
|
#15
|
Erfahrener Newbie
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
|
Die datei wurde aufm desktop erstellt
|
|
|
12.07.10, 13:19
|
#16
|
Registriert seit: Dec 2009
Beiträge: 792
Bedankt: 49
|
Ja also klappt doch alles, wo hast du denn nun ein Problem?
__________________
To succeed you have to stop being ordinary and be legen - wait for it - dary.
|
|
|
12.07.10, 13:23
|
#17
|
Erfahrener Newbie
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
|
Ok ich danke dir.
|
|
|
12.07.10, 13:31
|
#18
|
Super Moderator
Registriert seit: Sep 2008
Ort: Niemandsland
Beiträge: 6.082
Bedankt: 21.812
|
@moin2010: Wenn du weißt das es ein "Editieren"-Button gibt, dann nutze ihn auch!
|
|
|
12.07.10, 13:31
|
#19
|
Registriert seit: Dec 2009
Beiträge: 792
Bedankt: 49
|
Ja ok, und das mit CurDir() hast du hoffentlich verstanden. Wenn du dein Programm in Visual Basic startest (also auf das Dreieck klickst) dann ist dein Programm hier:
Code:
Dokumente\Visual Studio 2008\Projects\*DeinProjekt*\bin\Debug\
Wenn du deine .exe Datei aus diesem Ordner z.B. auf dein Desktop kopierst, dann ist dieses "CurDir()" auch beim Desktop..bei dir war jetz halt das Problem dass du dein Programm in Visual Basic gestartet hast und somit die erstellte Textdatei nicht gefunden hast..
__________________
To succeed you have to stop being ordinary and be legen - wait for it - dary.
|
|
|
12.07.10, 16:10
|
#20
|
Erfahrener Newbie
Registriert seit: Jul 2010
Beiträge: 120
Bedankt: 1
|
Ok
Das merke ich mir fürs nächste mal.
Aber danke nochmal.
|
|
|
22.07.10, 09:37
|
#21
|
Anfänger
Registriert seit: Jun 2010
Beiträge: 28
Bedankt: 1
|
ich hab auch ne frage ..
wie ist das denn wenn man einen text datei von einem ftp anzeigen möchte zum beispiel in einer RichTextBox ??
|
|
|
22.07.10, 12:12
|
#22
|
Registriert seit: Dec 2009
Beiträge: 792
Bedankt: 49
|
Code:
Dim client As New Net.Webclient
Dim inhalt As String = client.Downloadstring("http://blabla.de/test.txt")
RichTextBox1.Text = inhalt
Habs nich probiert da ich keinen eigenen Server habe, aber müsste glaub gehn..
__________________
To succeed you have to stop being ordinary and be legen - wait for it - dary.
|
|
|
22.07.10, 13:13
|
#23
|
Anfänger
Registriert seit: Mar 2010
Beiträge: 1
Bedankt: 5
|
Bitte benutzt AsyncDownloadString
Ansonsten blockt ihr den ganzen Thread ab, weil der auf den Download wartet
Ausserdem mit try und catch arbeiten, sonst gibt es Exceptions die das Programm crashen lassen.
|
|
|
22.07.10, 21:11
|
#24
|
Anfänger
Registriert seit: Jun 2010
Beiträge: 28
Bedankt: 1
|
ich bedanke mich ^^
edit:
achja .ShoXx! ,
ftp-server kannste kostenlos bekommen bei anbietern wie
- [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
- [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
- [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
ich würde aber wenn kilu emfehlen
da gibt es 10 GB daten platz
unbegrenzten traffic
es ist auch nicht alles sichtbar für alle
und man kann bie 10 GB auf bis zu 100 verschiedene server teilen
|
|
|
25.07.10, 16:14
|
#25
|
Registriert seit: Dec 2009
Beiträge: 792
Bedankt: 49
|
Jop, ich weiß, brauch aber keinen  trotzdem danke^^
__________________
To succeed you have to stop being ordinary and be legen - wait for it - dary.
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:23 Uhr.
().
|