Zum Inhalt springen

Trux

Mitglieder
  • Gesamte Inhalte

    126
  • Benutzer seit

  • Letzter Besuch

Beiträge von Trux

  1. Sorry Mein fehler...

    also so geht es aufjedenfall:

    
     private void button1_Click(object sender, EventArgs e)
    
            {
    
                string strMsg = string.Empty;
    
    
                foreach (TreeNode node in m_Tree.Nodes)
    
                {
    
                    if (node.Checked)
    
                    {
    
                        strMsg += node.Text + ", ";
    
                    }
    
                    else
    
                    {
    
                    }
    
                }
    
    
                strMsg = strMsg.TrimEnd();
    
    
                strMsg = strMsg.Remove(strMsg.Length - 1, 1);
    
    
                MessageBox.Show(strMsg);
    
            }
    
    

  2. Korrigiert mich wenn ich falsch liege, aber bei crystal reports kann man doch bilder aus der DatenBank laden... So wie ich das sehe müssen diese denn doch auch binär in der DatenBank abgelegt werden.

    Nur so eine vermutung, ausprobiert habe ich das noch nie...

  3. Wenn du die Klasse statisch, bzw einen internen daten speicher (ArrayList, HashTable oder sonst irgendeine Collection) statisch anlegst, wird für jede Instanz der klasse der selbe schbeicher bereich reserviert.

    Ergo hast du das Selbe object für alle. Entweder dein DatenSpeicher oder deine Collection, wie das auch immer besser in dein code reinpasst.

  4. Sehe ich doch richtig dass es sich hier um .Net dreht, und nicht um Sun Java oder?

    naja ich würde die text-box(en) dynamisch erstellen, der quellcode wird übersichtlicher usw...

    
    foreach(string strName in arrNames)
    
    {
    
         TextBox tmpBox = new TextBox();
    
         tmpBox.Name = strName;
    
         [...]
    
         this.Controls.Add(tmpBox);
    
    
    }
    
    

  5. Das datagrid ist zwar sehr mächtig, aber es fehlen etliche funktionen wie zb. die von dir beschriebene.

    Es ist sinnvoll das DataGrid um einige funktionen zu erweitern, zb. arbeitet es intern mit einem DataSet, welches die liste auch sortiert führt. Wenn das DataSet über eine öffentliches Feld abrufbar ist, bekommt man auch die sortiert Tabelle zu fassen.

  6. Eigendlich solltest du vermeiden Datenbank interne Namen wie User zu verwenden.

    Aber:

    "SELECT User.Kennwort FROM [uSER] WHERE User.Benutzername = @val1"

    
    mycomand.parameter.add("@val1",>>Eingegebener Username<<);
    
    
    OleDbDataReader reader = mycommand.ExecuterReader();
    
    
    if(reader.Read())
    
    {
    
         if(reader.GetString(0) == >>Eingegebenes PW<<)
    
         {
    
               //Alles ok
    
         }
    
         else
    
         {
    
              //PW Falsch
    
         }
    
    }
    
    else
    
    {
    
       //User existiert nicht
    
    }
    
    

    und denn sollte das klappen.

    Aber wenn du schon mit dotNet schreibst solltest du schon ein Wenig Object-Orientiert programieren. Für SQL-Anfragen ist es sinnvoll eine Klasse zu schreiben. Und die Statements nicht direkt in der OnLoad zu machen ;)

  7. Nun ja wenn ich das richtig verstanden hab ist die msgina für die login-sessions zuständig...

    Was ich eigendlich möchte ist die Überprüfung ob der eingegebene User + PW gültig ist.

  8. Ich hab das Problem zwar noch nicht ganz verstanden, aber evtl. hilft dir ja ein Inner-Select weiter:

    
    Select Erg1 + Erg2 + Erg3 as Summe From 
    
    (Select Count(bla1) as Erg1 From Bla) , 
    
    (Select Count(bla2) as Erg2 From Bla), 
    
    (Select Count(bla3) as Erg3 From Bla) Order by Summe
    
    

    Auch ungeprüft

  9. Wird das Windows-User passwort das ich für mein lokales konto habe anders verschlüsselt als das für mein domäne konto?

    Und hat jemand evtl. eine API-Referenz für die ermittlung des Passwort-Hashes?

    Ich hab mir schon die ntdsapi.dll angeschaut habe diese auch im verdacht dafür zusändig zu sein, jedoch finde ich die entsprechende methode nicht :/

  10. also du kannst die methode entweder durch -= abbinden, und dann eine neue anbinden, oder du setzt den EventHandler auf null und bindest einen neuen an.

    Wenn dir das weiterhilft. ansonsten kannt du die collection sicherlicht auch mit einer schleife durchlaufen und nur eine bestimme abbinden, bin mir dabei aber nicht ganz sicher hab das noch nicht ausprobiert.

  11. Gut zu wissen ist auch das jeder buchstabe ein byte ist also auch als zahl ansprechbar.

    strName[index] giebt ein char zurück den kannst du auf ein byte casten und erhältst den byte wert dadurch

    als bsp:

    string strBuchstabe = "hallo";

    foreach(byte by in strBuchstabe.toCharArray())

    {

    Console.WriteLine(by.toString());

    }

    Ausgabe sollte irgendwie so sein:

    104

    97

    108

    108

    111

  12. Vielen Dank, das hat eine menge an speed gebracht :)

    Wenn du das so meintest:

    
    ArrayList tmpArray = new ArrayList();
    
    m_nPacketSize = nPacketSize;
    
    //Alle Signs ins Array
    
    foreach(Sign sign in signs)
    
    {
    
    	for(int i=sign.Start; i <= sign.End; i++)
    
    	{
    
    		if(!tmpArray.Contains((byte)i))
    
    			tmpArray.Add((byte)i);
    
    	}
    
    }
    
    
    //Sortieren
    
    for(int i=0; i < tmpArray.Count; i++)
    
    {
    
    	for(int k=i; k <tmpArray.Count; k++)
    
    	{
    
    		if((byte)tmpArray[k] < (byte)tmpArray[i])
    
    		{
    
    			byte byTemp = (byte)tmpArray[i];
    
    			tmpArray[i] = tmpArray[k];
    
    			tmpArray[k] = byTemp;
    
    		}
    
    		else
    
    		{
    
    		}
    
    	}
    
    }
    
    
    m_nLowest = (byte)tmpArray[0];
    
    
    for(int i=0; i <= 255; i++)
    
    {
    
    	if(tmpArray.Contains((byte)i))
    
    		m_Signs.Add(true);
    
    	else
    
    		m_Signs.Add(false);
    
    }
    
    
    private string CountUp(string strPacket, int nPosi)
    
    {
    
    	int ndx = (int)(byte)strPacket[nPosi];
    
    	do
    
    	{
    
    		ndx++;
    
    	}while(ndx <= 255 && !(bool)m_Signs[ndx]);
    
    
    	if(ndx > 255)
    
    	{
    
    		if(nPosi -1 >= 0)
    
    		{
    
    			strPacket =  strPacket.Remove(nPosi,1);
    
    			strPacket = strPacket.Insert(nPosi,((char)((byte)m_nLowest)).ToString());
    
    			strPacket = CountUp(strPacket,nPosi-1);
    
    		}
    
    		else
    
    		{
    
    
    			strPacket =  strPacket.Remove(nPosi,1);
    
    			strPacket = strPacket.Insert(nPosi,((char)((byte)m_nLowest)).ToString());
    
    			strPacket = ((char)((byte)m_nLowest)).ToString() + strPacket;
    
    		}
    
    	}
    
    	else
    
    	{
    
    		strPacket =  strPacket.Remove(nPosi,1);
    
    		strPacket = strPacket.Insert(nPosi,((char)ndx).ToString());
    
    	}
    
    	return strPacket;
    
    }
    
    

  13. Hoffe das wird hiermit klarer.

    
    //Alle Signs ins Array
    
    foreach(Sign sign in signs)
    
    {
    
    	for(int i=sign.Start; i <= sign.End; i++)
    
    	{
    
    		if(!m_Signs.Contains((byte)i))
    
    			m_Signs.Add((byte)i);
    
    	}
    
    }
    
    
    //Sortieren
    
    for(int i=0; i < m_Signs.Count; i++)
    
    {
    
    	for(int k=i; k <m_Signs.Count; k++)
    
    	{
    
    		if((byte)m_Signs[k] < (byte)m_Signs[i])
    
    		{
    
    			byte byTemp = (byte)m_Signs[i];
    
    			m_Signs[i] = m_Signs[k];
    
    			m_Signs[k] = byTemp;
    
    		}
    
    		else
    
    		{
    
    		}
    
    	}
    
    }
    
    

    Angenommen in m_Signs ist 97 ('a') - 122 ('z')

    ich erhöhe das Packet "az" um einen Schritt erhalte ich "ba"

    beim nächsten aufruf dann "bb" usw

  14. Ich habe ein array m_Signs dadrin sind bis zu 255 byte die als mögliche zeichen gegeben sind.

    Nun möchte ich immer die linke position erhöhen, wenn diese am ende ist wieder auf den ersten eintrag setzen und den linken nachbar um einen erhöhen.

    Funktioniert auch alles wie es soll, jedoch ist die Geschwindigkeit nicht optimal.

    Sieht hier jemand optimierungs ansätze?

    
    public string GetNextPacket(string strPacket)
    
    {
    
    	if(strPacket.Length-1 >= 0)
    
    	return CountUp(strPacket,strPacket.Length-1);
    
    	else
    
    	return ((char)((byte)m_Signs[0])).ToString();
    
    }
    
    
    private string CountUp(string strPacket, int nPosi)
    
    {
    
    	StringBuilder sb = new StringBuilder(strPacket);
    
    	if(nPosi < sb.Length)
    
    	{
    
    		int nIndex = m_Signs.IndexOf((byte)strPacket[nPosi]);
    
    		if(nIndex >= 0)
    
    		{
    
    			if(nIndex + 1 < m_Signs.Count)
    
    			{
    
    				sb[nPosi] = (char)(byte)m_Signs[nIndex+1];
    
    			}
    
    			else
    
    			{
    
    				sb[nPosi] = (char)(byte)m_Signs[0];
    
    				if(0 <= nPosi-1)
    
    				{
    
    					return CountUp(sb.ToString(),nPosi-1);
    
    				}
    
    				else
    
    				{
    
    					sb.Insert(0,(char)(byte)m_Signs[0]);
    
    				}
    
    			}
    
    		}
    
    		else
    
    		{
    
    			sb[nPosi] = (char)(byte)m_Signs[0];
    
    		}
    
    	}
    
    	else
    
    	{
    
    		strPacket = strPacket + (Char)m_Signs[0];
    
    	}
    
    
    	return sb.ToString();
    
    }
    
    

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...