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, 3650 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Größe einer Datei per BATCH in eine TXT schreiben (5)

Frage von marvinpl zum Thema Batch & Shell ...

Batch & Shell
gelöst Per Batch in ausgewählte oder vorgeschriebene Zeile einer .txt schreiben (6)

Frage von pdiddo zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch E-Mail Body aus txt lesen und einfügen (9)

Frage von pdiddo zum Thema Batch & Shell ...

Batch & Shell
gelöst Bestimmte Daten aus CSV per Windows BATCH Datei in .txt Format schreiben lassen. (9)

Frage von freshman2017 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Virtualisierung
Von ESXi migrieren auf HyperV (SBS11) (23)

Frage von PixL86 zum Thema Virtualisierung ...

Netzwerke
gelöst Standartgateway für Clients (21)

Frage von itsk-robert zum Thema Netzwerke ...

Windows Server
Server-Ersteinrichtung für Dummies (20)

Frage von Olf1980 zum Thema Windows Server ...

Firewall
Welche Firewall ? (18)

Frage von Cyberurmel zum Thema Firewall ...