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 Seikilos
Thema: Eigenes Usercontrol Redraw problem
Am im Forum: GUI: Windows-Forms

Ich hab ein UserControl, das ein paar projektspezifische Parameter hat, darunter auch ein Image.
Diese Komponente wird mehrfach instantiiert und in einem MDI Kontext (mit Docking) benutzt. Wenn ich dieses Fenster mit meinen UserControls nun anders skaliere, also erst kleiner und dann primär größer mache, so müsste der Redraw das UserControl neu zeichnen. Dies passiert aber nicht, es wirkt so, als würde das Paint Event nicht aufgerufen werden, sprich mein Control wird visuell zerschossen. Beim verkleinern verschwindet ein Teil des Controls und beim Vergrößern wird der Bereich nicht neu gezeichnet.

Thema: Eigenes Usercontrol Redraw problem
Am im Forum: GUI: Windows-Forms

Ich hab ein Usercontroll bei dem ich das OnPaint überladen habe.

Wenn ich dieses Objekt in der anwendung platziere, so wird es korrekt gezeichnet. Bedecke ich es nun aber teilweise, so wird die Komponente nicht neu gezeichnet.
Wenn ich einen Break Point habe und die gleiche Aktion ausführe, so wird der Breakpoint ausgelöst und das User Control wird dann korrekt dargestellt.

Das Usercontrol und die Elternanwendung haben bereits folgende Attribute:

this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.OptimizedDoubleBuffer, true);

Desweiteren hab ich ebenfalls OnPaintBackground überladen.
Vergesse ich einen Call?

Thema: LINQ, wie else branch realisieren? (C#3.5)
Am im Forum: Datentechnologien

Ich spiel grad mit den neuen Features rum (mir ist bewusst, wie alt LINQ ist)

Ich hab ein Query, was so aussieht:

 var fis = from diffFile in Directory.GetFiles(diffPath)
                   where File.Exists(oldPath + "\\" + new FileInfo(diffFile).Name) 
                   select diffFile;
Der loopt ne liste und guck ob die Dateinamen in oldPath und in diffPath gleich sind.

Nun krieg ich die Menge, bei dem das Where true ist, aber gibt es einen weg, auch ein else zu implementieren? Oder greift man da wieder zu der For schleife?
Ich will quasi wenn File.Exist false is ein event erzeugen und das select dann natürlich nicht mehr ausführen. Ist dies möglich?

Thema: Odbc und CSV -> bekomme Datei.cvs nicht gefunden (Error 42S02)
Am im Forum: Datentechnologien

Kann ich denn einen String oder ein Array oder so als Data Source eines grid views übergeben? Denn ich will es automatisch halten. Lesen, Parsen, Editieren und speichern kann ich alles, aber ich will es nicht manuell machen

Thema: Odbc und CSV -> bekomme Datei.cvs nicht gefunden (Error 42S02)
Am im Forum: Datentechnologien

Ich will es nicht in eine DB laden, ich will ein Programm zur Bearbeitung einer CSV "Datenbank" die eine Endung tbl hat. Odbc / ich hat Probleme damit, eine tbl einzulesen, csv geht, txt geht, tbl geht nicht (obwohl der Extension string tbl umfasst)

Thema: generischer Methoden aufruf möglich?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Entschuldige, das mit reflections werd ich noch testen.

Thema: generischer Methoden aufruf möglich?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat von JunkyXL
Als Parameter kannst du als Typ params object[] nehmen.

Das ist mir bewusst, aber die aufzurufende Methoden sind explizit definiert, wie soll eine Methode mit der Signatur params object[] eine betreffende Methode mal mit int, string, mal nur mit string, mal mit string, string füllen?

Thema: Odbc und CSV -> bekomme Datei.cvs nicht gefunden (Error 42S02)
Am im Forum: Datentechnologien

Mein Connection string war in der Tat falsch, das Problem ist, die Endung der Datei muss explizit .tbl sein,

Ich hab es hiermit versucht:

string connectionString = String.Format("Extensions=txt,csv,tab,asc,tbl;Driver={{Microsoft Text Driver (*.txt; *.csv)}};Dbq={0};", fileInfo.DirectoryName);
            

Also Extensions mit tbl erweitert, dann krieg ich Error 42000. Datei ist schreibgeschützt, aber das ist die gleiche Datei wie vorher, nur umbenannt von datei.csv zu datei.tbl.
Bin Admin und hab volle Rechte aufs Verzeichnis, scheint so, als würde das Teil tbl einfach nicht anerkennen

Thema: Odbc und CSV -> bekomme Datei.cvs nicht gefunden (Error 42S02)
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: CVS mittels ODBC

Ich hab recht wenig erfahrungen mit ODBC und C# (.net 1.1) und komme da nicht weiter. Folgenden Code hab ich mir zusammengesucht:

Datei liegt in D:\datei.tbl

            string path = @"D:";
            string file = "datei.csv";
            string constr = @"Driver={Microsoft Text Driver (*.txt; *.csv, *.tbl)};Dbq="+path+";Extensions=csv,txt,tbl";
            OdbcConnection con = new OdbcConnection(constr);
            
            OdbcCommand cmd = new OdbcCommand("select * from "+file, odbcConnection);
            cmd.CommandType = CommandType.Text;

            OdbcDataAdapter adapter = new OdbcDataAdapter(cmd);
            adapter.SelectCommand = cmd;
            odbcConnection.Open();
            DataTable dt = new DataTable();
            adapter.Fill(dt);

            dataGrid1.DataSource = dt;

Bei dem Fill krieg ich ne Exception und den Error 42S02, datei.csv konnte nicht gefunden werden.

Tja, nun bin ich ein wenig ratlos.

Edit: Datei in [ ] zu setzen hat es auch nicht gelöst

Thema: generischer Methoden aufruf möglich?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Es gibt ja unter umständen eine variable Anzahl an Parametern UND deren weren, die ich durchreichen müsste. Ich bin nicht sicher, wie das klappen soll.

Wie kann eine template Methode denn wissen, wieviele Parameter die an den delegaten übergeben soll?
Ich muss theoretisch ja die Try catch geschichte auslagern:


void genericMethod<...>(  X  )
 {
        try
        {
            setOutputStatus(tbox, Result.RUNNING);
            this.Refresh();
            Magic tpd = new Magic();

            if( X )
            {
                setOutputStatus(tbox, Result.FINISHED);
            }
            else
            {
                setOutputStatus(tbox, Result.FAILED);
            }
            return;
        }
        catch(Exception e)
        {
            MessageBox.Show(this, "Exception occured: "+e.Message,"Exception occured during progress",MessageBoxButtons.OK, MessageBoxIcon.Stop);
        }

Da happerts bei mir. Ich muss die Methode ja nicht mit mit string, unsigned oder void instantiieren sondern eigentlich schon mit dem Aufruf der Methode, weil die generische Methode ja nicht weiß, ob sie func(x, wert1), oder func(x, wert2), oder func(x, wert1,wert2) aufrufen muss. Das wissen ja nur aufrufenden Methoden, nur das der Methoden aufruf halt "verzögert" werden muss, bis er in dem try catch drin ist und ne Instanz von Magic erzeugt worden

Thema: generischer Methoden aufruf möglich?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich arbeite mit .net 1.1 und VS 2003, daher keine coolen Sprachfeatures hier :/

Anbei habe ich mal zwei Beispielmethoden, die bereits relativ generisch sind:



protected void GenericComboBoxMethodHandler(ComboBox cbox, TextBox tbox , FuncDelegateUint funct)
{
	int i = cbox.SelectedIndex;

	if( i > -1)
	{
		try
		{
			setOutputStatus(tbox, Result.RUNNING);
			this.Refresh();
			Magic tpd = new Magic();
		
			if( funct( tpd, (uint)i) )
			{
				setOutputStatus(tbox, Result.FINISHED);
			}
			else
			{
				setOutputStatus(tbox, Result.FAILED);
			}
			return;
		}
		catch(Exception e)
		{
			MessageBox.Show(this, "Exception occured: "+e.Message,"Exception occured during progress",MessageBoxButtons.OK, MessageBoxIcon.Stop);
		}

	}
  
	// Fallback if exception or index out of range
	setOutputStatus(tbox, Result.NOT_SELECTED);

}

protected void GenericVoidMethodHandler(TextBox tbox ,FuncDelegateVoid funct)
{
	try
	{
		setOutputStatus(tbox, Result.RUNNING);
		this.Refresh();
		Magic tpd = new Magic();
		
		if( funct( tpd) )
		{
			setOutputStatus(tbox, Result.FINISHED);
		}
		else
		{
			setOutputStatus(tbox, Result.FAILED);
		}
		return;
	}
	catch(Exception e)
	{
		MessageBox.Show(this, "Exception occured: "+e.Message,"Exception occured during progress",MessageBoxButtons.OK, MessageBoxIcon.Stop);
	}

}

Alles im try-catch block ist nahezu gleich, bis auf den delegaten aufruf, bei dem einen hat er parameter und bei dem anderen nicht.
Dennoch gefällt mir die Redundanz hier nicht, aber mir fällt kein Weg ein, wie ich den delagaten so generalisieren kann, dass ich beliebige Methoden aufrufen kann.

Ich versuche also im Moment func(x, uint) und func(x) gleich zu behandeln, es kann sein, dass dann noch func(x, uint, string) dazu kommt usw

Thema: Assert.AreEqual mit Listen?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

 List<string> output = new List<string>();
            List<string> outputExpected = new List<string>();
            target.ExtractCases(ref text, ref output);
          
            Assert.AreEqual(output.SequenceEqual(outputExpected),true);
LINQ Extension erlaubt SequenceEqual

Thema: Assert.AreEqual mit Listen?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hat VS 2008 eine Möglichkeit, zwei wertgleiche Listen miteinander zu vergleichen?
AreEqual prüft nur die Adresse, nehme ich mal an.
Aber gibt es da einen Container check der das auf Element Basis durchführt? Oder muss ich mir selber ne Schleife dafür schreiben?

Thema: Visual Studio Package: Wie einer Toolbar einen Text und Icon geben?
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Ich versuche in VS 2008 eine Toolbar für die IDE zu erzeugen, was gut klappt. Nun hab ich folgende Definition von der Toolbar:


<Menus>
      <Menu guid="guidBoostTestToolbarCmdSet" id="Toolbar" type="Toolbar" >
        <CommandFlag>DefaultDocked</CommandFlag>
        <CommandFlag>IconAndText</CommandFlag>
        <Strings>
          <MenuText>Boost Tester</MenuText>
          <ButtonText>Boost Tester</ButtonText>
          <CommandName>Boost Tester</CommandName>
        </Strings>
      </Menu>

Preisfrage: Das Ding hat Text und Menü aktiviert, wie setz ich nun aber den Text und wie setze ich ein Icon? Icons können ja nur Buttons haben, aber wenn das Menü so eine Option hat, sollte ich doch irgendwie auch ein Icon setzen können, oder?

Thema: Http Request abfangen
Am im Forum: Web-Technologien

Ich würde gerne ein Programm in C# schreiben, welches einen Http Listener auf eine bestimmte Domain legt.
Hintergrund:
Ich teste lokal eine Anwendung mit functional test und in einem Test wird eine Anfrage an einen Server im Web gestellt. Ich möchte für die Tests jedoch verhindern, dass dieser nach außen gelangt und den lokal bearbeiten und einen eigenen Response dafür schicken.
Die Artikel, die ich bis jetzt gefunden habe, zielen alle auf ASP.net ab und haben mir leider nicht geholfen. (Da waren Einträge für Web.config usw, die sind doch nur für ASP Anwendungen, oder?)
Es ist kein lokaler IIS oder ähnliches vorhanden, ich muss ausgehende Anfragen abfangen.

Thema: Fat32 Sektoren lesen und manipulieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Danke für die Infos.
Das Snippet von zommi scheint ziemlich brauchbar zu sein :)

Winapi ist einfach nicht mein Freunde, aber um das komm ich wohl auch nicht in C++ rum...

Thema: Fat32 Sektoren lesen und manipulieren
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

hat C# oder eher .net die Möglichkeit, auf Fat32 Daten direkt zu zugreifen und diese Auslesen und manipulieren?
Mich interessiert, ob es möglich ist, mit C# die Verzeichnistabelle auf Dateisystem ebene zu modifizieren .

Thema: Suche Regex zum Parsen von struct/typedef-Code
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Wollte gestern die Antwort selber posten, aber da hatte das Forum Probleme.

Thema: Suche Regex zum Parsen von struct/typedef-Code
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Weißt du, ob man die Klammern Parre () nummerieren kann? Ich muss ein Pattern ändern und vorne ein Klammernpaar einfügen, nur verschiebt sich dadurch der index aller späteren klammern, was extrem nervig ist

Thema: Suche Regex zum Parsen von struct/typedef-Code
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Oha, wie unübersichtlich, aber es geht! Danke :)

Thema: Suche Regex zum Parsen von struct/typedef-Code
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Das ist schlechter C++ code, viel davon und ich muss alle getter und setter generieren, nur nicht für friend class :D
Im Grunde ist das ja wurscht, ist ja nur ne Zeichenketten-Operation

Thema: Suche Regex zum Parsen von struct/typedef-Code
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Klar kenne ich den RegExpr Tester, hab ich natürlich auch.

Meinst du mit dem Lookahead:


@"(\s+)(?!friend class)([\w:_]+)\s+([\w]+);"

Wenn ja: hat nicht geklappt.

PS: Kennst du schon das Online Reg Expr Test Tool? :D

Lookbehind konsumiert doch nur das Element nicht, oder?

Thema: Suche Regex zum Parsen von struct/typedef-Code
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Versuche ein RegExpr, welches mir in solchem Code:

	struct W_RX_: RX_
	{
		W_RX_() : RX_() {};
		friend class RAW;
		std::string dbUniqueId;
		W_RX_Header header;

	};
	typedef struct W_RX_W_RX_;
Ziel ist das Filtern aller variablen deklarationen, dieser Pattern klappt:


@"(\s+)[^friend class]([\w:_]+)\s+([\w]+);"

Aber ich bekomme durch [^friend class] probleme mit W_RX_, es ist in der Tat so, dass alles korrekt gematched wird, jedoch in der jeweiligen Gruppe anstatt W_RX_ nur _RX_ drin ist!

Gibt es da einen anderen weg? Oder wo ist der fehler?

Thema: Programmiertechnisch den Schnittpunkt zweier Vektoren berechnen
Am im Forum: Rund um die Programmierung

wie ich das reche ist mir vollkommen klar, aber wie will man diese Formeln bitte schön in einem Programm eingeben?
Also wie sieht das Programm aus, was dies kann

Thema: Programmiertechnisch den Schnittpunkt zweier Vektoren berechnen
Am im Forum: Rund um die Programmierung

Mir will partout nicht klar werden, wie man Programmiertechnisch den Schnittpunkt zweier Vektoren berechnet.
Von der Mathematischen Seite ist es ja kein Problem.
Man nehme dieses Beispiel (siehe anhang)


Die Zerlegung in drei Terme ist kein Problem und mathematisch kann man den ersten Term zu r = (-3-s)/3 umwandeln und dann in eine anderen Gleichung einsetzen.
Aber läuft so etwas programmiertechnisch ab, ich mein ich kann ja keine Formel schreibe, ohne s zu definieren.

(Mit standard werkzeugen)

Thema: Umlaute wollen nicht bei Textdatei in den Ressourcen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Muss ich übersehen haben, jetzt klappt es. Danke

Thema: Umlaute wollen nicht bei Textdatei in den Ressourcen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich bin mir nicht sicher,wie das gehen soll, ich hab ja in den Ressourcen eine Datei erstellt und per Copy Paste rein kopiert, C# fragte mich nach keinem Encoding

Thema: Umlaute wollen nicht bei Textdatei in den Ressourcen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Und wie soll ich so eine Datei aus den Ressourcen lesen? Es ist keine physikalisch vorhandene Datei

Thema: Umlaute wollen nicht bei Textdatei in den Ressourcen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Wie kann ich denn

StreamReader sr=new StreamReader(@"C:\Test\text1.txt",System.Text.Encoding.GetEncoding(1252));
StreamReader sr=new StreamReader(@"C:\Test\text1.txt",System.Text.Encoding.GetEncoding(437));
StreamReader sr=new StreamReader(@"C:\Test\text1.txt",System.Text.Encoding.GetEncoding(850));

benutzen?
Die anderen haben ja alle ne XYEncoding Klasse und mit denen ging es nicht, aber bei denen hier?

Thema: Umlaute wollen nicht bei Textdatei in den Ressourcen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich hab ne Ressource Textfile in meiner Exe, dort sind Umlaute, ich lese die Datei so aus:


String text = XSD_Console.Properties.Resources.demoxml;


Umlaute sind alle zerstört.

Ich lese die Datei so aus:

UTF8Encoding utf8 = new UTF8Encoding();
                String text = utf8.GetString(utf8.GetBytes(XSD_Console.Properties.Resources.demoxml));
Umlaute alle zerstört.

Wie krieg ich die Umlaute heile aus der Ressource Textfile extrahiert?