Laden...
I
Benutzerbeschreibung

Forenbeiträge von IhateWin Ingesamt 79 Beiträge

18.10.2004 - 16:29 Uhr

der nach 100 ms das this.hide ausführt, aber das kann ja nicht sinn der sache sein ????

18.10.2004 - 16:13 Uhr

wenn das erste load-ereigniss der mainform eintritt führe ich ein this.hide() aus, nur bleibt die mainform weiterhin sichtbar ???? beim späteren ausführen von this.hide() z.b.: durch ein clickereigniss funktioniert es problemlos ...

hat jemand eine idee ????

27.08.2004 - 11:18 Uhr

aber wieso weiß die ToString-Methode das es ein DataView ist ....

27.08.2004 - 08:21 Uhr

ich hab ein Hashtable (HT) dessen Value´s DataView´s sind...

wenn ich mit

MessageBox.Show(HT[this.listView.FocusedItem.Text].ToString());

zeigt er mir auch an das es DataView´s sind ...

wenn ich aber folgendes probiere

foreach(DataRowView zeile in HT[this.listView.FocusedItem.Text])
{
}

kommt eine fm: " das object hat keine definition für GetEnumerator"!

setze ich dann ein (DataView) ein funtzt es, wieso ????

foreach(DataRowView zeile in (DataView)HT[this.listView.FocusedItem.Text])
{
}

24.08.2004 - 07:43 Uhr

hast du doch hunderte bis tausende artikelnummern, willst du die alle in der combobox unterbringen ???

warum machst du nicht 3 textfelder ???

23.08.2004 - 11:26 Uhr

ich hab ein DataSet mit 2 DataTable und mache von der einen DataTable ein select abfrage und bekomme ein DataRow[] ...

DataRow[] sortetList = TB2.Select(strExpr,strSort);

und nun versuche ich das DataRow[] in einem DataGrid anzuzeigen
also hab ich mir gedacht ich mach aus dem DataRow[] ein DataTable
aber sobald das Programm an diesen Punkt kommt, macht es in der Methode einfach nicht weiter ????

hier meine Versuche aus einem DataRow[] ein DataTable zu machen ....
TBEnd = das neue DataTable
SPT die Spalten vom Table

 
foreach(DataRow zeile in sortetList)
{
	DataRow NewRow = TBEnd.NewRow();
	for(int i = 0; i < SPT.Length; i++)
	{
		NewRow[SPT[i]] = zeile[SPT[i]];
	}
	TBEnd.Rows.Add(NewRow);
}

o.

foreach(DataRow zeile in sortetList)
{
	TBEnd.Rows.Add(zeile);
}

19.08.2004 - 16:31 Uhr

kennt jemand o. hat jemand eine gute icon-sammlung (16*16) und kann diese mir mal zukommen lassen ...

18.08.2004 - 17:04 Uhr

Original von Xqgene
du fürst einfach deine MCP() Mehtode in einem Thread aus. dann brauchst du keine bremsen und dein form ist immer noch ansprechbar.

  
private void MCP()  
{  
  Thread thread = new Thread(new ThreadStart(MCP1));  
  thread.Start();  
}  
  
private void MCP1()  
{   
  Methode1();  
  Methode2();  
  Methode3();  
}  
18.08.2004 - 16:26 Uhr

ich starte eine methode, die sehr viel leistung frist aber möchte auch das die form weiter benutzt werden kann, ohne das sie ein starrer fleck auf dem desktop ist ....

18.08.2004 - 16:11 Uhr

wenn ich aus einer methode andere methoden aufrufe werde diese nacheinander abgearbeitet... z.B.:

private void MCP()
{
Methode1();
Methode2();
Methode3();
}

wenn ich aber eine von diesen Methoden in einem eigenem Thread starte, wie kann ich verhindern, das die Folgemethoden sofort und nicht nach beendigung der erst-methode gestartet werden ???

private void MCP()
{
Thread thread = new Thread(new ThreadStart(Methode1));
thread.Start();
Methode2();
Methode3();
}

16.08.2004 - 17:11 Uhr

wenn ich eine methode in einem eigenen thread starte und aus dieser herraus ein andere methode aufrufe, wird diese dann im gleichen thread ausgeführt ??? o. im orginal thread wo auch der rest der classe läuft ???

09.08.2004 - 16:52 Uhr

ich will in diversen mp3-rar archive die mp3 info´s auslesen, gibt es möglichkeit die mp3´s temporär in ein virtuelles laufwerk zu entpacken ??? o. wenn das nicht gehen sollte, wie frage ich die temp-variable des system ab ????

09.08.2004 - 14:27 Uhr

oh , sorry hatte deine antwort nicht ganz gelesen ...

bool ist natürlich besser geeignet ...

09.08.2004 - 09:48 Uhr

dazu einen counter der beim programmstart 0 ist und bei jedem aufruf der gerätsuchmethode hochgezählt wird :

private void Gerätsuchmethode()
{
if(suchcounter == 0)
{
suche gerät ....
}

     suchcounter++;  

}

06.08.2004 - 16:59 Uhr

dann verstehe ich aber nicht warum du nicht einfach eine richtextbox nimmst ???
da kannst makieren, kopieren, einfügen, ausschneiden ???

du kannst es sogar per programm machen

this.textBox.SelectAll();
this.textBox.Copy();
this.textBox.Paste();

aber wenn es unbedingt ein label sein muß :

würde ich dem label ein click-event zuweisen

this.label.Click += new System.EventHandler(this.copieren);

und dann eine methode schreiben die den label.text in eine unsichtbare textbox kopiert...

this.unsichtbaretextbox.text = String.Copy(this.label.text)

und dann mit

this.unsichtbaretextbox.SelectAll();
this.unsichtbaretextbox.Copy();

in den zwischenspeicher kopieren....

((das wäre meine lösung, bestimmt geht es noch eleganter ???))

06.08.2004 - 15:22 Uhr

sehe ich das richtig das dudas händisch mit der maus machen willst ???

30.07.2004 - 18:40 Uhr

hat jemand eine Klasse/dll um mit rar-archiven zu arbeiten

19.07.2004 - 22:27 Uhr

ich hab ein sharpdevelop projekt zu einem arbeitskollegen geschickt und der hat nur den monocompiler (die monoumgebung läuft noch nicht)

was muß mein Kollege dem Compiler für Argumente übergeben, damit der Compiler meine 3 .cs dateien miteinbeziehen...

12.07.2004 - 19:26 Uhr

ich hab ein dataset mit sehr vielen Zeilen ....

was ist die schnellste methode dieses zu sortieren ??

08.07.2004 - 15:18 Uhr

aber warum nicht in meinem proggi ????

 
			Wert1 = TB1.Rows[File1] [SPT[2]].ToString();
			Wert2 = TB1.Rows[File2] [SPT[2]].ToString();
			if(Wert1.Length > 5)
			{
				if(String.Compare(Wert1, Wert2) == 0)
				{

//Hier wird nur wert1 angezeigt ???
					MessageBox.Show(Wert1 + " " + Wert2 + " " + Wert1.Length.ToString() + " " + Wert2.Length.ToString());

//Hier wird die länge angezeigt und im kopf der box der inhalt von wert1 
					MessageBox.Show(Wert1.Length.ToString(),Wert1);
					treffer = treffer + exactTitelname;
					return treffer;
				}
				else
				{
					treffer = treffer + StringCompareMP3(Wert1, Wert2);
				}
			}

08.07.2004 - 14:46 Uhr

kann es sein das man in der neuen version keine strings mehr mit + verbinden kann ???

z.b.:

MessageBox.Show(String1 + string2 + Int1.ToString());

07.07.2004 - 10:55 Uhr

aber was ist mit den arrays ??

 
for(int i = 0; i  < 100; i++)
{
        FileInfo[] subfiles = di.GetFiles(this.textBox2.Text);
        FAL.Add(subfiles);
}
FAL.Clear();

sind jetzt alle subfiles array´s weg o. schwirren die im nirvana rum ???

06.07.2004 - 19:11 Uhr

mein problem ist folgendes...

wenn ich mit arraylist.clear() diese bereinige, sind doch noch alle array´s die der arraylist zugeordnet waren, noch da, oder nicht ??? und die könnte ich dann nicht mehr ansprechen, weil sie alle den gleichen namen haben ....

06.07.2004 - 18:01 Uhr

ich hab eine arraylist mit mehren array´s

wie kann ich dieses removen/closen/clearen/??? bevor ich einen neuen durchgang meines prog starte ???

06.07.2004 - 17:59 Uhr

gute info´s zum aufbau einer mp3 und deren abfrage findet man hier ...

http://sites.inka.de/sites/plagiats-home/mp3-header.html

http://erinjones.org/id3.php

30.06.2004 - 16:52 Uhr

nicht-.NET Steuerelemente ???
was ist das ???

29.06.2004 - 17:27 Uhr

kann man sich irgendwo den sourcecode einer textbox o. eines button anschauen ???

16.06.2004 - 00:26 Uhr

mit string[] args wird eine stringarray angelegt, welche die dem programm übergebenen argumente enthält....

zB.:

Programmaufruf:

programm.exe 1111 aaaa 3333 bbbb

ergibt folgende string array:

args[0] = "1111"
args[1] = "aaaa"
args[2] = "3333"
args[3] = "bbbb"

11.06.2004 - 17:53 Uhr

cool danke, aber ich bräuchte auch noch die datenraten ???

10.06.2004 - 12:43 Uhr

mit folgendem Code wähle ich die Schrifart für eine richtextbox ...

 

void SchriftDialog(object sender, System.EventArgs e)
{
	FontDialog fontDl = new FontDialog();
	
	if(fontDl.ShowDialog() == DialogResult.OK)
	{
		this.richTextBox.Font = fontDl.Font;
	}
}

nur wie bekomme ich es hin, das im fontdialog die aktuelle schriftart bereits ausgewählt ist ????

07.06.2004 - 13:46 Uhr

wie aktiviere ich den o. einen debuger bei SharpDevelop

01.06.2004 - 16:10 Uhr

wie kann ich die Info´s einer MP3 auslesen, Bitrate, Titel, usw....

25.05.2004 - 19:32 Uhr

ließt du nicht die komplette datei zeile für zeile in ein array o. dataset ein und greifst dann per zufallszahl über den index darauf zu ???

19.05.2004 - 13:30 Uhr

???

16.05.2004 - 07:09 Uhr
 

Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.Icmp);
ArrayList checkReadSockets = new ArrayList();			
checkReadSockets.Add(socket);
Socket.Select(checkReadSockets, null, null, TimeOut);


10.05.2004 - 19:24 Uhr

wie konnte ich das nur übersehen...

ich hab "Excel.Workbook " aus den load methoden entfernt und schon funktioniert es ... 🙂)

10.05.2004 - 13:58 Uhr

der fehler entsteht in der zeile wo ich die worksheets referenziere... also ganz unten ...

worksheet1 = (Excel.Worksheet)workbook1.Worksheets[HString1];  
worksheet2 = (Excel.Worksheet)workbook2.Worksheets[HString2];  

aber da das meiner meinung nach vollkommen richtig ist, hab ich denn ganzen code dargestellt....

ps.: dieses comische zeichen wurde von diesem forum hinzugefügt..., ist nicht im quelltext vorhanden...

08.05.2004 - 19:30 Uhr

wenn ich auf die worksheets zugreife bekomme ich immer die fm:

Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

und ich weiß nicht warum, habt ihr eine idee ????

 

// project created on 07.05.2004 at 10:33
using System;
using System.Windows.Forms;
using System.IO;
using System.Reflection;
using System.Runtime.InteropServices;


namespace MyFormProject 
{
	class MainForm : System.Windows.Forms.Form
	{
		private System.Windows.Forms.TextBox Load1TB;
		private System.Windows.Forms.ComboBox StartTerminCB;
		private System.Windows.Forms.TextBox Load2TB;
		private System.Windows.Forms.Button Load2BT;
		private System.Windows.Forms.Button Load1BT;
		
		object missing = Missing.Value;
		object ExcelObject = null;
		Excel.Application excel = null;
		Excel.Workbook workbook1 = null;
		Excel.Workbook workbook2 = null;
		Excel.Worksheet worksheet1 = null;
		Excel.Worksheet worksheet2 = null;
		
		public MainForm()
		{
			InitializeComponent();
			Go();
		}
	
		// THIS METHOD IS MAINTAINED BY THE FORM DESIGNER
		// DO NOT EDIT IT MANUALLY! YOUR CHANGES ARE LIKELY TO BE LOST
		void InitializeComponent() {
			this.Load1BT = new System.Windows.Forms.Button();
			this.Load2BT = new System.Windows.Forms.Button();
			this.Load2TB = new System.Windows.Forms.TextBox();
			this.StartTerminCB = new System.Windows.Forms.ComboBox();
			this.Load1TB = new System.Windows.Forms.TextBox();
			this.SuspendLayout();
			// 
			// Load1BT
			// 
			this.Load1BT.Location = new System.Drawing.Point(2, 2);
			this.Load1BT.Name = "Load1BT";
			this.Load1BT.TabIndex = 0;
			this.Load1BT.Text = "Load 1";
			this.Load1BT.Click += new System.EventHandler(this.LoadFile1);
			// 
			// Load2BT
			// 
			this.Load2BT.Location = new System.Drawing.Point(2, 28);
			this.Load2BT.Name = "Load2BT";
			this.Load2BT.TabIndex = 1;
			this.Load2BT.Text = "Load 2";
			this.Load2BT.Click += new System.EventHandler(this.LoadFile2);
			// 
			// Load2TB
			// 
			this.Load2TB.Location = new System.Drawing.Point(80, 30);
			this.Load2TB.Name = "Load2TB";
			this.Load2TB.Size = new System.Drawing.Size(406, 20);
			this.Load2TB.TabIndex = 3;
			this.Load2TB.Text = "";
			this.Load2TB.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Load2Now);
			// 
			// StartTerminCB
			// 
			this.StartTerminCB.Items.AddRange(new object[] {
						"Januar",
						"Februar",
						"März",
						"April",
						"Mai",
						"Juni",
						"Juli",
						"August",
						"September",
						"Oktober",
						"November",
						"Dezember"});
			this.StartTerminCB.Location = new System.Drawing.Point(2, 56);
			this.StartTerminCB.MaxDropDownItems = 12;
			this.StartTerminCB.Name = "StartTerminCB";
			this.StartTerminCB.Size = new System.Drawing.Size(162, 21);
			this.StartTerminCB.TabIndex = 4;
			this.StartTerminCB.SelectedIndexChanged += new System.EventHandler(this.LoadExcelSheet);
			// 
			// Load1TB
			// 
			this.Load1TB.Location = new System.Drawing.Point(80, 4);
			this.Load1TB.Name = "Load1TB";
			this.Load1TB.Size = new System.Drawing.Size(406, 20);
			this.Load1TB.TabIndex = 2;
			this.Load1TB.Text = "";
			this.Load1TB.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Load1Now);
			// 
			// MainForm
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
			this.ClientSize = new System.Drawing.Size(492, 113);
			this.Controls.Add(this.StartTerminCB);
			this.Controls.Add(this.Load2TB);
			this.Controls.Add(this.Load1TB);
			this.Controls.Add(this.Load2BT);
			this.Controls.Add(this.Load1BT);
			this.Name = "MainForm";
			this.Text = "This is my form";
			this.Closing += new System.ComponentModel.CancelEventHandler(this.ExcelBeenden);
			this.ResumeLayout(false);
		}
			
		[STAThread]
		public static void Main(string[] args)
		{
			Application.Run(new MainForm());
		}
		
		void Go()
		{
			try
			{
				StreamReader read = new StreamReader("config.ini");
				this.Load1TB.Text = read.ReadLine();
				this.Load2TB.Text = read.ReadLine();
				read.Close();
			}
			catch
			{
			}
			
			try
			{
				ExcelObject = Marshal.GetActiveObject("Excel.Application");
			}
			catch
			{
				
			}
			
			if(ExcelObject != null)
			{
				excel = (Excel.Application)ExcelObject;
			}
			else
			{
				excel = new Excel.ApplicationClass();
			}
			excel.Visible = true;
			
		}
		void LoadFile1(object sender, System.EventArgs e)
		{
			OpenFileDialog ofd = new OpenFileDialog();
			if(ofd.ShowDialog() == DialogResult.OK)
			{
				this.Load1TB.Text = ofd.FileName;
			}	
			Excel.Workbook workbook1 = excel.Workbooks.Open(this.Load1TB.Text,
			                                               missing, missing, missing, missing,
			                                               missing, missing, missing, missing,
			                                               missing, missing, missing, missing);
		}
		
		void LoadFile2(object sender, System.EventArgs e)
		{
			OpenFileDialog ofd = new OpenFileDialog();
			if(ofd.ShowDialog() == DialogResult.OK)
			{
				this.Load2TB.Text = ofd.FileName;
			}
			Excel.Workbook workbook2 = excel.Workbooks.Open(this.Load2TB.Text,
			                                               missing, missing, missing, missing,
			                                               missing, missing, missing, missing,
			                                               missing, missing, missing, missing);
		}
		

		void Load1Now(object sender, System.Windows.Forms.KeyEventArgs e)
		{
			if(e.KeyCode == Keys.Enter)
			{
				if(this.Load1TB.Text.Length != 0)
				{
					Excel.Workbook workbook1 = excel.Workbooks.Open(this.Load1TB.Text,
				 	                                              missing, missing, missing, missing,
				  	                                             missing, missing, missing, missing,
				   	                                            missing, missing, missing, missing);					
				}
			}			
		}
		
		void Load2Now(object sender, System.Windows.Forms.KeyEventArgs e)
		{
			if(e.KeyCode == Keys.Enter)
			{
				if(this.Load2TB.Text.Length != 0)
				{
					Excel.Workbook workbook2 = excel.Workbooks.Open(this.Load2TB.Text,
				 	                                              missing, missing, missing, missing,
				  	                                             missing, missing, missing, missing,
				   	                                            missing, missing, missing, missing);					
				}
			}
			
		}		
		
		void LoadExcelSheet(object sender, System.EventArgs e)
		{
			string HString1 = "";
			string HString2 = "";
			
			if((this.Load1TB.Text.Length != 0) && (this.Load2TB.Text.Length != 0))
			{
				switch(this.StartTerminCB.Text)
				{
					case "Januar":
						HString1 = "Januar";
						HString2 = "Jan ";
						break;
					
					case "Februar":
						HString1 = "Februar";
						HString2 = "Feb ";
						break;
					
					case "März":
						HString1 = "März";
						HString2 = "Mrz ";
						break;
					
					case "April":
						HString1 = "April";
						HString2 = "Apr ";
						break;
					
					case "Mai":
						HString1 = "Mai";
						HString1 = "Mai ";
						break;					
					
					case "Juni":
						HString1 = "Juni";
						HString2 = "Jun ";
						break;
					
					case "Juli":
						HString1 = "Juli";
						HString2 = "Jul ";
						break;
					
					case "August":
						HString1 = "August";
						HString2 = "Aug ";
						break;
					
					case "September":
						HString1 = "September";
						HString1 = "Sep ";
						break;
					
					case "Oktober":
						HString1 = "Oktober";
						HString2 = "Okt ";
						break;
					
					case "November":
						HString1 = "November";
						HString2 = "Nov ";
						break;
					
					case "Dezember":
						HString1 = "Dezember";
						HString2 = "Dez ";
						break;
				}
				
				HString1 = HString1 + DateTime.Now.Year.ToString().Substring(2,2);
				HString2 = HString2 + DateTime.Now.Year.ToString().Substring(2,2);
				MessageBox.Show(HString1,HString2);
				
				worksheet1 = (Excel.Worksheet)workbook1.Worksheets[HString1];
				worksheet2 = (Excel.Worksheet)workbook2.Worksheets[HString2];
				

				
			}
			else
			{
				MessageBox.Show("Nicht alle Exceldateien wurden geladen...");
			}
		}
		

		
		void ExcelBeenden(object sender, System.ComponentModel.CancelEventArgs e)
		{
			
			StreamWriter write = new StreamWriter("M:\\C#-programm\\ExcelMCP01\\bin\\Debug\\config.ini");
			write.WriteLine(this.Load1TB.Text);
			write.WriteLine(this.Load2TB.Text);
			write.Close();
			excel.Quit();
		}
	}			
}



04.05.2004 - 17:18 Uhr

Verlag: ADDISON-WESLEY
Autor: Jürgen Bayer
ISBN: 3-8273-2050-X
Preis: 60 Euro

das buch ist voll cool, hat jede menge code beispiele...

der ping war auch drin, aber leider nur mit einfacher checksumme-kontrolle...

03.05.2004 - 16:59 Uhr

ich hab keinen gefunden und mithilfe eines schlauen buches einen selbst gebastelt...

 
// created on 04.04.2004 at 14:09
using System;
using Zeittools;
using System.Net;
using System.Net.Sockets;
using System.Collections;

namespace Nettools
{
	public class Ping
	{

		private byte[] orgsendBuffer = {8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
		private byte[] sendBuffer = {8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
		private byte[] receiveBuffer = new byte[200];
		private byte lowByte = 0;
		private byte highByte = 0;
		private string Fehler = "";
		private string IPRG = "";
		private string sollIP = "";
		private string istIP = "";
		private int checksum = 0;
		private int Counter = 1;
		private int sent = 0;
		private int receivedBytes = 0;
		private ushort wordcheck = 0;
		private double timeResult = 0;
		//Rckgabe Variablen um den Status des Pings abzufragen...
		private bool hostStatus = false;
		private bool timeoutStatus = false;
		private bool checksumStatus = false;
		private bool sequenceStatus = false;
		private bool echoStatus = false;
		private bool ipStatus = false;
		
		private StopUhr Uhr = new StopUhr();
	
		
		//Konstruktor
		public Ping()
		{

		}
		
		public double Result
		{
			get {return timeResult;}
		}
		
		public string SollIP
		{
			get {return sollIP;}
		}
		
		public string IstIP
		{
			get {return istIP;}
		}
		
		public string FehlerRG
		{
			get {return Fehler;}
		}
		
		public bool ChecksumStatus
		{
			get {return checksumStatus;}
		}
		
		public bool SequenceStatus
		{
			get {return sequenceStatus;}
		}
		
		public bool EchoStatus
		{
			get {return echoStatus;}
		}
		
		public bool IPStatus
		{
			get {return ipStatus;}
		}
		
		public bool HostStatus
		{
			get {return hostStatus;}
		}
		
		public bool TimeoutStatus
		{
			get {return timeoutStatus;}
		}
		
		public void SendBuffer(ref byte[] SBuffer)
		{
			sendBuffer.CopyTo(SBuffer, 0);
		}
		
		public void ReceiveBuffer(ref byte[] RBuffer)
		{
			receiveBuffer.CopyTo(RBuffer, 0);
		}		
		
		public void Pingen(string Adresse, int TimeOut)
		{
			Fehler = "";
			checksum = 0;
			wordcheck = 0;
			lowByte = 0;
			highByte = 0;
			sent = 0;
			receivedBytes = 0;
			IPRG = "";
			sollIP = "";
			istIP = "";
			timeResult = 0;
			checksumStatus = false;
			sequenceStatus = false;
			echoStatus = false;
			ipStatus = false;
			hostStatus = false;
			timeoutStatus = false;
			for(int i = 0; i < receiveBuffer.Length; i++)
			{
				receiveBuffer[i] = 0;
			}
			
			orgsendBuffer.CopyTo(sendBuffer, 0);
			sendBuffer[6] = (byte)((ushort)Counter >> 8);
			sendBuffer[7] = (byte)((ushort)Counter & 0xFF);
			this.CheckSumKonstruktor();
			
			try
			{
				IPAddress ipAddress = null;
				
				char[] chr= {'0','1','2','3','4','5','6','7','8','9'}; 

  				if (Array.IndexOf(chr,Adresse.Substring(0,1)) >-1)  
				{
    				ipAddress = IPAddress.Parse(Adresse);
					sollIP = ipAddress.ToString();
				}
				else 
				{
					// IP-Adresse des Host ermitteln
					IPHostEntry ipHostEntry = Dns.Resolve(Adresse);
					ipAddress = ipHostEntry.AddressList[0];
					sollIP = ipAddress.ToString();					
				}
   		
				// IPEndPoint-Instanz fr den Port 7 der angegebenen Adresse erzeugen
				IPEndPoint epHost = new IPEndPoint(ipAddress, 7);
		
				// Socket fr das Senden von ICMP-Daten erzeugen
				Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.Icmp);
				
				Uhr.Start();
			
				// ECHO senden
				sent = socket.SendTo(sendBuffer, sendBuffer.Length, SocketFlags.None, epHost);

				// ber Socket.Select prfen, ob im gegebenen Timeout Daten zum Lesen
				// bereitstehen
				ArrayList checkReadSockets = new ArrayList();				
				checkReadSockets.Add(socket);
				Socket.Select(checkReadSockets, null, null, TimeOut);

				// Lesen der Daten
				if (checkReadSockets.Count > 0)
				{
					// Wenn das Socket nicht aus der ArrayList gelscht wurde,
					// sind Daten zum Lesen verfgbar: Die ECHO-Antwort empfangen
					receivedBytes = socket.Receive(receiveBuffer, receiveBuffer.Length,	SocketFlags.None);
					timeResult = (double)Uhr.Stop();
					this.CheckSumControl();
					hostStatus = true;
					timeoutStatus = true;
				}
				else
				{
					timeResult = 0;
					Fehler = Fehler.Insert(Fehler.Length, "TimeOut! \n");
				}
			}
			catch
			{
				Fehler = Fehler.Insert(Fehler.Length, "Unbekannter Host! \n");
				this.Count();
				return;
			}
   		
			IPRG = "";
			IPRG = IPRG.Insert(IPRG.Length, this.receiveBuffer[12].ToString());
			IPRG = IPRG.Insert(IPRG.Length, ".");
			IPRG = IPRG.Insert(IPRG.Length, this.receiveBuffer[13].ToString());
			IPRG = IPRG.Insert(IPRG.Length, ".");
			IPRG = IPRG.Insert(IPRG.Length, this.receiveBuffer[14].ToString());
			IPRG = IPRG.Insert(IPRG.Length, ".");
			IPRG = IPRG.Insert(IPRG.Length, this.receiveBuffer[15].ToString());
			istIP = IPRG;
			
			if(String.Compare(sollIP,istIP) != 0)
			{
				timeResult = 0;
				Fehler = Fehler.Insert(Fehler.Length, "Soll und Ist-IP stimmen nicht berein! \n");
			}
			else
			{
				ipStatus = true;
			}
			

			this.Count();
		}
		
		private void CheckSumControl()
		{
			checksum = 0;
			wordcheck = 0;

			for(int i = 0; i < 200; i = i + 2)
			{
				highByte = receiveBuffer[i];
				lowByte = receiveBuffer[i + 1];
				wordcheck = highByte;
				wordcheck = (ushort)((wordcheck << 8) + lowByte);
				checksum = checksum + wordcheck;
			}

			checksum = (checksum >> 16) + (checksum & 0xFFFF);

			
			if((checksum == 0xFFFF) || (checksum == 0))
			{
				Fehler = "Checksum i.o.! \n";
				checksumStatus = true;
				
			}
			else
			{
				timeResult = 0;
				Fehler = Fehler.Insert(Fehler.Length, "CheckSumFehler! \n");
			}

			
			if((this.sendBuffer[6] == this.receiveBuffer[26]) && (this.sendBuffer[7] == this.receiveBuffer[27]))
			{
				sequenceStatus = true;
			}
			else
			{
				timeResult = 0;
				Fehler = Fehler.Insert(Fehler.Length, "Echo wurde mit falscher Sequencenummer empfangen! \n");
			}
			
			if((this.receiveBuffer[20] != 0) && (this.receiveBuffer[21] != 0))
			{
				timeResult = 0;
				Fehler = Fehler.Insert(Fehler.Length, "Die empfangene ICMP-Nachricht ist kein Echo!!! \n");
			}
			else
			{
				echoStatus = true;
			}
		}
		
		private void CheckSumKonstruktor()
		{
			checksum = 0;
			wordcheck = 0;
			for(int i = 0; i < 16; i = i + 2)
			{
				highByte = sendBuffer[i];
				lowByte = sendBuffer[i + 1];
				wordcheck = highByte;
				wordcheck = (ushort)((wordcheck << 8) + lowByte);
				checksum = checksum + wordcheck;
			}

			checksum = ((~checksum) >> 16) - (checksum & 0xFFFF);
			sendBuffer[2] = (byte)(checksum >> 8);
			sendBuffer[3] = (byte)(checksum & 0xFF);
			
		}
		
		private int Count()
		{
			Counter = Counter + 1;
			if(Counter == 0xFFFF)
			{
				Counter = 1;
			}
			return Counter;
		}
	}
}


29.04.2004 - 11:34 Uhr

ich hab die lösung schon gefunden...

in der user32.dll gibt es eine sendmessage funktion, mit deren hilfe ich dem desktop die nachricht schicke den monitor abzuschalten 🙂)

 
	[DllImport("User32.dll")]
	private static extern int SendMessage(IntPtr handle, int msg, int wparam, int lparam);
		
	private const int WM_SYSCOMMAND = 0x0112;
	private const int SC_MONITORPOWER = 0xF170;
	private const int HWND_BROADCAST =  0x10014;// 0x10014 = desktop - 0xFFFF = alle Top-Level-Fenster(kann aber dazuführen das sich die AG aufhängt)	

	public static void Main(string[] args)
	{
		SendMessage((IntPtr)HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2);// 2 = Monitor aus - 1 = Standby und 	-1 = Monitor anschalten...
	}

28.04.2004 - 15:45 Uhr

über welche funktion kann ich denn monitor abschalten ????

27.04.2004 - 10:26 Uhr

ich hab ein kleines ziptool geschrieben, was auch funktioniert, bis auf dateien mit umlauten o. sonderzeichen, diese werden im erzeugten zip-archiv durch ein fragezeichen ersetzt...

hat einer ne idee wie ich das abstellen kann ???

16.04.2004 - 23:54 Uhr

ich hab sharpdevelop und hab auch icon´s zu meiner toolbar hinzugefügt, die dann nie angezeigt wurden, weil die resource datei im Projekte-baum nicht gespeichert wurde, wenn ich die icon´s händisch hinzugefügt habe und dann auch die datei gespeichert wurde, waren die icon auch im laufenden programm vorhanden....

11.04.2004 - 16:19 Uhr

ich hab ne ziemlich große mainform-klasse, wie kann ich die fensterlogik in einer 2.datei weiterschreiben unter gleichen namespace, gleicher klasse ????

08.04.2004 - 18:51 Uhr

wie kann ich eine Methode zeitgesteuert aufrufen, z.b.: aller 30 sec ...

07.04.2004 - 14:02 Uhr

jo, das funtzt, danke ...

nur hab ich jetzt ein weiteres problem...

beim ausführen des :

response = (HttpWebResponse)httpWebRequest.GetResponse();

kommt folgende meldung ???

Unbehandelte Ausnahme: System.Net.WebException: Die zugrundeliegende Verbindung
wurde geschlossen: Der Server hat eine HTTP-Protokollverletzung ausgeführt..
at System.Net.HttpWebRequest.CheckFinalStatus()
at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.Net.HttpWebRequest.GetResponse()
at MainClass.Main(String[] args) in d:\C#\htmlload\Main.cs:line 49
Drücken Sie eine beliebige Taste . . .

und damit kann ich absolut nix anfangen ....

07.04.2004 - 10:46 Uhr

ja das habe ich schon probiert, da aber im benutzernamen ein "/" enthalten ist, funktioniert das nicht, kann ich nicht irgendwie angeben, das sich webrequest o. httpwebreguest mit einem bestimmten benutzernamen und pw an diese eine seite anmeldet ????

07.04.2004 - 07:09 Uhr

wie kann ich mit webrequest html seiten runterladen die pw geschützt sind ???

04.04.2004 - 14:19 Uhr

ich hab in einem code folgende zeile gefunden ...

return 1F / this.pcFrequency;

wofür steht das F hinter der 1 ???

ist das irgendeine rundungsfunktion ???