Laden...
Avatar #avatar-2259.jpg
Benutzerbeschreibung

Forenbeiträge von ToFac3 Ingesamt 30 Beiträge

24.04.2007 - 11:14 Uhr

Danke schön für die schnelle Antwort, es hat natürlich wunderbar geklappt 🙂

24.04.2007 - 11:01 Uhr

Morgen Leute,

Goolge hat nicht geholfen und im Forum konnte ich nichts passendes finden.

Ich will durch ein Click-Ereigniss auf meiner Form, WordPad starten und eine *txt Dtei laden, habe aber keine Vorstellung wie ich da ansetzen soll.

Wäre nett wenn mir jemand helfen könnte!

MfG ToFac3

30.03.2007 - 08:16 Uhr

HI Junky,


private void Wasauchimmer_KeyDown(object sender, KeyEventArgs e)
{
      if (e.KeyCode == Keys.Enter/Return)
                 Textbox.Text = Convert.ToString(Ergebnis);
}


MfG ToFac3

28.03.2007 - 16:14 Uhr

Jo, danke aber das mit neben einander legen und drücken mach ich echt die ganze Zeit, oder besser, ich habs so gemacht, aber danke für den Tipp und das mit 2,3E-04, daran hab ich auch nicht gedacht, hmm.
Aber die '/'-Taste geht, mit Shift+7 gehts nicht da ich diese Kombination nicht abfange(ich weis einfach nicht wie ich 2 tasten aufeinmal abfange). Aber ich seh schon da ist noch einiges zu tun.

Thx für deine Umfangreiche Hilfe

MsG ToFac3

28.03.2007 - 15:56 Uhr

Huhu, also ich habe die falschen zeilen aus KeyDown einfach gelöscht, wie gesagt war wphl ein vergehen, alles funktionier auch ohne die doofen Zeilen 🙂.

Zum 2ten Problem, danke dass du mich darauf hingewiesen hast, das lässt sich aber leicht beheben indem du


        private void btn_0_Click(object sender, EventArgs e)
        {
            if (tbxeingabe.Text != "Teilen durch 0 unmöglich.")
            {
                if (tbxeingabe.Text != "0," || userkomma) // (|| userkommma) einfach dazu packen und schon funktioniert das ganze reibungslos  :D

MfG ToFac3

28.03.2007 - 15:01 Uhr

Big THX für die schnelle Antwort@sheitman, ich werds sofort ausprobieren. Und dass der Code unsauber ist, ist klar da ich erst vor kurzen mit c# angefangen hab und von ereignishandlern usw. noch nicht viel weis, aber vielen dank für deine Hilfe die ist Super.

EDIT: Du hattest natürlich recht ich habs ausprobiert und es läuft wunderbar, DANKE
SCHÖN und was


                if (leoschen)
                    tbxeingabe.Clear();
                leoschen = false;

da zu suchen hat weis ich auch nicht, habs wohl noch vom ersten versuch dort vergessen 🤔 schäm

MfG ToFac3

28.03.2007 - 14:45 Uhr
  1. Freut mich dass du das Ding magst 😁
  2. Ich freu mich schon auf deine Vorschläge!
28.03.2007 - 14:27 Uhr

Nein das tut es nicht, hier kommt das Ding 8)

EDIT: Wie gesagt mit der Maus rumklicken kein Problem, mit der Tastatur gibs ärger!

EDIT2: Wäre nett wenn du deine Meinung dazu schreiben könntest oder verbesserungsvorschläge 😉

28.03.2007 - 13:59 Uhr

Der Fehler ist imma noch da, ich habe zwar jetzt einege sachen in methoden ausgelagert aber der Fehler kommt trozdem, in der textbox steh was drin(eine Zahl) er zeigt aber an dass sie leer ist und deshalb gibs fehlermeldung beim umwandel, ich weis auch net weiter, muss wohl in 3 wochen meinen Dozent mal fragen ob er weiter weis.

PS: Ich weis natürlich das ö=oe ist und nicht umgekehrt 😁

28.03.2007 - 13:36 Uhr

Das ist nur für alle Fälle, die Umlaute schreibe ich immer aus, sprich ö=eo usw. 😜

28.03.2007 - 10:41 Uhr

Danke für die Tipps@sheitman und nin, werds gleich mal alles ausprobieren!

28.03.2007 - 08:09 Uhr

Ja da hast du recht 23, ist keine Zahl, aber 23, ist das selbe wie 23,00 o.ä und daher wird das komma beim addieren, subtrahieren usw vernachlässigt und ist nicht mehr da im Ergebnis (23, + 10, = 33) und daher gibs in dem sinne keine Fehlermeldung!
Ein Komma kann im Ergebnis nur dann entstehen wenn ich z.b. (12,5 + 10 = 22,5) sowas mache, und daher prüfe ich ob komma schon da ist und wenn nicht füge ich eins hinzu, iwe es eben der WinXP-Rechner auch macht!
Auserdem sag ich doch dass es reibungslos funktioniert wenn ich mit der maus auf die buttens klicke, also muss es, ich weis auch nicht wo liegen ?! 🙁

27.03.2007 - 16:18 Uhr

Aber ja, er zeigt ja auch an(wenn ich mit der maus über tbxeingab.text fahre) dass das Feld leer ist, was aber nicht der Fall ist da steh auf jeden fall eine Zahlm, oder hab ich im Code irgenwo ein Fehler den ich nicht sehe?

PS: Danke für alle Antworten

MfG ToFac3

27.03.2007 - 16:09 Uhr

Die textbox is readonly=true, mann kann da entweder per mausdruck auf die entsprechende Buttons oder per tastatur was eingeben, aber ich lasse nur Zahlen durch, von daher weis ich auch nicht was das soll, wie gesagt da steht zu dem Zeitpunkt eine Zahl drin, ne ganz normale Zahl.

MfG ToFac3

27.03.2007 - 16:05 Uhr

Ok jetzt weis ich das ich damit teste ob umgewandelt werden kann, nur hilft mir das leider nicht weiter, dann kommt zwar ein False und die Fehlermeldung gibs nicht mehr
aber es hilft mir nicht weiter, denn eigentlich steh ja ne Zahl in der Textbox und wenn ich aber durch Enter mit .PerformClick() (wenn ich das zweite mal Enter drücke wohl gemerkt) hinspringe kommt ein Fehler oder jetzt eben kein Fehler mehr sonder dann passier halt nichts. Er sollte aber addieren, was er auch tut wenn ich mit der Maus klicke!

Hilfe!!

MfG ToFac3

27.03.2007 - 15:54 Uhr

Aber die MSDN fühlt sich schon vergewaltigt so offt wie ich drin bin :evil:
Natürlich kucke ich in die Hilfe aber die is gar nicht so hilfreich, zumindestens nicht immer.

27.03.2007 - 15:48 Uhr

Wäre nett wenn du mir sagen könntest was genau TryParse() macht und wie ich damit umwandle, da ich Anfänger bin!

27.03.2007 - 15:39 Uhr

Zu diesem Zeitpunkt kann da eine belibiege Zahl stehen(ich habs ausgetestet) aber er zeigt an dass das Feld leer ist und deshalb gibs beim Umwandeln das Problem

PS: Aber sonst habe ich keine Probleme mit dem Umwandeln.

27.03.2007 - 15:32 Uhr

Morgen zusammn, ich habe folgendes Problem, ich habe für die Schule ein 1 zu 1 Nachbau des WinXP-Calculators und es funktioniert alles soweit ganz gut, nur wenn ich über KeyDown die Tastatur abfange und dann mit .PerformClick() sachen ausführe kommt folgender Fehler:

Aufruf (z.B.)


switch (e.KeyCode)
{
       case Keys.Enter: btn_gleich.PerformClick();
             break;
}

Das Click-Ereignis das wunderbar funktionier wenn ich mit der Maus auf den Button Klicke


        private void btn_gleich_Click(object sender, EventArgs e)
        {                                                       
            if (tbxeingabe.Text != "Teilen durch 0 unmöglich.")
            {

                char[] kommatest = new char[tbxeingabe.Text.Length];
                string ergtemp = ""; //zwischenspeichern des ergebnis
                bool komma = false; //ob komma vorhanden ist

                switch (operand)
                {
                    case '+':
                        {
                            if (!leoschen || mread || einsdurchx)
                                zweitezahl = Convert.ToDouble(tbxeingabe.Text);

                            ergebnis += zweitezahl;
                            ergtemp = Convert.ToString(ergebnis);
                            kommatest = ergtemp.ToCharArray();

                            for (int i = 0; i < ergtemp.Length; i++)
                                if (kommatest[i] == ',')
                                    komma = true;

                            if (komma)
                                tbxeingabe.Text = Convert.ToString(ergebnis);
                            else
                                tbxeingabe.Text = Convert.ToString(ergebnis) + ",";
                            break;
                        }
                    case '-':
                        {
                            if (!leoschen || mread || einsdurchx)
                                zweitezahl = Convert.ToDouble(tbxeingabe.Text);

                            ergebnis -= zweitezahl;
                            ergtemp = Convert.ToString(ergebnis);
                            kommatest = ergtemp.ToCharArray();

                            for (int i = 0; i < ergtemp.Length; i++)
                                if (kommatest[i] == ',')
                                    komma = true;

                            if (komma)
                                tbxeingabe.Text = Convert.ToString(ergebnis);
                            else
                                tbxeingabe.Text = Convert.ToString(ergebnis) + ",";
                            break;
                        }
                    case '/':
                        {
                            if (!leoschen || mread || einsdurchx)
                                zweitezahl = Convert.ToDouble(tbxeingabe.Text);
                            if (zweitezahl != 0)
                            {
                                ergebnis /= zweitezahl;
                                ergtemp = Convert.ToString(ergebnis);
                                kommatest = ergtemp.ToCharArray();

                                for (int i = 0; i < ergtemp.Length; i++)
                                    if (kommatest[i] == ',')
                                        komma = true;

                                if (komma)
                                    tbxeingabe.Text = Convert.ToString(ergebnis);
                                else
                                    tbxeingabe.Text = Convert.ToString(ergebnis) + ",";
                            }
                            else
                                tbxeingabe.Text = "Teilen durch 0 unmöglich.";

                            break;
                        }
                    case '*':
                        {
                            if (!leoschen || mread || einsdurchx)
                                zweitezahl = Convert.ToDouble(tbxeingabe.Text);

                            ergebnis *= zweitezahl;
                            ergtemp = Convert.ToString(ergebnis);
                            kommatest = ergtemp.ToCharArray();

                            for (int i = 0; i < ergtemp.Length; i++)
                                if (kommatest[i] == ',')
                                    komma = true;

                            if (komma)
                                tbxeingabe.Text = Convert.ToString(ergebnis);
                            else
                                tbxeingabe.Text = Convert.ToString(ergebnis) + ",";
                            break;
                        }
                }

                leoschen = true;
                userkomma = false;
                gleichZeichen = true;
                mread = false;
                einsdurchx = false;
                if (btn_gleich.Focused)
                    tbxeingabe.Focus();
                tbxeingabe.DeselectAll();

            } 
            else
                System.Media.SystemSounds.Beep.Play();
        }

(Is keine Profi-Arbeit ich weis 😄)

Der Fehler der kommt wenn ich das 2te mal mit Enter da rein gehe(beim ersten druck auf Enter kommt also kein fehler, erst beim 2ten)

Wäre nett wenn jemand helfen könnte.

26.03.2007 - 11:31 Uhr

So Leute ich habs endlich raus bekommen falls es euch noch interessiert 😁

Den verfügbaren physikalischen Speicher bekommt ihr aus
Win32_OperatingSystem -------> TotalVisibleMemorySize

Danke ane alle die mir helfen wollten 👍

26.03.2007 - 11:05 Uhr

Moin Leute, jetzt ist ein neues Problem aufgetaucht, ich habe jetzt


            try
            {
                ManagementObjectSearcher searcher =
                    new ManagementObjectSearcher("root\\CIMV2",
                    "SELECT * FROM Win32_PhysicalMemory");

                foreach (ManagementObject queryObj in searcher.Get())
                {
                    Console.WriteLine("-----------------------------------");
                    Console.WriteLine("Win32_PhysicalMemory instance");
                    Console.WriteLine("-----------------------------------");
                    Console.WriteLine("Caption: {0}", queryObj["Caption"]);
                }
            }
            catch (ManagementException e)
            {
              MessageBox.Show("An error occurred while querying for WMI data: " +              e.Message);
            }

und irgendwie bekomme ich nichts ausgegeben. Die Frage ist also wie bekomme ich nun den Richtigen Wert als ausgabe. Ich habe es mit


Form.lblspeicher.Text=("Caption: " + queryObj["Caption"].ToString());

und


MessageBox.Show("Caption: {0}", queryObj["Caption"].ToString());

versucht, aber es landet nichts im Label/MessageBox, was kann ich da machen ?(

26.03.2007 - 10:04 Uhr

Danke für den Tipp sheitman, aber Win32_LogicalMemoryConfiguration und Win32_PhysicalMemory sagen mir nichts da ich anfänger bin und wenn keiner sonst ne Antwort weis werd ich mir das mit Google mal antun 🤔

EDIT: Oder kann mir jemand schnell ne kurze Anleitung posten wie ich aus dem WMICodeCreator den Arbeitsspeicher rausbekomme ?!

EDIT2: Ich habs jetzt mehr oder weniger rausbekommen wie das ding funzt, aber der WMICodeCreator verwendet 'using System.Management;' und da mekert C# an der Stelle, kann da jemand weiter helfen ?(

EDIT3: OK hab das mit den Verweisen jetzt hinbekommen und danke für den Tipp nin das Tool ist echt geil!

26.03.2007 - 08:08 Uhr

Morgen Leute, sry dass es so lang gedauert hat, konnte das ganze aber am wochenende gar net test, nu hab ich das aber und ich komm mit dem
WMI Code generator gar nicht zu recht. Weis denn niemand wie ich, den noch zu Verfügung stehenden, Arbeitsspeicher noch auslesne kann?

23.03.2007 - 16:05 Uhr

Sry aber ich habe jetzt gemerkt dass es doch nicht überienstimmt. Wenn man bei WinXP den Rechner(Calculator) startet und oben Auf Fragezeichen geht ----> Info, zeigt er den verfügbaren physikalischen Speicher an, und der stimmt nicht mit dem berechneten aus diesem Code nich überein. Und ich brauche aber den, den der Windows-Rechner anzeigt, weis da jemand weiter?


string[] drives = System.Environment.GetLogicalDrives();

System.IO.DriveInfo driveInfo = new System.IO.DriveInfo("c");
long free = driveInfo.AvailableFreeSpace;

EDIT: Danke für den Tipp herbivore

MfG ToFac3

23.03.2007 - 15:13 Uhr

Danke schön für die schnellen Antworten es funktioniert wunderbar 👍

MfG ToFac3

23.03.2007 - 15:04 Uhr

Hallo Leute, ich brauche für ein Projekt den verfügbaren physikalischen Speicher, ich will nur wissen wieviel noch zu verfügung steht und die Zahl dann auf einer Form auszugeben(Ausgabe stellt kein Problem da).

Wenn jemand weis wie man den physikalischen Speicher auslesen kann, ich bin für alle Vorschläge offen.

MfG ToFac3

23.03.2007 - 09:21 Uhr

Ich bins wieda, habs jez hinbekommen, danke schön Friedel es hat wunderbar geklappt.
Danke auch an herbivore deine Lösung hat natürlich auch geklappt, obwohl ich es zuerst nicht kapiert habe.

EDIT: Das Problem bei Application.Idle ist, das der Inhalt trozdem erst markiert wird und verschwindet die Markierung, sodass ein Blink-Effekt entsteht.

MfG ToFac3

23.03.2007 - 09:06 Uhr

Hallo Friedel und danke für die Antwort, aber ich weis mal wieder nicht weiter, sag mir doch bitte wie genau das geht, ich bin bis:


Shown += new EventHandler(Form1_Shown);

gekommen weis aber nicht was ich jez damit machen muss und vor allem wo genau das geschehen soll, in Form1_Load() ?

Und die Hilfe hat mal wieder nicht weiter geholfen!

MfG ToFac3

23.03.2007 - 08:11 Uhr

Danke für die schnelle Antwort herbivore, ich verstehe aber nich ganz wo ich Application.Idle genau einsetzen soll, ich hab mich durch die Hilfe durchgekämpft und da steh auch kein Bsp. drin. Könntest du es bitte noch mal für die Anfänger genauer erklären.

Danke im voraus ToFac3 👍

22.03.2007 - 15:31 Uhr

Hallo Leute, ich bin ein anfänger was c-sharp betrifft und habe ein problem. Ich habe ein
1 zu 1 nachbau des WinXP-Rechners für die schule erstellt und habe folgendes problem,
wenn ich mein programm starte ist der Inhalt meiner Textbox immer markiert!


private void Form1_Load(object sender, EventArgs e)
   {
    this.tbxeingabe.Focus();
    this.tbxeingabe.Text = "0,";
    this.tbxeingabe.DeselectAll();


     if (m_Caret != null)
        {
         m_Caret.Dispose();
        }
      m_Caret = new CCaret(this.tbxeingabe, (Bitmap)Image.FromFile("caret.jpg"));
     }

ch schreibe da also "0," rein und schalte den Caret aus, und dann ist der Inhalt, also '0,', markiert und hat den Fokus. Ich habe auch versucht den Fokus auf ein Button zu legen oder sonstwohin, das ding markiert mir immer den Inhalt und


        private void Form1_Load(object sender, EventArgs e)
        {
            this.tbxeingabe.Focus();
            this.tbxeingabe.DeselectAll();

funktioniert auch nicht.

Wenn jemad helfen kann, wäre ich sehr dankbar.