Laden...
Q
Quallo myCSharp.de - Member
Anwendungsentwickler Nähe Bremen Dabei seit 12.01.2005 992 Beiträge
Benutzerbeschreibung

Forenbeiträge von Quallo Ingesamt 992 Beiträge

11.10.2005 - 10:01 Uhr

Original von Hitman II
... und auch noch ein Sonnenuntergang...

mfg Hitman

WOW!
Sieht recht lecker aus!

10.10.2005 - 11:07 Uhr

Als erstes entschuldigt bitte das Aufwärmen.

Hat keiner von euch je das Problem gehabt, Strings mit Zeilenumbrüchen in ein XML-Element zu packen?
Ich habe mir jetzt schon einen Wolf zu dem Thema gesucht, aber leider nichts gefunden.
Wenn irgendwer etwas dazu hat(egal was), dann möge er es bitte hier posten.

Grüße und vielen Dank im Voraus, Christoph

09.10.2005 - 14:04 Uhr

Original von Kostas
...OR-Mapper oder reiner ADO.NET?

Schau mal auf folgendes Event: http://persistenceday.dotnetpro.de

siehe Werbung links!

07.10.2005 - 12:08 Uhr

Vielleicht gibt es in den Ereignisdaten ein e.Node, was die aktuelle Node angibt.

07.10.2005 - 11:15 Uhr

Setz doch mal deine kompletten Windowsfarbeinstellungen zurück und probier das nochmal.
Vielleicht ist da etwas im Argen, denn intern ist das ganze ja sowieso Win32.

07.10.2005 - 11:10 Uhr

Ich serialisiere ein Objekt und habe darin Strings, die einen Zeilenumbruch enthalten(probiert mit /r/n, /r, /n und Environment.NewLine(also auch /r/n unter Windows)) .
Wenn ich das Objekt mit den Strings jetzt serialisiere, habe ich nachher in den Strings 
 oder nur 
 oder 
.
Ist das Standard für XML und wird von allen Parsern so erkannt, oder was muss ich nehmen um Zeilenumbrüche zu markieren.
Bzw. nimmt man vielleicht nur 
 oder nur 
?

Grüße Christoph

05.10.2005 - 12:39 Uhr

Das hatte ich mal vor ewiger Zeit in Turbo-Pascal(oder schon Delphi) gelöst. Ich glaube mit neuronalen Netzen und der Flut-Methode. Brut-Force konnte man vergessen, allenfalls Brut-Force mit Abbruchbedingung(versuche 5 Millionen zufällige Verbindungen, nehme die kürzeste).
Die Flut-Methode heißt glaube ich auch noch anders. Ist leider bei Wikipedia nicht viel drüber zu lesen.

03.10.2005 - 14:35 Uhr

Dazu ist diese Komponente zu empfehlen:

http://www.mentalis.org/soft/class.qpx?id=8

Ist komplett lizenzfreier Code.

02.10.2005 - 17:39 Uhr

Danke für eure Hilfe.
Dann werde ich wohl nur einen einfachen Durchgang machen, wo alles mit Random Daten vollgeschrieben wird.

Gibt es noch andere kostenlose Tools, die das können?
Der Erasor schafft bei mir nur ca. 40 KB pro Sekunde.

02.10.2005 - 14:19 Uhr

Nimmst du das Gutmann-Verfahren oder Random Data?
Und wieviele Durchläufe muss man machen um sicher zu sein, dass die Daten auch von Profis nicht mehr wiederhergestellt werden können?

Danke erstmal für den Tipp!

Grüße, Christoph

02.10.2005 - 11:40 Uhr

Ich möchte auf meinem Rechner Dateien restlos löschen, bzw. Dateien die schon gelöscht sind sollen auch wirklich hardwaretechnisch weg sein. Das ganze soll auf der aktiven Partition laufen(der, auf der Windows liegt).
Alle anderen Dateien sollen natürlich da bleiben.
Quasi ein Low-Level Format nur für gelöschte Dateien.

Gibt es da ein Programm für?

Grüße Christoph

28.09.2005 - 13:20 Uhr

Danke, das sollte soweit helfen!

28.09.2005 - 12:33 Uhr

Kann ich in einem überladenen Konstruktor einen anderen Konstruktor der gleichen Instanz aufrufen?

also praktisch so:


public class IchStinke{
  
  private string _name;

  private DirectoryTest dt; 

  public IchStinke()
  {
    this.dt = new DirectoryTest();
  }

  public IchStinke(string newname)
  {
    this._name = newname;
     //hier soll der Standardkonstruktor aufgerufen werden, damit DirectoryTest initialisiert wird
  }
}

Geht das?
(Ich weiß, dass ich auch gleich private DirectoryTest dt = new DirectoryTest(); machen kann, aber das soll ja ach nur ein Beispiel sein).

25.09.2005 - 19:40 Uhr

Danke, mit diesen Informationen sollte ich eine Weile auskommen

25.09.2005 - 19:11 Uhr

Ich werde mir die Software mal anschauen. Danke für die Tips!

Ist die Software bootfähig?
Habe nämlich nicht nur die Platte, sondern auch den Rechner dazu. Und dann muss ich die nicht umbauen.

Grüße und vielen Dank nochmals, Christoph

25.09.2005 - 18:20 Uhr

Ich habe eine Festplatte bekommen von der ich Daten retten soll.
Die Partitionsdaten sind noch in soweit vorhanden, dass eine Partition angezeigt wird, allerdings als Typ: unbekannt.

Mit welchem Rettungstool kann ich die Daten auf dieser Platte am einfachsten wiederherstellen?

Wie gesagt: Die Partitionsdaten sind zerschossen.

Am Besten wäre ein kostenloses Tool, aber wenn das ein wenig Geld kostet muss man das halt investieren. Professioneller Datenretter kommt erstmal nicht in Frage.

Ach ja, ist recht zeitkritisch(deswegen sitze ich auch am Sonntag Abend noch daran).

Grüße Christoph

23.09.2005 - 11:12 Uhr

Deswegen habe ich ja vorsichtashalber das "(auch wenn man das vielleciht nicht ganz so nennen kann)" dazu geschrieben. Das sollte nicht mit einem typisierten Dataset verwechselt werden, sondern mit typisiert war gemeint, dass die Typinformationen für die Spalten festgelegt wurden.

Ist das damit geklärt?

23.09.2005 - 11:04 Uhr

Original von Quallo

Das liefert mir ein leeres Ergebnis, aber die Spalteninformationen werden angezeigt, das Dataset ist also typisiert(auch wenn man das vielleciht nicht ganz so nennen kann).

Es ist mir schon klar, dass das kein typisiertes Dataset ist. Es sind jetzt aber(zumindest für diese Tabelle) die Typinformationen sowie Namen der Spalten in dem Dataset, wenn ich das jetzt an das Datagrid binde habe ich dort eine leere Tabelle des gleichen Typs wie der Table auf den ich die Select-Anweisung angewendet habe.

Sollte aber eigentlich ganz deutchlich aus dem Thread hervorgehen, dass das so gedacht ist.

23.09.2005 - 10:48 Uhr

Ich mache jetzt "Select * from Table where Rownum < 0".

Das liefert mir ein leeres Ergebnis, aber die Spalteninformationen werden angezeigt, das Dataset ist also typisiert(auch wenn man das vielleciht nicht ganz so nennen kann).

Sieht jemand den Fall, dass diese Lösung kaputt geht?

Ich denke, dass es auch bei anderen Datenbanken die Möglichkeit gibt, das Ergebnis künstlich auf null Ergbenissätze zu begrenzen.

Grüße Christoph

22.09.2005 - 15:19 Uhr

Klappt jetzt folgendermaßen:

	
//von pinvoke.net:
[DllImport("shell32.dll")]
static extern int SHGetFolderPath(IntPtr hwndOwner, int nFolder, IntPtr hToken,
   uint dwFlags, [Out] StringBuilder pszPath);

//von mir, jetzt auch bei pinvoke.net:		

StringBuilder SB = new StringBuilder();

SHGetFolderPath(IntPtr.Zero,0x0019,IntPtr.Zero,0x0000,SB);

DesktopPath = SB.ToString();


SB = new StringBuilder();

SHGetFolderPath(IntPtr.Zero,0x0016,IntPtr.Zero,0x0000,SB);

StartMenuPath = SB.ToString();

Wenn jemand eine Managed-Only Lösung hat, bitte her damit.

Grüße Christoph

22.09.2005 - 14:49 Uhr

Original von svenson
Schade, dass mein Kaltwalzwerk gerade renoviert wird, sonst könnte ich es gut gebrauchen... 🙂

Meins ist eingelaufen, zu heiß gewaschen. Deswegen bin ich im Moment auf das von meiner Mutter angewiesen und das darf ich nicht modifizieren.

@norman_timo: Glückwunsch!

22.09.2005 - 13:01 Uhr

Habe ich natürlich schon gelesen.

Aber muss das denn wirklich alles so kompliziert sein?
Eine nette eingebaute Funktion fände ich hübscher.
Wenn ich ein Select-Befehl ausführe übernimmt er ja auch alle Spaltenbezeichnungen und Typen.
Wieso geht das nicht ohne Select-Befehl?

Ich will ja nichts auswählen, ich will Spalten einfügen!

22.09.2005 - 12:21 Uhr

Wie bekomme ich die Pfade für oben genannte Verzeichnisse heraus?

Environment.GetFolderPath(Environment.SpecialFolder.Desktop) liefert das Verzeichnis für den aktuellen Benutzer.

Grüße Christoph

22.09.2005 - 11:29 Uhr

@MAjBO: Es handelt sich um Oracle.

21.09.2005 - 15:58 Uhr

Ich bin dabei ein Datenbanktool für den firmeninternen einsatz zu schreiben.

Es sollen(nicht für alle Tabellen) nur Datensätze hinzugefügt werden können, es sollen keine gelesen oder gelöscht werden können.

Wie ist es nun möglich die Spaltenkopfinformationen für eine Tabelle in der Datenbank zu kriegen.

Sobald ich eine Zeile aus der Datenbank in das Dataset lese habe ich die Informationen über die Spalten im Datagridview drin und kann eine neue Zeile erstellen.

Wie kann ich das hinbekommen, ohne über ein Select Daten abzurufen?

Gibt es keine Befehl, der mir nur die Spalteninformationen für eine Zeile abruft?

Grüße Christoph

21.09.2005 - 15:02 Uhr

Guck dir mal alle Veränderungen im Code und die dazugehörigen Attribute an, auch im SDK.
Wenn dann noch Fragen sind kannst du die gerne stellen. Sonst habe ich leider zu wenig zeit im Moment.

Grüße, Christoph

21.09.2005 - 14:38 Uhr

Leicht abgewandt geht es!

Wäre sehr nett wenn jemand anderes noch ne bessere Lösung hat, ich schlage mich schon seit einiger Zeit mit einem anderen Problem rum, deswegen habe ich mich hiermit auch beschäftigt.

Grüße Christoph

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Xml.Serialization;
using System.Xml;
using System.IO;
using System.Text;

namespace WindowsApplication2
{
	/// <summary>
	/// Zusammenfassung für Form1.
	/// </summary>
	public class Form1 : System.Windows.Forms.Form
	{
		private System.Windows.Forms.Button button1;
		/// <summary>
		/// Erforderliche Designervariable.
		/// </summary>
		private System.ComponentModel.Container components = null;

		public Form1()
		{
			//
			// Erforderlich für die Windows Form-Designerunterstützung
			//
			InitializeComponent();

			//
			// TODO: Fügen Sie den Konstruktorcode nach dem Aufruf von InitializeComponent hinzu
			//
		}

		/// <summary>
		/// Die verwendeten Ressourcen bereinigen.
		/// </summary>
		protected override void Dispose( bool disposing )
		{
			if( disposing )
			{
				if (components != null) 
				{
					components.Dispose();
				}
			}
			base.Dispose( disposing );
		}

		#region Vom Windows Form-Designer generierter Code
		/// <summary>
		/// Erforderliche Methode für die Designerunterstützung. 
		/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
		/// </summary>
		private void InitializeComponent()
		{
			this.button1 = new System.Windows.Forms.Button();
			this.SuspendLayout();
			// 
			// button1
			// 
			this.button1.Location = new System.Drawing.Point(48, 48);
			this.button1.Name = "button1";
			this.button1.TabIndex = 0;
			this.button1.Text = "button1";
			this.button1.Click += new System.EventHandler(this.button1_Click);
			// 
			// Form1
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
			this.ClientSize = new System.Drawing.Size(672, 554);
			this.Controls.Add(this.button1);
			this.Name = "Form1";
			this.Text = "Form1";
			this.ResumeLayout(false);

		}
		#endregion

		/// <summary>
		/// Der Haupteinstiegspunkt für die Anwendung.
		/// </summary>
		[STAThread]
		static void Main() 
		{
			Application.Run(new Form1());
		}

		private void button1_Click(object sender, System.EventArgs e)
		{


			// *******************************************
			// Read configuration File and sort the Report
			// *******************************************
			StreamReader  sr  = new StreamReader(@"C:\test3.xml");
			XmlTextReader xtr = new XmlTextReader(sr);
			config xmlConfig  = (config) new XmlSerializer(typeof(config)).Deserialize(xtr); 
			xmlConfig.chapters = new configChaptersChapter[] { new configChaptersChapter(),new configChaptersChapter()};
			xmlConfig.chapters[0].id = "5";
			xmlConfig.chapters[1].id = "7";
			new XmlSerializer(typeof(config)).Serialize(new XmlTextWriter(@"C:\test4.xml",Encoding.Unicode),xmlConfig);
			
 

		}
	}

	//------------------------------------------------------------------------------
	// <autogenerated>
	//     This code was generated by a tool.
	//     Runtime Version: 1.1.4322.2032
	//
	//     Changes to this file may cause incorrect behavior and will be lost if 
	//     the code is regenerated.
	// </autogenerated>
	//------------------------------------------------------------------------------

	// 
	// This source code was auto-generated by xsd, Version=1.1.4322.2032.
	// 



	/// <remarks/>
	[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
	public class config 
	{
		public configPreferences preferences;

		[XmlArrayItem(Type=typeof(configChaptersChapter), ElementName = "chapter") ] 
		public configChaptersChapter[] chapters;

		public configOwner owner;
	}

	/// <remarks/>
	[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
	public class configPreferences 
	{
    
		/// <remarks/>
		[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
		public string title;
    
		/// <remarks/>
		[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
		public string watermark;
	}

	/// <remarks/>
	[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
	public class configChaptersChapterContent 
	{
		public configChaptersChapterContent()
		{
		}
    
		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute()]
		public string id;
    
		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute()]
		public string data;
    
		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute()]
		public string movies;
    
		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute()]
		public string images;
    
		/// <remarks/>
		[System.Xml.Serialization.XmlTextAttribute()]
		public string Value;
	}

	/// <remarks/>
	[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
	public class configChaptersChapter 
	{
		public configChaptersChapter()
		{
		}


		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute()]
		public string id;
    
		/// <remarks/>
		[XmlArrayItem(Type=typeof(configChaptersChapterContent), ElementName = "content")] 
		public configChaptersChapterContent[] contents;
    
	}

	/// <remarks/>
	[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
	public class configOwner 
	{
    
		/// <remarks/>
		[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
		public string name;
	}  
}

Auch die XML-Datei habe ich verändert:

<?xml version="1.0"?>
<config>
	<owner>
		<name>Markus</name>
	</owner>
	<chapters>
		<chapter id="0">
			<contents>
				<content id="0" data="1" movies="0" images="0">Blub</content>
				<content id="1" data="1" movies="0" images="0">Blab</content>
				<content id="2" data="1" movies="0" images="0">Blah0</content>
			</contents>
		</chapter>
		<chapter id="1">
			<contents>
				<content id="0" data="1" movies="0" images="0">Blah1</content>
			</contents>
		</chapter>
		<chapter id="2">
			<contents>
				<content id="0" data="1" movies="2" images="3">Blah2</content>
			</contents>
		</chapter>
	</chapters>
	<preferences>
		<title>Blahreport</title>
		<watermark>D:\blah.jpg</watermark>
	</preferences>
</config>

21.09.2005 - 14:17 Uhr

Als Diskussionsgrundlage habe ich noch einmal das hier, klappt aber auch nicht(ist nur besser, als über object[] Item):

	/// <remarks/>
	[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
	public class config 
	{
		public configPreferences preferences;

		[XmlArrayItem(Type=typeof(configChaptersChapter),IsNullable = false) ] 
		public configChaptersChapter[] chapters;

		public configOwner owner;
	}

	/// <remarks/>
	public class configPreferences 
	{
    
		/// <remarks/>
		[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
		public string title;
    
		/// <remarks/>
		[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
		public string watermark;
	}

	/// <remarks/>
	public class configChaptersChapterContent 
	{
    
		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute()]
		public string id;
    
		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute()]
		public string data;
    
		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute()]
		public string movies;
    
		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute()]
		public string images;
    
		/// <remarks/>
		[System.Xml.Serialization.XmlTextAttribute()]
		public string Value;
	}

	/// <remarks/>
	public class configChaptersChapter 
	{

		/// <remarks/>
		[System.Xml.Serialization.XmlAttributeAttribute()]
		public string id;
    
		/// <remarks/>
		[XmlArrayItem(Type=typeof(configChaptersChapterContent))] 
		public configChaptersChapterContent[] content;
    
	}

	/// <remarks/>
	public class configOwner 
	{
    
		/// <remarks/>
		[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
		public string name;
	}  

Kleiner tip, erstelle mal per Code solche Testobjekte und serialisiere sie dann.
guck dir dann die Datei an, die herauskommt.

21.09.2005 - 12:48 Uhr

Dann poste doch auch mal die Klasse, den kompletten Code und die Fehlermeldungen, sonst können wir nichts machen!

20.09.2005 - 11:40 Uhr

Bei mir hat es nur ca. eine Woche gedauert.

20.09.2005 - 11:39 Uhr

Du brauchst zum deserialisieren einen öffentlichen Standardkonstruktor.

Für root also:

public Root()
{
hier Konstruktorlogik oder auch nichts
}

Für point brauchst du das auch!

20.09.2005 - 11:24 Uhr

Das mag sein, aber dann hat man es wahrscheinlich sowieso schon zugeschickt bekommen.

20.09.2005 - 11:22 Uhr

Ich würde für XML eigentlich nie über das DataSet gehen, man kann aus einer XML-Datei per Deserialisierung ein Objekt erstellen und auch andersrum.

Der Code im ersten Beitrag sieht schon recht gut aus, was ist denn die genaue Fehlermeldung und an welcher Stelle tritt sie auf?
Es gibt im Board leider keine Hellseher g

20.09.2005 - 11:18 Uhr

Man kann 4 DVD's bestellen.

Herunterladen kann man das m. E. nicht, aber die 10€ sollte man wohl noch haben.

20.09.2005 - 10:01 Uhr

In VS2005 ist das integriert.
Reverse Engineering und Änderungen am Klassendiagramm schlagen auch auf den Code durch.

16.09.2005 - 12:45 Uhr

War zu faul um zu warten, ist irgendwie recht trivial, aber ein SUPER BEISPIEL FÜR REKURSION!



		private static void CheckTreeNode(TreeNode CheckNode)
		{
			foreach(TreeNode CurrNode in CheckNode.Nodes)
			{
				CurrNode.Checked = CheckNode.Checked;
				CheckTreeNode(CurrNode);
			}
		}

Aber aufgepasst, das man kein AfterCheck Event hat, was diesen Code nochmals aufruft!
Man allersings im AfterCheckEventHandler folgendes tun:
if(e.Action != TreeViewAction.Unknown)
{
code...
}

Dieser Code wird nur ausgeführt, wenn auch wirklich im TreeView per klicken oder Tastatur der Haken gesetzt oder entfernt wurde.

Im Endeffekt wollte ich auch noch, dass alle darunterliegenden Nodes aktiviert werden.

Der Code sieht jetzt insgesamt so aus:


		private void treeView1_AfterCheck(object sender, System.Windows.Forms.TreeViewEventArgs e)
		{
			if(e.Action != TreeViewAction.Unknown)
			{
				CheckTreeNodeChilds(e.Node);
				if(e.Node.Checked)
				{
					CheckTreeNodeParents(e.Node);
				}
			}
		}

		private static void CheckTreeNodeChilds(TreeNode CheckNode)
		{
			foreach(TreeNode CurrNode in CheckNode.Nodes)
			{
				CurrNode.Checked = CheckNode.Checked;
				CheckTreeNodeChilds(CurrNode);
			}
		}

		private static void CheckTreeNodeParents(TreeNode CheckNode)
		{
			if(CheckNode.Parent != null)
			{
                CheckNode.Parent.Checked = CheckNode.Checked;
				CheckTreeNodeParents(CheckNode.Parent);
			}
		}

Suchworte: TreeView , Check , Rekursion , TreeNode , TreeNode.Checked ...

16.09.2005 - 12:39 Uhr

Guten Tag die Damen und Herren!

Folgendes:
Ein TreeView, CheckBoxes = true;
Wenn ich jetzt eine Node aktiviere, möchte ich, dass alle Nodes die darunter liegen auch aktiviert werden.

Gibt es da etwas eingebautes für?
Wenn nicht, dann mach ich mir das eben seber.

Grüße Christoph

15.09.2005 - 15:32 Uhr

Original von svenson
Grundsätzlich finde ich auch Innvoation in dem Bereich begrüßenswert. Wenn man mal ehrlich ist, sind solche wirklich revolutionären Ansätze in letzter Zeit doch ziemlich selten zu finden. Ebenfalls diskutieren wird ja, bestimmte Merkmale funktionaler Programmiersprachen aufzunehmen. Dem wäre ich auch nicht abgeneigt.

Welche Merkmale wären das?

15.09.2005 - 12:13 Uhr

Mal nach Rekursion suchen.
Und vielleicht mal bei wikipedia reinschauen.

14.09.2005 - 12:56 Uhr

In gewissen Dingen hast du recht.
Aber ich sag mal so, es gibt mehrere Installationen, die allesamt auf den gleichen Soll-Stand führen sollen.
Ob dies auch der Fall ist, wäre abzuprüfen.

14.09.2005 - 11:25 Uhr

Nach kurzem Anschauen sieht es so aus, als wenn InstallWatch nicht genau das richtige ist.
Es müssen die Veränderungen nicht nur aufgezeichnet, sondern auch mit einer Referenz verglichen werden.

14.09.2005 - 10:39 Uhr

Hi!

Kennt ihr ein Tool, das die Änderungen, die eine Installation an einem System vornimmt(dateien, dlls, registry), als Ist-Zustand nimmt und einen Vergleich mit einem Soll-Zustand macht?

Soll heißen, ich definiere irgendwie, was an einem Zielsystem verändert werden muss und prüfe dann nach der installation was wirklich verändert wurde und was nicht geklappt hat.

14.09.2005 - 10:26 Uhr

Hallo meine LieblingsCommunity!

Polter! Krach! AUA!!!

Verflucht, ich bin auf der Schleimspur ausgerutscht. g

Nun zur Frage: Ist es möglich .NET Programme(Consolen Programme) über Mono laufen zu lassen, OHNE dass man Mono installiert(die Mono Dateien können mitgeliefert werden).

Also praktisch möchte ich die Mono.exe und die Bibliotheken in mein Anwendungsverzeichnis packen und dann das Programm via Mono.exe Programm.exe starten.

Geht das?

Grüße Christoph

13.09.2005 - 15:38 Uhr

Nach ein paar stichprobeartigen Tests sah es so aus.

Wäre interessant das nochmal genauer zu überprüfen.

Grüße Christoph

13.09.2005 - 14:10 Uhr

Danke!

Habe allerdings gerade festgestellt, dass meine Oracle-Datenbank das selber macht, wenn ich die Daten einfüge.

Grüße Christoph

13.09.2005 - 12:37 Uhr

Math.Round macht keine kaufmännische Rundung, sondern rundet leider erst bei .6 auf.

Gibt es da eine Lösung?

Grüße Christoph

13.09.2005 - 09:20 Uhr

Zum testen und wir ein paar kleine Sachen vielleicht nicht schlecht und nen lustiger Ansatz, aber für ein produktivsystem kann man sich wohl kaum darauf verlassen, dass dyndns 24/7 online ist und seine Seite nie ändert.

Grüße Christoph

10.09.2005 - 14:16 Uhr

Im Moment mache ich es auch selbst.

Finde es nur immer eleganter eingebaute Funktionen zu benutzen.
Gibt es denn nicht soetwas wie eine Paintbox, die bei transparenten Pixeln nicht die Backgroundcolor zeichnet, sondern die dahinterliegenden Controls?

Grüße Christoph

10.09.2005 - 13:54 Uhr

Klappt gut.

Kurze Zusammenfassung: Man kann die Farbwerte der Instanzen von Color über .ToArgb() vergleichen.