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 Vassili
Thema: Form.ActiveForm.Show()
Am im Forum: GUI: Windows-Forms

Kann es sein, dass du kein Objekt erstellt sondern bei den statischen membern nach der Show methode gesucht hast?

Thema: schreiben von Textdateien wird nicht zuende geführt.
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

LOL, wo sind deine Zeilenumbrüche abgeblieben ^^

Ich sehe da was von WriteLine daher vermute ich, dass der Objektverweis 'Source' ein Objekt vom Typ StreamWriter beinhaltet.

Bei streams darfst du das Flush zum schluss nicht vergessen. Das schreiben der Datei geht nicht so schnell voran wie dein Prog, daher wird der text im arbeitsspeicher zwischengespeichert. wenn du das also nicht flushst, dann wird der puffer gelöscht und die datei ist nicht zu ende geschrieben worden.

daher zum schluss noch:

Source.Flush();
Source.Close();

Thema: XMLWriter
Am im Forum: Datentechnologien

Aufpassen. Das XmlDocument ist sehr praktisch, wenn es darum geht, deine xml datei zu erweitern. Pass aber auf, wenn die Xml Datei zu groß wird. das XmlDocument bläst deine Anwendung im Arbeitsspeicher gut auf. Ungefähr 1.5 * Xml Dateigröße befinden sich dann im Arbeitsspeicher. Dateien bis 100 MB kann man noch mit dem XmlDocument laden. Größere Datenmengen sollten dann lieber in eine Datenbank rein.

Thema: App kann nach langer "Leerlaufzeit" nicht mehr hergestellt werden
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Wie sieht es mit der Erreichbarkeit des MySQL Servers aus? kann es passieren, dass dieser mal aussetzt oder eine andere Adresse bekommt? Verwendest du Timeout? Wenn ja, könnte es daran liegen, dass deine Anwendung bis zum Tag es jüngsten Gerichts auf ne Antwort des Servers wartet.

Ist dies nicht der Fall:

- Log mal in einer Text Datei mit, was alle zwei Minuten passiert. MIt Uhrzeit und einer kurzen Beschreibung, damit du die letzte Position herausfinden kannst, die deine Anwendung erreicht hat.
- Starte das Programm aus VS heraus und lass es so lange laufen, bis das Programm nicht mehr reagieren will. Dann brauchste nur noch auf pause klicken und erhälst die Info, welche Methode als nächstes aufgerufen werden wird, bzw. an welcher Stelle nichts mehr geht.

Vielleicht liegt es auch daran, dass deine Anwendung ununterbrochen Code ausführt.

Thema: Speichern eines Wertes
Am im Forum: Datentechnologien

indem du den Datentyp string angibst. und vergiss das lieber, denn in einer Datenbank werden die Daten idr. unformatiert gespeichert. Speicher als Currency, Single oder double den Wert einfach ab. Via Anwendung fragst du die Daten ab und formatierst diese zum Schluss zur Darstellung. Das €Zeichen schon in der Datenbank stehen zu lassen ist keine tolle idee bzw. in zahlen datentypen nicht möglich, weil die Formatierung von Werten erst später in der Anwendung selbst erfolgt.

Thema: Speichern eines Wertes
Am im Forum: Datentechnologien

Du, nicht falsch verstehen; soll nicht unhöflich klingen. Wo ist die frage? ^^

Du speicherst Preise in die Datenbank. weiter?

Thema: .NET auf den absteigenden Ast?
Am im Forum: Smalltalk

Meine Auffassung bezüglich .NET im Vergleich zu anderen Sprachen/IDE's usw.

Ich kenne .NET und C# erst seit 14, 15 Monaten. Anfangs hab ich geflucht und gegen den Tisch gehauen, weil ich sehr auf mich allein gestellt war. Warum? Bücher zum lernen hatte ich nicht. Im Internet habe ich viel zu oft einfach nur mist gefunden, erst recht die deutschen Seiten sind mangelhaft (abgesehen von MyCSharp). Weiter konnte ich nur im Betrieb lernen, weil ich für zu Hause keine .NET IDE hatte. Ich musste also alles entweder allein oder (ab ca. Nov. 05) über dieses Forum lösen.

vorher habe ich Hobbymäßig und im Beruf VB6 entwickelt. Da war es ziemlich einfach an Infos zu kommen. Da war meine lieblingsseite activevb und wenn ich etwas nicht wusste konnte ich es dort sofort finden. Der Lernfaktor war dadurch aber irgendwo knapp unter der null grenze ^^

Mittlerweile hat sich das bei mir eingependelt. Ich hab mich an die IDE, das Framework und an die Sprache gewöhnt und weiss schon fast instinktiv wo Fehler in der Anwendung sind. Ich habe zwar mittlerweile Bücher bezüglich C# und .NET aber durch das schon angeeignete Wissen benötige ich die Bücher nur noch als Referenz und selten auch um mir wissen anzueignen, was dann bedeutet, dass ich z.b. das ganze System.NET oder System.Drawing durcharbeite.

Warum sag ich das jetzt?

Am anfang war es sehr schwer die Sprache zu lernen. Ich bin auch noch relativ frisch in diesem Beruf und kann nicht mit meiner erfahrung prahlen. Entwicklerfreunde, denen ich mal die vorzüge von .NET gezeigt hab, wollten es auch probieren und haben nach nur wenigen stunden die sache fallen lassen, weil ihnen fast nichts in .NET bekannt vorkommt.

Zwar gibt es mittlerweile gute Bücher, Foren und andere Inet Seiten, die MSDN usw. aber trotzdem muss man intensiv sich mit .NET beschäftigen und das ist für den privaten hobby bereich zu anstrengend. auf jeden fall anstrengender als java oder php, denn zu diesen Themen gibt es eine große community.

.NET ist im moment, was die Kosten und die momentane Entwicklung von .NET angeht , eher was für Betriebe. Sollten aber im laufe der Zeit .NET Frameworks für andere Betriebssysteme kommen, die von der Welt akzeptiert und auch verwendet werden, sollte es möglich werden, dass in VS geschriebene Projekte (fast) nahtlos mit anderen Betriebssystemen klarkommt, hat .NET seinen Markt wesentlich erweitert.

In der Berufsschule habe ich das Vergnügen mit dem Borland Builder 5 C++ zu lernen. Dort überlegt man auch auf C# umzusteigen, auch wenn ich das nicht mehr erleben werde. Allgemein kann man sagen, dass erst die Entwicklerstuben, Schulen, usw. im laufe der Zeit vielleicht umsteigen werden. Ich kann mir vorstellen, dass im privaten Bereich erst in zwei Jahren langsamen Wachstums eine größere Community herrschen wird, und vielleicht nochmal zwei jahre später .NET zum Volksport der Hobbyentwickler werden könnte.

Um mal aufn Punkt zu kommen: Ich glaube, dass beim .NET Release und die Zeit danach alles so interessant aussah und manche ein Stückchen vom Kuchen, z.b. Buchhandlung usw. mit büchern, abhaben wollten. Wenn es wirklich so ist, dass es einen Rückgang der Angebote von Zeitschriften usw. gibt, liegt es sehr wahrscheinlich daran, dass die .NET Community nicht so gut gewachsen ist, wie man es sich erhofft hatte. Das soll aber nicht heissen, dass das Thema bei MS in die tonne geworfen wird.

Thema: Datum/Uhrzeit aus Access in C#
Am im Forum: Datentechnologien

Falls dein dgv eine ganze spalte hat, die datum und uhrzeit beinhaltet, kannst du via DefaultCellStyle.Format das Format angeben, womit das gehen müsste.

Thema: Problem mit "Enabled" bei Forms
Am im Forum: GUI: Windows-Forms

Hallo herbivore,

in wiefern meinst du nicht mehr stand der kunst?

Thema: Handle : FindWindow
Am im Forum: GUI: Windows-Forms

System.Diagnostics.Process.GetProcessByName(string ProcessName);

das könnte dir weiter helfen

Allgemein müsste die Process Klasse alles bieten, was du benötigst um eine Anwendung zu finden.

Thema: Problem mit "Enabled" bei Forms
Am im Forum: GUI: Windows-Forms

Bei mehreren Formularen sollte man wenn möglich immer die ShowDialog() Methode verwenden. Das Enablen und Disablen des aufrufenden Formulars ist ne heikle angelegenheit

Thema: TreeNode tauschen
Am im Forum: GUI: Windows-Forms

Also. Ich hab das mal ausprobiert.

Ich habe zur Form ein Button hinzugefügt. Dieser enthält folgenden Code

TreeNode trParent = treeView1.SelectedNode.Parent;
TreeNode trNode = treeView1.SelectedNode;
int iIndex = trNode.Index;
trParent.Nodes.Remove(trNode);
trParent.Nodes.Insert(iIndex - 1, trNode);

dies bewirkt. dass beim klick auf den button der ausgewählte node in der gleichen hierarchie ebene um eine Position nach oben rutscht.

Thema: auslesen von Textdatei
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Was an deinem beispiel nicht funktioniert ist der logische vergleich einer Zahl und einer Zeichenkette. Außerdem hast du einen zuweisungsoperator verwendet und keinen logischen operator.

if (Convert.ToInt32(TextderDatei.Substring(0,6)) == iIndexNummer)

das müsste funktionieren. hab sonst beim überfliegen keine fehler gefunden.

Außerdem kann es sein, dass du bei der Sache schnell an die Grenzen des Möglichen stoßen wirst. ab 99999 Zeilen wird's eng bei dir du wirst zwar nicht so viele zeilen haben, wie du gesagt hast, aber nur zur info.

Und weiter: du musst alle tausender und hunderter natürlich auch mit leerzeichen auffüllen. ich zeigs dir mal:

00001 text
00002 text2
...
02452 text bla

chlor? ^^

denn sonst könnte dir bei folgender zeichenkette was passieren. siehe:

1 Text ganz viel text und noch mehr text
beim Substring(0,6) passiert folgendes. Du Erhälst diese Zeichenkette "1 Text" und das kannst du nicht in eine Zahl konvertieren.

Thema: TreeNode tauschen
Am im Forum: GUI: Windows-Forms

soweit ich weiss kannst du nicht alle knoten durch gehen. Du musst jeden parent durch gehen. Zu lösen währe dieses problem mit einer sich selbst aufrufenden Methode

EDIT:

TreeNode trNode = treeView1.Nodes[0].Nodes[0];
treeView1.Nodes[0].Nodes.Remove(trNode);
treeView1.Nodes[0].Nodes.Insert(1, trNode);

Die Struktur meines Test ist folgende

Node0
->Node3
->Node4
->Node5
Node1
Node2

Und die drei zeilen machen folgendes.

Node0
->Node4
->Node3
->Node5
Node1
Node2

wie währe es mit diesem vorschlag?

Thema: [Anfänger] string aus einer Arraylist Collection auslesen?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo 4breeze,

Der unterschied zwischen deinem Cast Versuch und dem von can320 ist folgender.

Du versucht das Objekt in der Eigenschaft OrdnerName der Klasse Objekt in die Klasse Dateien zu casten. Da die Klasse Objekt die Eigenschaft OrdnerName nicht hat wird das nicht gehen.

can320 klammert explizit ein, was gecastet werden soll. er castet das Objekt, dass sich in der Arraylist arrListIO an der ersten stelle befindet und fragt dann die Eigenschaft OrdnerName ab.

mfg

Thema: auslesen von Textdatei
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

die Klasse StreamReader könnte dir weiterhelfen. Diese müsste die Methode ReadLine beinhalten. Dir bleibt keine andere Wahl als alle Zeilen durchzugehen bis du die zutreffende gefunden hast. Ein kleines Beispiel.


string strTextOutput;
int iIndex = 123;
bool bFound = false;
System.IO.FileStream ioFileStream = new System.IO.FileStream("C:\Test.txt", FileMode.Open, FileAccess.Read);
System.IO.StreamReader ioReader = new StreamReader(ioFileStream);
while (!ioReader.EndOfStream)
{
	string[] strLine = ioReader.ReadLine().Split(' ');
	if (Convert.ToInt32(strLine[0]) == iIndex)
	{
		strTextOutput = strLine[1];
		bFound = true;
		break;
	}
}
if (bFound)
	MessageBox.Show(strTextOutput);
else
	MessageBox.Show("Der angegebene Index wurde nicht gefunden.");

Ahja. hätte fast noch vergessen den Stream wieder zu schliessen.

ioReader.Close();

Und auch gleich der erste Bug ^^
bei der Split Methode müsstest du noch einen zweiten Parameter angeben, und zwar den Counter. Da du zwei stück haben möchtest und der danach aufhören soll zu splitten würde ich mal sagen währe es die zahl 2 für zwei teilzeichenketten.

Thema: WebBrowser-Komponente
Am im Forum: GUI: Windows-Forms

Also ich hab das Steuerelement auch schon verwendet und eigentlich dachte ich, dass es eher so ne art wrapper währe, dass auf die ie zurück greift.

MS Internet Explorer muss nicht automatisch das Programm bedeuten. Das ganze drum herum ist (Navigationsleiste, fav's usw.) ist meines wissen nicht im ie kern drin.

Das ist so meine Vorstellung vom WebBrowser Control.

Thema: WebBrowser-Komponente
Am im Forum: GUI: Windows-Forms

Vielleicht hilft dir das hier weiter.

http://developer.mozilla.org/

leider finde ich nicht mehr den link zu einem active x steuerelement von firefox. da gab es was, wenn ich mich nicht täuschen sollte.

Thema: Progressbar, wie Style Continous einschalten?
Am im Forum: GUI: Windows-Forms

Naja. Eine eigene Bauen musst du nicht, wenn es aussreicht die Darstellung zu verändern. eine komplett neue ProgressBar zu programmieren finde ich unnötige Fleiß-/Stiftarbeit

Thema: Progressbar, wie Style Continous einschalten?
Am im Forum: GUI: Windows-Forms

Du hast in den anderen Beiträgen schon richtig gelesen.

die Blöcke bekommst du nur weg, wenn du die Visual Styles ausschaltest. Luna hat keinen extra Style für ne kontinuierliche Progress Anzeige. Ich weiss noch aus der VB6 Zeit, dass man von einzelnen Steuerelementen die Visual styles deaktivieren kann. Da müsstest du mal folgenden begriffen suchen: Visual Basic, API, Visual Styles

Ein anderer Vorschlag währe: Du erstellst eine neue Klasse die von der Progress Bar erbt. Dann überschreibst du die OnPaint Methode und zeichnest selbst ein wenig. Das dürften vielleicht 100 Zeilen werden, wenn überhaupt (Hintergrund, Rahmen und Balken). vielleicht haste ja damit glück.

Thema: DataGridView jeder 2. Zeile in anderer Farbe
Am im Forum: GUI: Windows-Forms

Nein, aber schön, dass du das spiel mitspielst

Thema: DataGridView jeder 2. Zeile in anderer Farbe
Am im Forum: GUI: Windows-Forms

Dann lass uns von deinem fundus der weisheit kosten. aber vermutlich wirst du es extra für dich behalten

Thema: DataGridView jeder 2. Zeile in anderer Farbe
Am im Forum: GUI: Windows-Forms

sieht doch niemand außer dir, dass du so herausfindest, ob die scrollbar sichtbar ist oder nicht

Thema: DataGridView jeder 2. Zeile in anderer Farbe
Am im Forum: GUI: Windows-Forms

int iColWidth = dataGridView1.Width;
for(int i = 0; i ≤ dataGridView1.Columns.Count; i++)
{
iColWidth -= dataGridView1.Columns[i].Width;
}

if (iColWidth > 0)
dataGridView1.Columns[dataGridView1.Columns.Count - 1].Width = iColWidth;

Das ist ungetestet und du musst gucken, ob du mehr zeilen hast als angezeigt, denn die vertikale scrollbar zieht auch noch etwas breite weg.

Thema: Button soll trotz Ausführen aktiv bleiben
Am im Forum: GUI: Windows-Forms

ich weiss nicht, ob ich dazu wirklich noch was schreiben soll...

du hast mit allen steuerelementen ein problem, wenn die nicht sofort zur verfügung stehen. ein update ist nicht effektiv.

ein neuer Thread, der die Steuerelemente mit Invoke aktualisiert ist das effektivste, was mir gerade einfällt.

Thema: Fenster wird nicht komplett Maximiert
Am im Forum: GUI: Windows-Forms

http://web6.codeproject.com/win32/AntonioWinLock.asp?df=100&forumid=62485&exp=0&select=1180314&tid=1180314

Vielleicht ist dieses Taskbar verstecken anders. Sollte das maximieren trotzdem nicht funktionieren musst Du folgendes mal ausprobieren:

Form1.Location = new System.Drawing.Point(0, 0);
Form1.Size = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Size;

Das ist zwar kein maximieren, stellt aber das Fenster auf die größe der Auflösung

Thema: FormatString
Am im Forum: GUI: Windows-Forms

kann es sein, dass du folgendes verwendest?
String.Format("{0,15:F}", Zahl.ToString()); ??

Da die zahl als string übergeben wird, weiss dein programm nicht, was sich darin befindet und kann es dahier nicht formatieren. du musst ihm ein Single, besser aber ei nDouble mitgeben, dann ghet das.

Andere frage, warum stellst du dein label nicht auf rechtsbündig?

Thema: Eine Klasse definieren und aufrufen...
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Guten morgen (in feierstimmung ^^)

da ich morgen vermutlich erst sehr spät wieder zu den lebenden zählen werde gibts jetzt eine kleine erklärung.


public class Class1
{
//Klassenweite Variable mit public. also auc hvon außen.
    public Form1 Fo1;
    public Form2 Fo2;
    public Form3 Fo3;

//Konstruktur
    public Class1()
    {
        Fo1 = null;
        Fo2 = null;
        Fo3 = null;
    }
//Meine Methode
    public void MyVoid()
    {
        Fo1 = new Form1();
        Fo2 = new Form2();
        Fo3 = new Form3();
    }
}

private void button1_Click(object sender, System.EventArgs e)
{
    Class1 objektVonClass1 = new Class1();
    objektVonClass1.MyVoid();
    objectVonClass1.Fo2.Closed += new EventHandler (showaction);
    objectVonClass1.Fo2.Show();
    this.Hide();
    objectVonClass1.Fo2.Location=this.Location;
}

klar? ^^

Junge, du musst dir lektüre reinpfeiffen. Bevor du dieses Problem gelöst hast, tauchen zwei weitere auf und das führt zum snowball effekt. mir fällt ein tolles spiel ein, dass wir spielen könnten. Wenn du es schaffst mir zu erklären, was ich an deinem code geändert habe, und warum, dann darfst du wieder neue threads öffnen ^^ *nichternstnehmendenaltenvassili*

Thema: Eine Klasse definieren und aufrufen...
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich sag ja probieren geht über studieren. Das problem ist, du weisst noch garnicht, was du probieren sollst.

Zur Info, damit du Objekte von Klassen unterscheidest.

Objekte erzeugst du von Klassen, welche du schreibst.
Klassen sind im Prinzip Vorlagen für Objekte (natürlich wenn nicht abstrakt, aber das sollten wir erstmal überspringen).

Und noch was hinterher. C# ist nicht C++ like. Jedes Objekt muss von Hand erzeugt werden.

als kleine Veranschaulichung

class MyClass
{
	public int Wert;
	
	void MyMethod()
	{
		MyClass oMyClass1 = new MyClass();
		oMyClass1.Wert = 10;
		MyClass oMyClass2 = new MyClass();
		oMyClass2.Wert = 20;
		oMyClass1 = new MyClass();
		oMyClass1.Wert = 30;
	}
}

In diesem Beispiel hab ich von der Klasse MyClass Objekte erzeugt. Es macht absolut nix aus, dass er von sich selbst ein Objekt erzeugen kann. Ehrlich gesagt, macht er nicht aus sich selbst ein Objekt sondern nur von der klasse, denn man selbst ist nur ein Objekt und kann nicht aus sich selbst ein Objekt erstellen sondern nur von Klassen. Egal.

Ich habe in der ersten zeile einen Objektverweis deklariert, nämlich oMyClass1 vom Typ MyClass. Außerdem erstelle ich gleich ein Objekt der Klasse MyClass und stelle den Verweis zu dem Objekt in mein Objektverweis oMyClass1.
Zweite Zeile. Ich fülle das Objekt in meinem Objektverweis. Der Objektverweis "Wert" (ja es ist ein verweis, denn selbst der integer ist eine klasse und wird zur erzeugung von objekten (int) benötigt) erhält den Wert 10.
die dritte zeile ist gleich der ersten, aber ich erstelle ein weiteres objekt, dessen verweis ich in einem neuen objektverweis speicher. Du musst dir merken, dass das objekt in oMyClass1 mit dem objekt in oMyClass2 nichts zu tun hat. Daher passiert in der vierten zeile nichts anderes, als dass das objekt in omyclass2 den Wert 20 bekommt und oMyClass1 nicht berührt wird. der Wert 10 bleibt für oMyClass1.
Zeile 5. Der Verweis oMyClass1 wird mit einem anderen Verweis gefüllt. und zwar mit einem eines neuen Objekts. Ich erstelle wieder eins und fülle in der sechsten Zeile mein drittes objekt mit dem Wert. generell musst du dir merken, dass wenn kein objektverweis auf ein objekt verweist (^^ zungenbrecher) der garbagecollector anspringt und dieses objekt zerstört, denn es wird nicht mehr verwendet. Da wir nirgends ein Objektverwes zu unsem ersten Objekt haben, wird dieses früher oder später von der garbagecollection (Müllabfuhr kannste dazu auch sagen) abgeholt und liquidiert

Schlauer?

Thema: Eine Klasse definieren und aufrufen...
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat
Original von amdspeed
Hey super, vielen Dank schonmal für die ganzen Bemühungen, mir das mit den Klassen soweit zu erklären .

Ja, ich denke das Buch werde ich mir wohl auch kaufen, da ich auf den Link auch schon oft gestossen bin 8o . Steht denn in dem Buch noch mehr drin, als auf der Seite? (Ich gehe mal davon aus )

Noch eine kleine Frage zu den Klassen. Wenn ich jetzt eine Klasse aufrufen möchte, mache ich das ja mit folgendem Befehl:
CData.MailSenderAdresse; (vorrausgesetzt ich habe es auch so genannt )

Nur kann ich das ja so nur in einer Klasse aufrufen. Gibt es auch die Möglichkeit, die Klasse für das ganze Form1 zu laden. Wenn ja, wo muss der Befehl dann stehen?


Ein ganz großes Dankeschön an euch

Steht im Buch. Zugriffsberechtigungen oder so heisst das.
Da gibt es mehrere ebenen. Mir fallen jetzt nur zwei ein ^^
Klassenweit,
lokale variable

code beispiel:

class MyClass
{
   private bool KlassenweiteVar;
   private void MyVoid()
   {
      private bool LokaleVariable = true;
   }
}