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, 3629 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
Off Topic

"Ich habe nichts zu verbergen"

(4)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Batch & Shell
gelöst Schreiben eines Strings mit Leerzeichen in eine Datei (6)

Frage von c20082005 zum Thema Batch & Shell ...

Microsoft Office
gelöst Excel VBA: Automatische Konvertierung von Textdatei (.txt) zu Exceldatei (.xlsx) (7)

Frage von Booster07 zum Thema Microsoft Office ...

Batch & Shell
Maximale Größe zu verarbeitender txt-Dateien mit Batch (5)

Frage von Muck1303 zum Thema Batch & Shell ...

Ubuntu
gelöst PHP-Version mit Bash in Variable schreiben? (11)

Frage von StefanKittel zum Thema Ubuntu ...

Heiß diskutierte Inhalte
Erkennung und -Abwehr
Virenschutz - Meinungen (23)

Frage von honeybee zum Thema Erkennung und -Abwehr ...

Windows 10
Welches OS für Firmengeräte? (17)

Frage von MarkusVH zum Thema Windows 10 ...

Hyper-V
Langsames Netzwerk i210 LAN Karte (11)

Frage von Akcent zum Thema Hyper-V ...

Netzwerke
Abisolierwerkzeug (11)

Frage von SarekHL zum Thema Netzwerke ...