hallo,
ich weiss nicht ob das auch unter linux geht. unter windows läuftes.
vielleicht nutzt es dir ja trotzdem was.
Datei öffnen und Zeilenweise auslesen:
String pfad, text_zeile;
StreamReader sr; //unsing system.io;
OpenFileDialog openFile1 = new OpenFileDialog();
// wenn keine dialogbox erwünscht ist --> if schleife entfernen und pfad
// ersetzen
if(openFile1.ShowDialog() == DialogResult.OK) //öffnen des Auswahlfensters
{
pfad = openFile1.FileName; //Pfadname ermitteln
sr = File.OpenText(pfad); //Datei zum Lesen öffnen
while ((text_zeile = sr.ReadLine())!= null) //lese bis EOF erreicht ist
MessageBox.Show(text_zeile,"text");
}
Datei speichern und ans Ende der Datei schreiben:
string pfad;
FileStream fst; //unsing system.io;
SaveFileDialog saveFile1 = new SaveFileDialog();
saveFile1.Filter= "Textdateien (.txt)|.txt|Alle Dateien (.)|.";
if(saveFile1.ShowDialog() == DialogResult.OK) //öffnen des Auswahlfensters
{
pfad = saveFile1.FileName; //Pfadname ermitteln
fst= new FileStream(pfad, FileMode.Append, FileAccess.Write);
StreamWriter sw = new StreamWriter(fst);
sw.BaseStream.Seek(0, SeekOrigin.End); // ans Ende der Datei
sw.WriteLine("HAllo"); // Zeile in Datei schreiben
sw.Flush(); // Abschluss des Schreibvorgang
sw.Close(); //Datei wieder schließen
fst.Close();
}
Existiert Datei und überschrieben ja/nein
if(File.Exists(pfad)) // die Datei existiert schon
{ // Submenü wird aufgerufen und bei ok
File.Delete(pfad); // Datei überschreiben
dat_schreiben = true; // neue Datei schreiben
}
else // wenn Datei noch nicht existiert
dat_schreiben = true; // Datei neu schreiben
gruß
peter
stimmt, brauchst noch die runtime dafür
nur ein vorteil nebenher: läuft auch unter win98)
*In order to be able to either compile (source code) or run (executable) SharpDevelop, you must have the Microsoft .NET SDK 1.0 installed on that machine (the Runtime will also do, however, it comes without the SDK documentation).
*
ps: die ist kleiner, nur das microsoft die wohl verschoben hat... der link geht nicht mehr.. ich habe sie mir noch geladen .. hmm http://www.icsharpcode.net/OpenSource/SD/Download/
...
gefunden
http://www.microsoft.com/downloads/details.aspx?FamilyId=D7158DEE-A83F-4E21-B05A-009D06457787&displaylang=en
dotnetfx.exe downloaden..
[ Dieser Beitrag wurde am 04.03.2003 um 21:39 Uhr von elise editiert. ]
übergebe eine Referenz an den
die andere klasse
sprich
public class Klass {
public static void main(String[] args) {
Frame frame = new Frame(this);
}
}
public class Frame {
private Klass klass;
public Frame(Klass klass) {
this.klass = klass;
}
}
Somit kannst du über die als Member abgelgte Referenz klass
immer auf öffentliche Methoden zugreifen.
Andere Techniken währe innere Klassen usw.
@Shade
Naja, das Abschweifen von der eigentlichen Frage ist ein generelles "Problem" welches hier in den meisten Threads zu beobachten ist. Ich sehe das so, dass Gregor überhaupt nicht vorhatte pAngels Frage zu beantworten. Viel mehr wollte er murphs Aussagen korrigieren. Murphs hat C# schöngeredet, da konnte er die Aussagen nur dämpfen. Wirklich negativ waren seine Argumente ja nicht.
Klar wir kennen Gregor als verfechter der Javaprogrammierung, allerdings sind seine Aussagen auch nicht falsch. Ich finde es völlig ok, hier einen Vergleich zu Java herzustellen, da die beiden Programmiersprachen in der selben Liga spielen sollen. Meinetwegen könnte hier ncoh jemand Smalltalk rein schmeisen..... auch ok.
Zu den C#-Projekten. Ich kenne eine Firma, die mit C# entwickelt. Daher glaube ich schon, dass die Sprache im Kommen ist. Ob sie sich durchsetzen wird... keine Ahnung... ich bleibe der Sprache gegenüber mal offen... frage mich nur, wann ich mir mal C# anschauen werde...
Viele Grüße
hallo,
ich habe ein problem mit dem insert in eine db.
OleDbCommandBuilder cb = new OleDbCommandBuilder(da);
DataTable dt = ds.Tables["list"];
DataRow rw ;
rw = dt.NewRow();
DataRow rw = dt.NewRow();
rw["id"] = "22222";
rw["stelle"] = "Dummy";
dt.Add(rw);
OleDbCommand myAccessCommand = new OleDbCommand(String.Format("INSERT INTO kostenstelle (id, stelle) VALUES ('{0}','{1}')", rw[0], rw[1]), conn);
da.InsertCommand = myAccessCommand;
da.Update(ds);
tablemapping oder datatable kann nicht gefunden werden.
habe schon etliches ausprobiert.
vielleicht kann ja einer helfen.
gruß
hans
so hält er nach jedem SCHLEIFEN durchgang..
aber sag mal genauer, was du willst,
using System;
using System.Threading;
class MainClass
{
public static void test()
{
for(int x=0;x<10;x++){
Console.WriteLine("prozess: " + x);
Thread.Sleep(2000);
}
}
public static void Main(string[] args)
{
Thread myThread = new Thread(new ThreadStart(test));
myThread.Start();
}
}
Original erstellt von ThiefMaster:
#include gibt es ja leider in c# nicht
NICHT????
Also, soweit wie ich das verstanden habe braucht man kein #include. Verbessert mich wenn ich Mist labere aber ich glaube man muss nur oben in der Datei angeben welche namespaces man verwendet (mit using) so dass die includes redundant werden... (Hab mich aber auch erst kurz mit C#-Projekten auseinander gesetzt)
[ Dieser Beitrag wurde am 28.01.2003 um 08:04 Uhr von MaSTaH editiert. ]
Inzwischen hab ich den Fehler entdeckt:
Es liegt daran, dass ich meine Library InstallerLibs.dll einbinde.
Wenn ich das using InstallerLibs; weglasse, geht das Beenden.
Aber warum geht es mit der Lib nicht???
Dann solltest du aber auch alles lesen. Das hört nämlich folgendermaßen auf:
You STILL have to have an executable on the client side to initialize the download. Unfortunately, you can't Auto- Deploy the application through a web page - bummer.