Laden...

Forenbeiträge von Paratrooper Ingesamt 22 Beiträge

29.04.2022 - 18:34 Uhr

Hatte mal ein ähnliches Problem.

Wollte den Inhalt einer RichTextBox speichern und in Flutter öffnen.


File.WriteAllText(saveFileDialog.FileName, this.richTextBoxCSV.Text, Encoding.UTF8);

=> Flutter haut mir ne Fehlermeldung raus.


string output =  this.richTextBoxCSV.Text.ToString();
File.WriteAllText(saveFileDialog.FileName, output, Encoding.UTF8);

Einlesen der Textdatei funktioniert.

Komisch...

05.11.2007 - 09:31 Uhr

Warum das Rad neu erfinden?
http://rocketdock.com/
Sieht hübsch aus und ist total kostenlos!

30.05.2007 - 00:56 Uhr

Nicht schlecht, Herr Specht...

Laut BAK-REchner müsste ich jetzt tot sein...
Ich bin aber am leben! (Vielleicht bin ich einfach nur UNTOT oder bin [wie Jesus] von den Toten auferstanden - keine Ahnung).

Servus...
Para.

PS: Mein Rekord: Kasten Warsteiner + 1 Flasche Tequilla. Ich war 2 Tage lang nicht ansprechbar...

16.11.2006 - 23:46 Uhr

Ich bin ein Ex-Fallschirmjäger.

Habe in der 5. 262 gedient (Apr. 96 - Jan. 97).

05.11.2006 - 15:26 Uhr

hi,

die startleiste befindet sich bei mir nicht unten sondern oben.
starte ich nun dein programm, habe ich keinen zugriff mehr auf sie (außer ich drücke diese komische windows-taste auf der tastatur).

Servus...
Paratrooper.

10.09.2006 - 03:02 Uhr

Original von niceBeast

  
public static int Fibonacci(int n){  
  return n==1 ? (1) : (n==2) ? (1) : (Fibonacci(n-1)+Fibonacci(n-2));  
}  
  

Hi,

warum verwendest du so viele Kalmmer?

Ein Einfaches "return n1 ? 1 : n2 ? 1 : Fibonacci(n-1)+Fibonacci(n-2);" hätte auch gereicht.

Servus...
Para.

15.04.2006 - 21:38 Uhr

Hallo!

Ein bißchen Eigenwerbung schadet nie:

http://www.codeproject.com/useritems/MathParser.asp

Servus...
Paratrooper.

28.09.2005 - 20:45 Uhr

hi,

such einfach mal nach "chart".

servus...
Paratrooper.

25.03.2005 - 04:58 Uhr

hallo,

ist es machbar, die mausfunktionen im richtextbox zu deaktivieren (zeilenwechsel, text markieren usw..).

falls nicht: kann man eine eingabeaufforderung irgendie in eine windows-applikation einfügen?

danke im voraus...
Paratrooper

08.02.2005 - 19:42 Uhr

hi,

vielleicht weiche ich etwas vom thema ab, bin aber gerade dabei mein erstes usercontrol zu erstellen und komme nicht weiter.

es geht um einen farbverlauf im usercontrol.

private Color colorBegin;
private Color colorFade;

getter und setter sind auch vorhanden:

[
Category("Farbverlauf")
RefreshProperties(RefreshProperties.All)
]
public Color setColor
{
	get{ return this.colorBegin; }
	set{ this.colorBegin = value; }
}
[
Category("Farbverlauf")
RefreshProperties(RefreshProperties.All)
]
public Color setFadeColor
{
	get{ return this.colorFade; }
	set{ this.colorFade = value; }
}

wenn ich nun das control in mein projekt einbinde, wird im designermodus alles richtig angezeigt. im eigenschafts-fenster kann ich die farben auch einstellen.
was mich stört ist, daß die veränderungen erst nach dem ausführen des programms angezeigt werden.

woran liegt das???

mit [RefreshProperties(RefreshProperties.All)] habe ich auch schon rumexperimentiert. hatte leider keinen erfolg.

@sunny
was meinst du mit "CodeOnFly".
könntest du vielleicht "CodeOnFly" näher erläutern?

danke...
paratrooper.

20.01.2005 - 21:24 Uhr

Hi Noodles,

mit kurz meine ich einige Millisekunden.

Dein Code ist genau das, was ich gesucht habe.
Ich werde vielleicht noch die Hintergrundfarbe ändern damit das ganze etwas "aussagekräftiger" rübekommt.

Danke...
Paratrooper.

20.01.2005 - 20:46 Uhr

Hi,

Ich habe einen TextBox. Es sollen Dateinamen eingegeben werden.
Bekanntlich drüfen bestimmte Zeichen (*?<>:") im Dateiname nicht vorkommen.

Ich Löse nun bei jedem Tastendruck einen Event aus:

[php]private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if( (@"?*/|:<>".IndexOf( e.KeyChar.ToString() ) > -1) || (e.KeyChar == (char)34) ) e.Handled = true;
}[/php]

Das ganze funktioniert wunderbar.
Nun würde ich gerene den Text, der schon eingegeben wurde, kurz aufblitzen lassen (kurzzeitig die Textfarbe auf Rot setzen).
Leider habe ich NULL Ahnung, wie ich das bewerkstelligen soll.

Ich habe es mit einer FOR-Schleife versucht - Reinfall.
Timer hat auch nicht hingehauen.

Bin für jeden Rat dankbar...
Paratrooper.

08.01.2005 - 00:32 Uhr

Hi,

ich hätte da ne Frage: Gegeben sei eine doppelt verkette Liste.

public class List
	{
		class Link 
		{
			public int item;
			public Link prev, next;

			public Link( int item ) 
			{
				this.item = item;
				prev = next = null;
			}
		}

		
		private Link head, last;
		private int length;

		public List() 
		{
			head = last = null;
			length = 0;
		}
		public List( int[] l ) 
		{
			add( l );
		}
		public List( List l ) 
		{
			add( l );
		}

		public bool isEmpty() 
		{
			return head == null;
		}
		public int Length() 
		{
			return length;;
		}
		public void add( int item ) 
		{
			if( isEmpty() ) 
			{
				head = new Link( item );
				last = head;
				length++;
			}
			else 
			{
				Link tmp = last;
				last.next = new Link( item );
				last = last.next;
				last.prev = tmp;
				length++;
			}
		}
		public void add( int[] l ) 
		{
			for( int i=0; i<l.Length; i++ ) add( l[i] );
		}
		public void add( List l ) 
		{
			Link current = l.head;
			while( current != null ) 
			{
				add( current.item );
				current = current.next;
			}
		}
		public void delFirst() 
		{
			if( !isEmpty() ) 
			{
				head = head.next;
				head.prev = null;
				length--;
			}
		}
		public void delLast() 
		{
			if( !isEmpty() ) 
			{
				last = last.prev;
				last.next = null;
				length--;
			}
		}
		public void del( int item ) 
		{
			Link current = head;
			while( current != null ) 
			{
				if( current.item == item ) 
				{
					if( current == head ) delFirst();
					else if( current == last ) delLast();
					else 
					{
						current.prev.next = current.next;
						current.next.prev = current.prev;
						length--;
					}
					break;
				}
				current = current.next;
			}
		}
}

Ich erzeuge jetzt eine Liste, z.B. 1, 2, 3, 4, 5.
Nun lösche ich die 3 (current = 3)
3.prev.next = 3.next (=> 2.next = 4)
3.next.prev = 3.prev (=> 4.prev = 2)

Wenn ich nun die Liste durchlaufe, ist die "3" weg: 1, 2, 4, 5.
Soweit so gut...
Die "3" ist aber noch im Speicher und 3.prev zeit auf die 2, 3.next zeigt auf die 4.
Ist der GB klug genug, die "3" aus dem Speicher zu entfernen, oder muß ich die 3 manuell killen (z.B. so: 3.prev = null und 3.next = null)?

Blöde Frage...
Paratrooper.

14.12.2004 - 23:40 Uhr

Hi Sunny,

Danke für die Tipps.
Ich habe das Problem trotzdem nicht lösen können.

Da ich die Daten in eine XML-Datei speichern will (DataSert.WriteXML), laufe ich kurz vorm Speicher die Tabelle durch und sorge für eine korrekte Nummerierung (Ist zwar nicht die feine englische Art aber immerhin eine Lösung).

Servus...
Paratrooper.

PS: Das Ereignis "CurrentRowChanged" wir im DataTable und nicht in DataGrid ausgelöst.

08.12.2004 - 01:46 Uhr

Hi,

probiert mal folgendes aus:

Window-Projekt anlegen.
DataGrid erzeugen (heißt bei mir dg).

Instanzvariable erzeugen:
System.Data.DataTable dt = new DataTable();

Im Konstruktor folgendes eingeben:
this.dt.Columns.Add("Nr.", System.Type.GetType("System.Int32"));
this.dt.Columns[0].ReadOnly = true;
this.dt.Columns[0].AutoIncrement = true;
this.dt.Columns.Add("Produkt");
this.dg.DataSource = this.dt;

Projekt starten.

Mir ist folgendes aufgefallen: Ich kann im DataGrid Daten eingeben. Es wird auch richtig mitgezählt (0, 1, 2, 3, 4 usw.).
Wenn ich nun mit der Pfeil-Taste eine Zeile nach oben gehe und dann wieder eine nach unten, stimmt die Nummerierung nicht mehr.
Beispiel: Ich gebe irgend etwas ein und drücke ENTER. DataGrid erzeugt eine neue Zeile. In der Spalte "Nr." steht jetzt ne 1. Ich gehe mit der Pfeiltaste nach oben und dann wieder nach unten. Nun steht in der zweiten Zeile eine 2 obwohl eine 1 stehen müßte (nach 0 kommt die 1). Komisch...

Wie bringe ich C# bei, richtig zu Zählen?

Servus...
Paratrooper.

29.07.2004 - 23:53 Uhr

Hallo!

Ich würde gerne folgendes realisieren: Form1 ist gegeben. Per Button_Click wird ein neues Fenster geöffnet (Form2). Solange Form2 geöffnet ist, sollte Form1 nicht anklickbar sein (man kennt das aus vielen Programmen: Neues Fenster öffnet sich, das untergeordnete Fenster ist nicht anwählbar...)

Danke...
Paratrooper.

27.07.2004 - 20:28 Uhr

@Frankenstein & Chief Brodie
Danke, hat wunderbar geklappt!

@VizOne
Dein Code ist natürlich einfacher und übersichtlicher. Werde wahrscheinlich auch so machen.
Aber: gegeben ist eine 3x3-Matrix. Wenn ich nun get(5,5) aufrufe, bricht das Programm ja ab, oder nicht?
Außerdem will ich die "throw new exception(blablabal)" durch eine MessageBox ersetzen (ob es einen Sinn hat, keine Ahnung).

Danke @all...
Paratrooper.

26.07.2004 - 21:23 Uhr

Nein, so einfach geht das nicht.

Hihihi, in Java geht es aber...

Was solls...

Ich weiche nun ein bißchen vom Thema ab.
Ich habe ein paar selbstgeschriebene Klassen auf der Platte.
Die würde ich gerne in andere Projekte einfügen.

Wo muß ich die erzeugten dll's hinkopieren, damit ich sie mit "using" in mein neues Projekt einfügen kann?

Beispiel:

using System;

namespace LinAlg
{
	public class Matrix
	{
		private double[,] M;
		protected int m, n;

		public Matrix()
		{
			m = n = 0;
			M = new double[0,0];
		}
		public Matrix( int m, int n )
                                {
			this.m = m;
			this.n = n;
			M = new double[m,n];
		}
		public Matrix( int m, int n, double[] A ) 
		{
			this.m = m;
			this.n = n;
			int count = 0;
			M = new double[m,n];
			for( int i=0; i<m; i++ ) 
			{
				for( int j=0; j<n; j++ ) 
				{
					M[i,j] = A[count];
					count++;
				}
			}
		}
		public Matrix( double[,] A ) 
		{
			int m = A.Rank;
			int n = A.Length / A.Rank;
			M = new double[m,n];
			for( int i=0; i<m; i++ ) 
			{
				for( int j=0; j<n; j++ ) M[i,j] = A[i,j];
			}
		}
		public Matrix( Matrix A )
		{
			m = A.m;
			n = A.n;
			M = new double[m,n];
			M = toArray( A );
		}
		public Matrix( int m, int n, double c )  
		{
			this.m = m;
			this.n = n;
			M = new double[m,n];
			for( int i=0; i<m; i++ ) 
			{
				for( int j=0; j<n; j++ ) M[i,j] = c;
			}
		}

		public double get( int m, int n) 
		{
			try 
			{
				return M[m,n];
			}
			catch( Exception e ) 
			{
				throw new Exception( e.Message );
			}
		}
		public void set( int m, int n, double item ) 
		{
			try 
			{
				M[m,n] = item;
			}
			catch( Exception e ) 
			{
				throw new Exception( e.Message );
			}
		}
		public void identity( int m, int n ) 
		{
			M = new double[m,n];
			for( int i=0; i<m; i++ ) 
			{
				for( int j=0; j<n; j++ ) M[i,j] = (i==j) ? 1.0 : 0.0;
			}
		}
		public void random( int m, int n ) 
		{
			M = new double[m,n];
			Random r = new Random();
			for( int i=0; i<m; i++ ) 
			{
				for( int j=0; j<n; j++ ) M[i,j] = r.NextDouble();
			}
		}

usw....
(Die Liste geht ewig weiter...)

Im Projektverzeichnis wird ein Unteverzeichniss ("bin\Debug") erstellt.
Darin befindet sich eine Datei namens "LinAlg.dll".
Wo muß ich die nun hinkopieren, damit ich sie in anderen Projekten nutzen kann?

Danke...
Paratrooper.

26.07.2004 - 20:50 Uhr

Hi,

mir ist ja klar, daß ich die Liste durchlaufen muß (anders geht es wohl nicht, oder täusche ich mich ein bißchen???).

In Java lief das ganze doch etwas "unkomplizierter" ab.

Vector v = new Vector();
v.add( new Punkt(100,100) );
v.add( new Punkt(4,3) );
v.add( new Punkt(-2,1) );

System.out.println( v ) hat dann folgendes ausgegeben: [ (100,100); (4,3); (-2,1) ]

Ich mußte die Liste nicht durchlaufen. Es hat schon gereicht, wenn man im Object die toString-Methode implementiert hat.

Servus...
Paratrooper.

26.07.2004 - 20:30 Uhr

Hi,

danke für die schnelle Antwort.

Die Konstruktor-Sache hat wunderbar geklappt.

ToString funktioniert immer noch nicht.
Die ToString-Methode war überschrieben. Habe nun deinen Code eingegeben. Die Ausgabe aber bleibt gleich ("System.Collections.ArrayList").

Servus...
Paratrooper.

26.07.2004 - 19:43 Uhr

Hi,

gibt es eine Möglichkeit, den Konstruktor in der Oberklasse aufzurufen?
Ich bin vor 4 Wochen von Java auf C# umgestiegen. Irgendwie kriege ich das nicht hin.

Beispiel Java:

public class Punkt
{
private int x, y;

public Punkt() {
x = y = 0;
}
public Punkt( int x, int y ) {
this.x = x;
this.y = y;
}
public Punkt( Punkt p ) {
x = p.x;
y = p.y;
}

public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public void setXY( int x, int y ) {
this.x = x;
this.y = y;
}
public void move( int dx, int dy ) {
x += dx;
y += dy;
}
public void print() {
System.out.println( this );
}
public String toString() {
return "(" + x + "," + y + ")";
}
}

public class Kreis extends Punkt
{
private int r;

public Kreis() {
super();
r = 1;
}
public Kreis( int x, int y, int r ) {
super(x,y);
this.r = r;
}
public Kreis( Punkt p, int r ) {
super(p);
this.r = r;
}

public int getR() {
return r;
}
public void setR(int r) {
this.r = r;
}
public void print() {
System.out.println(this);
}
public String toString() {
return "[" + super.toString() + "," + r + "]";
}
}

Wie ihr sehen könnt, rufe ich den Konstruktor der Oberklasse mit "super" auf.

In C# hbe ich das so gelöst:

public class Kreis : Punkt
{
public int r;

  public Kreis()  
  {  
  	x = y = 0;  
  	r = 1;  
  }  
  public Kreis( int x, int y, int r )   
  {  
  	this.x = x;  
  	this.y = y;  
  	this.r = r;  
  }  
  public Kreis( Punkt p, int r )   
  {  
  	x = p.x;  
  	y = p.y;  
  	this.r = r;  
  }  

  public override string ToString()  
  {  
  	return &quot;[&quot; + base.ToString() + &quot;, &quot; + r + &quot;]&quot;;  
  }  

}

Irgendwie vermisse ich die "super"-Funktion.

Und noch eine Frage: Ich erstelle einen ArrayList L. L fülle ich nun mit "Punkten" auf z.B. L.Add( new Punkt(1,1) ) usw.
Console.WriteLine(L) gibt "System.Collections.ArrayList" aus (obwohl die ToString-Methode in "Punkt" implementiert ist).
Java hat mir immer eine saubere Liste auf meinen Bildschirm gezaubert...

Bin für jeden Rat dankbar...
Paratrooper.