Hi Leute
Ich habe versucht ein bisschen Text in einer Schleife schreiben zu lassen, nun habe ich das Problem dass der Vorgang nach ner Zeit automatisch abbricht.
private static void CreateField() {
Source.WriteLine("public enum FieldType : int");
Source.WriteLine("{");
Source.WriteLine(" Wiese = 0,");
Source.WriteLine(" Gebirge = 1");
Source.WriteLine("}");
Source.WriteLine("class Field");
Source.WriteLine("{");
Source.WriteLine(" public FieldType TypeField");
Source.WriteLine(" {");
Source.WriteLine(" set");
Source.WriteLine(" {");
Source.WriteLine(" if (value == FieldType.Wiese)");
Source.WriteLine(" {");
Source.WriteLine(" graphic = new Bitmap( @\"Wiese2.bmp\");");
Source.WriteLine(" Type = 1;");
Source.WriteLine(" }");
Source.WriteLine(" else if (value == FieldType.Gebirge)");
Source.WriteLine(" {");
Source.WriteLine(" graphic = new Bitmap(@\"Berge.bmp\");");
Source.WriteLine(" Type = 2;");
Source.WriteLine(" }");
Source.WriteLine(" }");
Source.WriteLine(" }");
Source.WriteLine(" public Bitmap graphic = new Bitmap(@\"Wiese2.bmp\");");
Source.WriteLine(" public int Type = 0;");
Source.WriteLine(" public static void SetFields(ref Field[,] field)");
Source.WriteLine(" {");
int x, y;
for (x = 0; x <= RBSGMProperties.Fieldsize.Width -1; x++)
for (y = 0; y <= RBSGMProperties.Fieldsize.Height - 1; y++)
{
Source.WriteLine("field[" + Convert.ToString(x) + " ," + Convert.ToString(y) + "].TypeField = " + FieldInformations.Fields[Field.Fields[x, y].TypeID].Fieldtype + ";");
}
Source.WriteLine(" }");
Source.WriteLine(" }"); }
wenn ich nun aber die Datei öffne, in die ich geschrieben habe.
dann bricht das irgendwann mittendrin ab und sieht z.B. so aus:
field[27 ,5].TypeField = FieldType.Wiese;
field[27 ,6].TypeField = FieldType.Wiese;
field[27 ,7].TypeField = FieldType.W
abgesehen davon, dass das bis field[28, 28] gehen sollte, sind weder semikolons noch geschweifte Klammern, die folgen sollten in der Textdatei zu finden.
Ist das richtig dass der den Vorgang abbricht?
wie kann ich das ändern?
hoffe ihr könnt mir helfen
Quick
LOL, wo sind deine Zeilenumbrüche abgeblieben ^^
Ich sehe da was von WriteLine daher vermute ich, dass der Objektverweis 'Source' ein Objekt vom Typ StreamWriter beinhaltet.
Bei streams darfst du das Flush zum schluss nicht vergessen. Das schreiben der Datei geht nicht so schnell voran wie dein Prog, daher wird der text im arbeitsspeicher zwischengespeichert. wenn du das also nicht flushst, dann wird der puffer gelöscht und die datei ist nicht zu ende geschrieben worden.
daher zum schluss noch:
Source.Flush();
Source.Close();
Die Zeilenumbrüche hab ich wohl beim kopieren verloren 😁
Das Flush wars. jetzt funktionierts.
Danke =)