Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C++CLI / VB .Net / .Net-Framework » in Datei schreiben

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
18.10.2005, 20:32 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,

Zitat von Lensflare:
nein, daran liegt es nicht, denn ich habe in dem beispiel von dir auch "C:/temp/test.txt" als pfad verwendet und es geht.

aber nach C# Syntax ist

C++:
datei = File.Create("C:\\temp\\test.txt");


richtig. Deine Variante wird als Link behandelt. Aber das ist ja nicht Dein Problem.
Wenn Du die Initialisierung nach

Application.Run(...); machst dann geht das natürlich schief, da die Initialisierung dann erst erfolgt wenn die Anwendung beendet wird. Setz mal einen Haltepunkt auf diese Stelle.
Also entweder vor Application.Run(...); initialisieren oder in InitializeComponent() oder im Load() Ereignis.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 18.10.2005 um 20:33 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
18.10.2005, 20:41 Uhr
Uwe
C/C++ Master
(Administrator)


Nachtrag...
ein weiters Problem ist das Du das File nicht wieder schließt.
datei.Close(); sollte in Deiner Funktion auftauchen (sonst evtl. Datenverlust), was wiederum dazu führt, dass Du beim Eintritt in Deine Schreibfunktion die Datei nicht geöffnet ist. Also besser in der Funktion initalisieren.

Da die Sache wenig mit Delphi zu tun hat verschieb ich das mal nach C#
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 18.10.2005 um 20:53 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
18.10.2005, 21:02 Uhr
Lensflare



Stimmt. Daran hab ich garnicht gedacht. Es läuft jetzt.

Öhm... hab jetzt aber ein neus Problem:

Ich will mehrere Texte in eine datei schreiben und deswegen brauche ich einen binären integer vor jedem textabschnitt, damit ich weiss, wie lang dieser ist.

Die datei würde dann so aussehen

Code:
<int> 712
<100 chars> Name des Textabschnitts, immer 100 Zeichen
<712 chars> Text mit so vielen Zeichen, wie in dem integer steht
<int> 678
<100 chars> Name eines anderen Textabschnitts, immer 100 Zeichen
<678 chars> ein weiterer Text mit so vielen Zeichen, wie in dem integer steht
...



Ich bitte also um ein weiteres Beispiel, wie man Integer speichert (und liest)
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)

Dieser Post wurde am 18.10.2005 um 21:12 Uhr von Lensflare editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
18.10.2005, 21:11 Uhr
Lensflare




Zitat von Uwe:

Nachtrag...
ein weiters Problem ist das Du das File nicht wieder schließt.
datei.Close(); sollte in Deiner Funktion auftauchen (sonst evtl. Datenverlust), was wiederum dazu führt, dass Du beim Eintritt in Deine Schreibfunktion die Datei nicht geöffnet ist. Also besser in der Funktion initalisieren.


wenn ich es richtig verstenden habe, sollte ich die datei schliessen, sobald ich alles reingeschrieben habe, was ich wollte.

[quote Uwe]
Da die Sache wenig mit Delphi zu tun hat verschieb ich das mal nach C#
[/qoute]
Komisch, denn ich programmiere mit dem Programm "Delphi 2005" und mit dieser Sprache (also C# nehm ich an)... wieso sollte das also nichts mit delphi zu tun haben?
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)

Dieser Post wurde am 18.10.2005 um 21:14 Uhr von Lensflare editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
18.10.2005, 21:24 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,

Zitat:

wenn ich es richtig verstenden habe, sollte ich die datei schliessen, sobald ich alles reingeschrieben habe, was ich wollte.
[/qoute]

Ja!!!

[quote]
Komisch, denn ich programmiere mit dem Programm "Delphi 2005" und mit dieser Sprache (also C# nehm ich an)... wieso sollte das also nichts mit delphi zu tun haben?


Naja, Delphi bringt ab der 2005 Version die .Net Funktionalität mit. Genau hab ich aber deren Entwicklungsstategien nicht verfolgt, da ich beruflich nix mehr mit Delphi mache. Jedenfalls ist in der neuen Version eine C# Umgebung enthalten.

Zu Deinem eigentlichen zweiten Problem:
Warum die Anzahl der Zeichen speichern? Reicht nicht ein bestimmtes Zeichen als Trenner? z.B. | Das kann man auch leicht filtern.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 18.10.2005 um 21:27 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
18.10.2005, 21:53 Uhr
Lensflare



wenn es praktischer ist, dann versuche ich es.

wie lese ich denn von einem bestimmten zeichen bis zum anderen?
und wann weiss ich, dass ich aufhören soll zu lesen? (bei dateiende)
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)

Dieser Post wurde am 18.10.2005 um 21:55 Uhr von Lensflare editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
19.10.2005, 16:36 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
am einfachsten geht es so:
- eine Form
- ein Textfeld (Eigenschaft "Multiline" auf true setzen)
- drei Button

C++:
// schreiben
private void btnWrite_Click(object sender, System.EventArgs e)
{
    StreamWriter writer=File.CreateText("myFile.txt");
    foreach(string str in txtInput.Lines)
    writer.WriteLine(str);
    writer.Close();
}

// lesen
private void btnRead_Click(object sender, System.EventArgs e)
{
    txtInput.Text="";
    string write="";
    StreamReader reader = File.OpenText("myFile.txt");
    while ((write=reader.ReadLine())!=null)
    txtInput.Text += write + Environment.NewLine;
    reader.Close();
}

// anfügen
private void btnAppend_Click(object sender, System.EventArgs e)
{
    FileInfo file = new FileInfo("myFile.txt");
    StreamWriter writer = file.AppendText();
    writer.WriteLine("angefügter Text.");
    writer.Close();
}


--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 19.10.2005 um 16:37 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
21.10.2005, 16:19 Uhr
Lensflare



ich werde jedes stringpärchen (textüberschrift und der text selbst) in 2 string arrays ablegen müssen, damit ich dann durch die eingabe der textüberschrift nach dem dazugehörigen text suchen kann.

Code:
Eingabe der Textüberschrift =>
überschriften-string-array nach der eingegebenen überschrift durchsuchen =>
bei Erfolg den text aus dem text-array mit selbem array-index ausgeben.



Wie lege ich ein string array an, das zum Beispiel mit 1000 einträgen initialisiert wird?
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)

Dieser Post wurde am 21.10.2005 um 16:21 Uhr von Lensflare editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
21.10.2005, 19:17 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo
Nutze die Klasse ArrayList, dann brauchst Du Dich nicht um die Verwaltungssachen kümmern.
Bsp:

C++:
private void button1_Click(object sender, System.EventArgs e)
{
    ArrayList myList = new ArrayList();
      for (int i = 0; i <= 9; i++){
      string str="Item ";
      str += (i+1).ToString();
      myList.Add(str);
    }
    WriteTheList(myList);
}

private static void WriteTheList(IEnumerable myList){
    System.Collections.IEnumerator myEnum = myList.GetEnumerator();
    while ( myEnum.MoveNext() )
        Console.WriteLine(myEnum.Current);
}


--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
21.10.2005, 21:45 Uhr
Lensflare



Bisher habe ich keine weiteren Fragen und komme gut mit meinem Programm voran

Vielen Dank.
--
Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten.
(Emerson Pugh Trost)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C++CLI / VB .Net / .Net-Framework ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: