Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von steffen_dec
Thema: Regex Pattern, Passwort validieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo Leute,

ich möchte in meinem Programm die Passwörter (beim anlegen/ändern) validieren.

Ein Passwort muss eine minimale Anzahl an Buchstaben und Zahlen beinhalten.

Ich hab es so probiert:

[a-zA-Z]{min, 3}[0-9]{min, 2}

[(a-zA-Z){min, 3}(0-9){min, 2}]

Die minimale Anzahl der Buchstaben sollte variabel sein (ersetze ich dann durch eine Variable)

Die minimale Anzahl der Zahlen sollte variabel sein (ersetze ich dann durch eine Variable)

Nun ist es ja so, dass die Zahlen und Buchstaben wild duchgemischt sein können.

Ich habe das Regex-Tutorial schon durch.

Kann mich jemand in die richtige Richtung schubsen? :-)

Danke
Steffen

Thema: foreach oder for? was ist schneller?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

Danke für eure Antworten.

Ich habe es mit 12 Elementen gemessen, die for-Schleife ist ein Tick schneller (was sich natürlich nicht bemerkbar macht...)

Ich habe es nun auf die normale FOR-Schleife umgestellt.

Thema: foreach oder for? was ist schneller?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo Leute,

ich habe eine generische Liste:


public static List<InsightCam> Cameras = new List<InsightCam>();

InsightCam ist eine Klasse die ich geschrieben habe. Diese befülle ich beim Laden der Form.

Wenn ich nun alle Elemente durchgehen will, welche schleife ist schneller?

A: Die normale For-Schleife?


int iNumOfCams = Cameras.Count;
for (int i = 0; i < iNumOfCams; i++)
{
//...
}

B: Die Foreach-Schleife?


foreach (InsightCam var in Cameras)
{
//...
}

Wer hat das schon mal gemessen? Teilt mit mir euer Wissen :-)

Danke!
Steffen

Thema: Aufrufliste zur Laufzeit ausgeben
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

ich habe den Fall das ein Event zweimal zur gleichen Zeit ausgelöst wird und dadurch einen Absturz(Deadlock!? CPU ist dann voll ausgelastet).

Gibt es eine Möglichkeit die Aufrufliste mit debug.writeline auszugeben?

Ich kann es nämlich nicht so einfach debuggen, da es sporadisch passiert.

gruß
Steffen

Thema: Process Explorer .NET Infos
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

ok, das beruhigt mich :-)

danke!

Thema: Process Explorer .NET Infos
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo Leute,

ich habe das Tool "Process Explorer" mir mal installiert und die Infos zu meinem Programm angeschaut.
Wenn ich das Tab ".NET" aufmache und dort dann in der ComboBox ".NET CLR Interop" auswähle dann sehe ich in der Liste unterhalb folgende Werte:

# of CCWs => 41
# of Stubs => 491
# of marshalling => 48437
# of TLB imports/sec => 0
# of TLB exports/sec => 0

Nun steigt der Wert bei "# of marshalling" ständig!
Was hat der Wert zu bedeuten?
Habe ich irgendwo einen Speicherfresser drin?

Die Speicherauslastung ist laut TaskManager stabil.

MFG
Steffen

Thema: Setup: Dateien nicht nachinstallieren
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo Bernd,

als Fehler habe ich es auch nicht bezeichnet
manchmal ist diese Funktionalität schon nützlich...

naja, ich schau mal wie ich damit sonst zurechtkomme...

Grüße
Steffen

Thema: TabPage.Text zweizeilig
Am im Forum: GUI: Windows-Forms

Hi,

das funktioniert leider auch nicht

wenn ich beim debuggen die Eigenschaften nach dem Befehl (genauso wie bei meinem Code auch) anschaue dann steht in der Text-Eigenschaft "String1\r\nString2" und in der Bezeichnung des Tabs steht dann "String1String2"...

Gruß
Steffen

Thema: TabPage.Text zweizeilig
Am im Forum: GUI: Windows-Forms

Hallo Leute,

ich stelle in der Bezeichnung eines TabPages zwei Informationen in zwei Zeilen dar:


tabCam.Text = strName + "\r\n" + strJobname;

Dies funktioniert nicht mehr sobald man das Windows-Design auf "Windows klassisch" umgestellt hat. Dann wird CR-LF einfach verschluckt.

Wie kann man den Text dennoch zweizeilig anzeigen lassen?

MFG
Steffen

Thema: Setup: Dateien nicht nachinstallieren
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

*HOCHSCHIEB*

Hat den keiner eine Idee?

Gruß
Steffen

Thema: Setup: Dateien nicht nachinstallieren
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo Allerseits,

ich habe mit Hilfe des Setup-Assistenten ein Setup Projekt für meine Application erstellt. Und noch paar Dateien hinzugefügt.

Folgendes Problem:

Ich installiere das Setup auf einem anderem Rechner. Nun lösche ich eine Datei aus dem Installationsverzeichnis welche zur Installation gehört und starte mein Programm, dann wird der Installer aufgerufen und die gelöschte Datei wiederhergestellt. Genau diese Funktionalität möchte ich für bestimmte Dateien ausschalten oder auch generell abschalten!? Wie mache ich das?

Also nochmal kurz und bündig:
Wenn man eine installierte Datei (z.b. pdf, oder txt) umbenennt oder löscht dann wird beim Starten des Programms der Installer aufgerufen und die Datei nachinstalliert! Wie kann man dies verhindern?

Ich habe keine Einstellung im Setup gefunden die diese Funktionalität steuert.

Ich benutze Visual Studio 2005 Prof.

Vielen Dank im Voraus

Gruß
Steffen D.

Thema: Suche FTP-Server Klasse
Am im Forum: Web-Technologien

ich habe nun andere samples für C# die auch mit 2005 funktionieren gefunden:
[URL]http://www.gotdotnet.com/community/usersamples/Default.aspx?query=ftp&Sites=([URL]www.GotDotNet.com)[/URL]

Thema: Suche FTP-Server Klasse
Am im Forum: Web-Technologien

Hallo ich glaube dass es an der funktion liegt?

hier die originale:


//Passive Mode Data Transfer Listner.
		private Socket PassiveClientSocket(ref TCPListener clientDataListner,int intPort)
		{
			Thread oThread=Thread.CurrentThread;
			lock(oThread)
			{
				try
				{
					if(clientDataListner.LocalEndpoint==null)
					{
						bool done=false;
						Socket s=null;
						try
						{
							s= clientDataListner.Accept();	
							done=true;
						}
						catch(Exception e)
						{
							
						}
						return s;	
					}
					else
					{
						Socket s= clientDataListner.Accept();
						return s;	
					}
				}
				catch(Exception e)
				{
					Console.ClientConnect(ClientID,e.StackTrace);
				}
				return null;
			}
		}

und hier wie ich sie portiert habe:


private Socket PassiveClientSocket(ref TcpListener clientDataListner,int intPort)
		{
			Thread oThread=Thread.CurrentThread;
			lock(oThread)
			{
				try
				{
					//if(clientDataListner.LocalEndpoint==null)
                    if (((IPEndPoint)clientDataListner.LocalEndpoint).Address.ToString() == "0.0.0.0")
					{
						Socket s=null;
						try
						{
                            //s = clientDataListner.Accept();
                            s = clientDataListner.AcceptSocket();
						}
						catch(Exception)
						{
							
						}
						return s;	
					}
					else
					{
                        //Socket s = clientDataListner.Accept();
                        Socket s = clientDataListner.AcceptSocket();
						return s;	
					}
				}
				catch(Exception e)
				{
					Console.ClientConnect(ClientID,e.StackTrace);
				}
				return null;
			}
		}

habe ich da was missverstanden?

MFG
Steffen

Thema: Suche FTP-Server Klasse
Am im Forum: Web-Technologien

Hallo,

es liegt wohl an der Verarbeitung des Befehls PASV! Danach steigt jeder FTP-Client aus.

Ich habe mal die Pakete abgefangen und miteinander verglichen (mit denen von Filezilla FTP-Server) und habe folgendes festgestellt:

Wenn ich Filezilla-Server verwende dann ist das Paket so aufgebaut:

Zitat
File Transfer Protocol (FTP)
227 Entering Passive Mode (192,168,100,13,9,248)\r\n
Response code: Entering Passive Mode (227)
Response arg: Entering Passive Mode (192,168,100,13,9,248)
Passive IP address: 192.168.100.13 (192.168.100.13)
Passive port: 2552

Das Paket wo von meinem Programm versendet wird sieht so aus:
Zitat
File Transfer Protocol (FTP)
227 Entering Passive Mode (192,168,100,32,4,76)\r\n
Response code: Entering Passive Mode (227)
Response arg: Entering Passive Mode (192,168,100,32,4,76)
Passive IP address: 192.168.100.32 (192.168.100.32)
Passive port: 1100
Passive IP NAT: True

Wie ihr seht ist da das Passive IP NAT auf TRUE gesetzt. Liegt es vielleicht daran? Wenn ja, wie kann ich es auf false setzen?

Vielen Dank im Voraus.
Steffen

Thema: Suche FTP-Server Klasse
Am im Forum: Web-Technologien

Hallo Leute,

danke für eure Antworten.

ich versuche nun den FTP-Server http://www.c-sharpcorner.com/internet/FTPServerinCSharp.asp
auf C# 2005 zu portieren.

Im aktiv-Modus läuft alles wuderbar! Im passiv-Modus bleibt der FTP-Client beim LIST Befehl stehen.

Kann bitte einer drüberschauen und ausprobieren? als Client habe ich Filezilla verwendet.

Vielen Dank im Voraus

Thema: Suche FTP-Server Klasse
Am im Forum: Web-Technologien

Hallo Leute,

kennt jemand eine einfache FTP-Server Klasse in C#?
Ich möchte mit dem Server lediglich Bilder empfangen, also nichts komplexes.

Oder kann man es mit C#-Board-Mitteln realisieren? (es muss unbedingt ftp sein)

Ich habe übrigens auf diversen seiten schon gesucht, da gibts nur eine C++-Klasse...

Vielen Dank für eure Mühe!
Gruß
Steffen

Thema: Bitmap Symbole auftrennen (für Menü bzw. ToolStrip)
Am im Forum: Grafik und Sound

Hallo Leute,

ich möchte Symbole für Menüs-Einträge und vielleicht auch für eine Toolbar verwenden. Diese habe ich bereits alle in einem Bild (bmp). Die Symbole sind praktisch aneinandergereiht, d.h. das bild ist 16x1088 wobei 68 symbole drin sind.

ich habe versucht das bild in eine imagelist zu laden und über index auszuwählen, dem ist es aber nicht so.

ich möchte die bilder zur entwurfszeit einem menü oder button zuweisen können.
Gibts da einen Trick dabei? oder muss ich die Bitmaps manuell auftrennen? Gibts da Programme dafür? (ich hab bei XnView nichts gefunden)

Danke im Voraus

Steffen

Thema: Mausklick Programmweit abfragen (bzw. Event auslösen)
Am im Forum: GUI: Windows-Forms

ja genau dass habe ich gerade auch festgestellt... wenn man nicht direkt auf die form klickt, werden die klicks nicht abgefangen oder erkannt.

ich danke dir schon mal! nett von dir

Thema: Mausklick Programmweit abfragen (bzw. Event auslösen)
Am im Forum: GUI: Windows-Forms

Wenn er nur eine Form benutzt hast du natürlich recht mit protected override void OnMouseDown(MouseEventArgs e) den Timer Stoppen bzw neu starten.[/quote]

Hallo,

werden dann auch die Klicks die ich auf Controls tätige abgefangen? (z.b. Button oder Tabstrip...)

ich benutze vorerst nur eine form.

würde es dann so aussehen?


protected override void OnMouseDown(MouseEventArgs e)
{
if (timerLogout.Enabled)
{
    timerLogout.Stop();
    timerLogout.Start();
}

}

werden die Klicks dann dennoch weitergeleitet und ggf. verarbeitet? oder werden diese geschluckt? Wenn ja, wie leitet man diese weiter an das system? (base.OnMouseDown(e) oder wie?)

ich habe im programm schon ein keyboardhook eingebaut

Danke
Steffen

Thema: Mausklick Programmweit abfragen (bzw. Event auslösen)
Am im Forum: GUI: Windows-Forms

Hallo Leute,

ich möchte in meinem Programm eine AutoLogout Funktion einbauen. D.h. der Benutzer wird automatisch nach Ablauf einer definierten Zeit ausgeloggt.
Sobald der Benutzer irgendeine Taste drückt (Tastatur oder Maus) soll sich die Zeit wieder zurücksetzen.

Das mit der Tastatur habe ich nun drin. Mir fehlen jetzt nur noch Mausklicks.

Wie kann man Mausklicks Programmweit (also nur in meinem Programm, aber auf allen controls, menüs usw.) überwachen? Ich möchte praktisch bei jedem Mausklick den Timer zurücksetzen.

Über die Suche habe ich leider nichts finden können.

Vielen Dank im Voraus.

Steffen

Thema: Übergabeparameter Array fester Größe
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

vielen Dank für eure Antworten, dass habe ich mir schon fast gedacht...

werde es dann einfach zur laufzeit überprüfen

Gruß
Steffen

Thema: Übergabeparameter Array fester Größe
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo Leute,

wie kann man es machen?

hab verschiedenes probiert:


public bool WritePZD(UInt16[2] val) 
{
...
}

nur so scheint es zu gehen:


public bool WritePZD(UInt16[] val) 
{
...
}

kann man die Anzahl der Werte im Array nicht festlegen?

Vielen Dank im Voraus
Steffen

Thema: GUID von einem Interface?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

danke für deine Bemühung,
ich hab es nun rausgefunden:

Guid temp = typeof(IOPCGroupStateMgt).GUID;

Gruß
Steffen

Thema: GUID von einem Interface?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

ich brauche für den Aufruf einer Funktion die GUID von einem Interface, diese auch noch als referenz (mit ref)...

so habe ich bereits ausprobiert:


Guid temp = (Guid)IOPCGroupStateMgt;
//OpcRcw.Da.IOPCGroupStateMgt" ist ein(e) "Typ", wird aber wie ein(e) "Variable" verwendet.

Guid temp = GetType(IOPCGroupStateMgt).GUID;
//OpcRcw.Da.IOPCGroupStateMgt" ist ein(e) "Typ", wird aber wie ein(e) "Variable" verwendet.

IOPCGroupStateMgt m_group2;
Guid temp = m_group2.GetType().GUID;
// In dem Fall wird eine NullReferenceException ausgelöst, mit new lässt es sich auch nicht instanzieren.

ich hab das ganze als Beispiel in C++ (6.0) und da ist es so drin wie die zweite Methode...

hat jemand eine Idee?

Danke im Voraus
Steffen

Thema: Zeiger (IntPtr) auf eine Struktur (array)
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ja die Funktion erwartet einen Zeiger auf das Array, nur wie mache ich das?

ich hab so probiert:


OPCITEMRESULT[] m_pItemResult;
IntPtr pItemResult = IntPtr.Zero;
pItemResult = (IntPtr)m_pItemResult[0];
m_item.AddItems(4, m_Items, out pItemResult, out pErrors);

es geht hier um den dritten Parameter von AddItems, diese Funktion ist so definiert:

void AddItems(int dwCount, OPCITEMDEF[] pItemArray, out IntPtr ppAddResults, out IntPtr ppErrors)

wenn ich es so mache wie ich geschrieben habe, dann Spuckt mir der Kompiler diesen Fehler:
Zitat
Eine Konvertierung vom Typ "OpcRcw.Da.OPCITEMRESULT" in "System.IntPtr" ist nicht möglich.

Hat jemand eine Idee?
wie kann man einen IntPtr auf einen Array (vom beliebigen Typ) umbiegen?

Gruß
Steffen

Thema: Zeiger (IntPtr) auf eine Struktur (array)
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo Leute,

ich muss eine schnittstelle einbinden,,,

diese hat eigene Typen und Strukturen...

eines davon ist diese:

OPCITEMRESULT[] m_pItemResult;

nun muss ich eine Funktion aufrufen die diesen Array als Zeiger (out IntPtr) haben möchte...

wie mach ich das?
oder wie kann man einfach einen IntPtr in ein StrukturArray umwandeln?

Danke
Steffen

Thema: Warenwirtschafts Programm
Am im Forum: Smalltalk

Zitat
Original von boonkerz
Hallo,

Kennt jemand ein verlgeichbares Programm wie CAO Wawi?

Wenn nein lohnt sich eine neu Entwicklung?

MFG

Hallo boonkerz,

hast du bereits was passendes gefunden?

Vielleicht gibts ja was, welches man dann weiterentwickeln kann, damit man nicht von null anfangen muss!?

Gruß
Steffen

Thema: Tasten sperren??
Am im Forum: GUI: Windows-Forms

Hallo,

ich habe diese klasse erweitert und noch den Parameter AllowOnlyAlphaNumeric hinzugefügt

und dann die HookCallback um eine Abfrage erweitert:


if (AllowOnlyAlphaNumeric)
                {
                    AllowKey = true;
                    //STRG+ESC
                    if (((NativeMethods.GetKeyState(VK_CONTROL) & 0x8000) != 0) && lParam.vkCode == VK_ESC)
                        AllowKey = false;
                    //ALT+ESC
                    if (((NativeMethods.GetKeyState(VK_MENU) & 0x8000) != 0) && lParam.vkCode == VK_ESC)
                        AllowKey = false;
                    //ALT+TAB
                    if (((NativeMethods.GetKeyState(VK_MENU) & 0x8000) != 0) && lParam.vkCode == VK_TAB)
                        AllowKey = false;
                    //ALT+F4
                    if (((NativeMethods.GetKeyState(VK_MENU) & 0x8000) != 0) && lParam.vkCode == VK_F4)
                        AllowKey = false;
                    // left win und right win
                    if ((lParam.vkCode == 91) || (lParam.vkCode == 92))
                        AllowKey = false;
                    // STRG+ALT+ENTF
                    //if (((NativeMethods.GetKeyState(VK_CONTROL) & 0x8000) != 0) &&
                    //    ((NativeMethods.GetKeyState(VK_MENU) & 0x8000) != 0) && lParam.vkCode == VK_DEL)
                    //    AllowKey = false;
                }

STRG+ALT+ENTF lässt sich so nicht abfangen, dass habe ich da zwar versucht, diese werden auch erkannt und versucht zu blocken, windows kriegt es aber dennoch mit... deshalb hab ich einfach nur den Taskmanager deaktiviert...
und am ende beim Dispose von der Klasse wieder aktiviert...

Gruß
Steffen

Thema: Tasten sperren??
Am im Forum: GUI: Windows-Forms

ja mit diesen Hooks funktionierts einwandfrei
(Klasse siehe link oben)

ich hab nur noch den Taskmanager deaktiviert:


//Taskmanager deaktivieren
                regKey = Registry.CurrentUser.OpenSubKey(
                    @"Software\Microsoft\Windows\CurrentVersion\Policies\System", true);
                if (regKey == null)
                    regKey = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Policies\System");
                regKey.SetValue("DisableTaskMgr", 1, RegistryValueKind.DWord);

und dann wieder aktiviert falls sich ein Admin anmeldet


//TaskManager wieder aktivieren
        RegistryKey regKey = Registry.CurrentUser.OpenSubKey(
                    @"Software\Microsoft\Windows\CurrentVersion\Policies\System", true);
        if (regKey != null)
            regKey.SetValue("DisableTaskMgr", 0, RegistryValueKind.DWord);

Vielleicht braucht das jemand

Gruß
Steffen

Thema: Tasten sperren??
Am im Forum: GUI: Windows-Forms

Hallo,

ich bin nun auch an dem Thema angelangt.

Ich habe auch schon gelesen dass man Str+Alt+Entf nicht 100%ig sperren kann.

Wie sieht es mit diesen aus:?
Alt+F4
Strg-Esc
Windows-Taste

Hat da jemand einen Tip parat?

Vielen Dank

Gruß
Steffen


EDIT:
ich hab diese Klasse nun für meine Bedürfnisse angepasst http://www.codeproject.com/cs/system/CSLLKeyboard.asp