Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

C-Sharp in txt schreiben und daraus lesen

Frage Entwicklung C und C++

Mitglied: cewiethemaster

cewiethemaster (Level 2) - Jetzt verbinden

24.08.2011 um 20:06 Uhr, 3613 Aufrufe, 6 Kommentare

Hi.

Ich will eine TXT Datei einlesen, doch ich hab ein Problem.

Mein Code:


Klasse: TextDatei
01.
using System; 
02.
using System.IO; 
03.
 
04.
class TextDatei 
05.
06.
    ///<summary> 
07.
    /// Liefert den Inhalt der Datei zurück. 
08.
    ///</summary> 
09.
    ///<param name="sFilename">Dateipfad</param> 
10.
    public string ReadFile(String sFilename) 
11.
12.
        string sContent = ""; 
13.
 
14.
        if (File.Exists(sFilename)) 
15.
16.
            StreamReader myFile = new StreamReader(sFilename, System.Text.Encoding.Default); 
17.
            sContent = myFile.ReadToEnd(); 
18.
            myFile.Close(); 
19.
20.
        return sContent; 
21.
22.
 
23.
    ///<summary> 
24.
    /// Schreibt den übergebenen Inhalt in eine Textdatei. 
25.
    ///</summary> 
26.
    ///<param name="sFilename">Pfad zur Datei</param> 
27.
    ///<param name="sLines">zu schreibender Text</param> 
28.
    public void WriteFile(String sFilename, String sLines) 
29.
30.
        StreamWriter myFile = new StreamWriter(sFilename); 
31.
        myFile.Write(sLines); 
32.
        myFile.Close(); 
33.
34.
 
35.
    ///<summary> 
36.
    /// Fügt den übergebenen Text an das Ende einer Textdatei an. 
37.
    ///</summary> 
38.
    ///<param name="sFilename">Pfad zur Datei</param> 
39.
    ///<param name="sLines">anzufügender Text</param> 
40.
    public void Append(string sFilename, string sLines) 
41.
42.
        StreamWriter myFile = new StreamWriter(sFilename, true); 
43.
        myFile.Write(sLines); 
44.
        myFile.Close(); 
45.
46.
 
47.
    ///<summary> 
48.
    /// Liefert den Inhalt der übergebenen Zeilennummer zurück. 
49.
    ///</summary> 
50.
    ///<param name="sFilename">Pfad zur Datei</param> 
51.
    ///<param name="iLine">Zeilennummer</param> 
52.
    public string ReadLine(String sFilename, int iLine) 
53.
54.
        string sContent = ""; 
55.
        float fRow = 0; 
56.
        if (File.Exists(sFilename)) 
57.
58.
            StreamReader myFile = new StreamReader(sFilename, System.Text.Encoding.Default); 
59.
            while (!myFile.EndOfStream && fRow < iLine) 
60.
61.
                fRow++; 
62.
                sContent = myFile.ReadLine(); 
63.
64.
            myFile.Close(); 
65.
            if (fRow < iLine) 
66.
                sContent = ""; 
67.
68.
        return sContent; 
69.
70.
 
71.
    /// <summary> 
72.
    /// Schreibt den übergebenen Text in eine definierte Zeile. 
73.
    ///</summary> 
74.
    ///<param name="sFilename">Pfad zur Datei</param> 
75.
    ///<param name="iLine">Zeilennummer</param> 
76.
    ///<param name="sLines">Text für die übergebene Zeile</param> 
77.
    ///<param name="bReplace">Text in dieser Zeile überschreiben (t) oder einfügen (f)</param> 
78.
    public void WriteLine(String sFilename, int iLine, string sLines, bool bReplace) 
79.
80.
        string sContent = ""; 
81.
        string[] delimiterstring = { "\r\n" }; 
82.
 
83.
        if (File.Exists(sFilename)) 
84.
85.
            StreamReader myFile = new StreamReader(sFilename, System.Text.Encoding.Default); 
86.
            sContent = myFile.ReadToEnd(); 
87.
            myFile.Close(); 
88.
89.
 
90.
        string[] sCols = sContent.Split(delimiterstring, StringSplitOptions.None); 
91.
 
92.
        if (sCols.Length >= iLine) 
93.
94.
            if (!bReplace) 
95.
                sCols[iLine - 1] = sLines + "\r\n" + sCols[iLine - 1]; 
96.
            else 
97.
                sCols[iLine - 1] = sLines; 
98.
 
99.
            sContent = ""; 
100.
            for (int x = 0; x < sCols.Length - 1; x++) 
101.
102.
                sContent += sCols[x] + "\r\n"; 
103.
104.
            sContent += sCols[sCols.Length - 1]; 
105.
 
106.
107.
        else 
108.
109.
            for (int x = 0; x < iLine - sCols.Length; x++) 
110.
                sContent += "\r\n"; 
111.
 
112.
            sContent += sLines; 
113.
114.
 
115.
 
116.
        StreamWriter mySaveFile = new StreamWriter(sFilename); 
117.
        mySaveFile.Write(sContent); 
118.
        mySaveFile.Close(); 
119.
120.
}
Form: Form1
01.
public partial class Form1 : Form 
02.
03.
 
04.
 
05.
       public Form1() 
06.
07.
            InitializeComponent(); 
08.
09.
 
10.
       private void Form1_Load(object sender, EventArgs e) 
11.
12.
           TextDatei c_textdatei = new TextDatei(); 
13.
14.
 
15.
       private void timeResync_Tick(object sender, EventArgs e) 
16.
17.
           //Einlesen einer Datei 
18.
           string fs = c_textdatei.ReadFile(@"c:\text.txt"); 
19.
20.
    }
Er sagt immer, dass er C_textdatei nciht kennt

Was ist falsch?

LG
Mitglied: Berrnd
24.08.2011 um 21:38 Uhr
Hi,

na wenn du dem Compiler nicht sagst wer c_textdatei ist, dann weiß er das auch nicht. ;)

Ich denke mal c_textdatei sollte ein Objekt deiner Klasse TextDatei sein? Also einfach an entsprechender Stelle ein
TextDatei c_textdatei = new TextDatei();
Gruß - Bernd
Bitte warten ..
Mitglied: cewiethemaster
24.08.2011 um 22:00 Uhr
Hi.

ich hab doch in Form1 schon

01.
private void Form1_Load(object sender, EventArgs e)  
02.
11. 
03.
       {  
04.
12. 
05.
           TextDatei c_textdatei = new TextDatei();  
06.
13. 
07.
       } 
Bitte warten ..
Mitglied: 1002-btl
24.08.2011 um 22:31 Uhr
Hallo,

liegen beide Ausschnitte des Quellcodes im selben Namespace?
Im Quellcode, den Du gepostet hast, ist das nicht sicher erkennbar.

Gruß
Bitte warten ..
Mitglied: cewiethemaster
24.08.2011 um 22:33 Uhr
Ja, in Form1 liegen beide im selben namSpace...
Bitte warten ..
Mitglied: noxcry
25.08.2011 um 00:38 Uhr
Also wenn du in "private void timeResync_Tick" aus einem Objekt lesen willst, dass du in einer anderen Methode erstellt hast, dann ist es klar, dass es nicht geht.
Entweder du übergibtst der "private void timeResync_Tick" die in "Form1_Load" erstellte c_textdatei, oder du definierst das Objekt TextDatei als Membervariable, weißt sie in "Form1_Load" zu und kannst sie somit dann aus "private void timeResync_Tick" lesen.
lg
nox
Bitte warten ..
Mitglied: cewiethemaster
25.08.2011 um 08:00 Uhr
Hi.

Danke es funtkiniert ;)

Nun hab ich ein weiteres Problem.

Ich will jetzt mittels

01.
private void cmdSubmit_Click(object sender, EventArgs e) 
02.
03.
           //Text an eine Datei Anhängen 
04.
           TextDatei c_textdatei = new TextDatei(); 
05.
           c_textdatei.Append(@"C:\test.txt", + Environment.NewLine + txtMessage.Text); 
06.
       }
mit einem Zeilenumbruch einen Text an die datei anhängen.
Da meckert er allerdings:

Fehler 1 Der Operator "+" kann nicht auf einen Operanden vom Typ "string" angewendet werden.

und verweißt auf + Environment.NewLine

Was kann ich da machen?


EDIT: Ich habs jetzt so gelöst

01.
private void cmdSubmit_Click(object sender, EventArgs e) 
02.
03.
           //Text an eine Datei Anhängen 
04.
           TextDatei c_textdatei = new TextDatei(); 
05.
           string text = Environment.NewLine + txtMessage.Text; 
06.
           c_textdatei.Append(@"C:\test.txt", text); 
07.
       }
Bitte warten ..
Neuester Wissensbeitrag
DSL, VDSL

Telekom blockiert immer noch den Port 7547 in ihrem Netz

(3)

Erfahrungsbericht von joachim57 zum Thema DSL, VDSL ...

Ähnliche Inhalte
Batch & Shell
gelöst 2 große TXT Dateien vergleichen und Unterschiede in andere Datei schreiben (6)

Frage von sid.pdm zum Thema Batch & Shell ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Webentwicklung
gelöst HTML Output in eine txt Datei mit VisualBasicScript (2)

Frage von coca22COCA zum Thema Webentwicklung ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...