Laden...
Avatar #avatar-3152.png
TheBrainiac myCSharp.de - Member
Lehramt Informatik & Mathe - Student /dev/null Dabei seit 17.12.2006 795 Beiträge
Benutzerbeschreibung

Forenbeiträge von TheBrainiac Ingesamt 795 Beiträge

22.09.2011 - 18:31 Uhr

...vielleicht habe ich mich auch falsch ausgedruckt...

Wusste noch gar nicht, dass die 3D-Drucker schon SO weit sind... SCNR 😁

Gruß, Christian.

14.09.2011 - 10:10 Uhr

Das ist imho ein Bug (Feature?) in GDI, dass Controls auf der gleichen Ebene nicht als Background behandelt werden. Sprich, Parent von der TextBox und dem Button sind beide Male die Form, also wird auch nur der Background der Form gezeichnet, und nicht die TextBox.

Gruß, Christian.

27.08.2011 - 14:12 Uhr

Hi,

Kannst du dir nicht einfach einen Proxy bauen?

class MyClass {
    void DoSomething() { Console.WriteLine("DoSomething"); }
}

class MyClassProxy {
    MyClass m_Instance = new MyClass();

    event EventHandler BeforeExecute;
    event EventHandler AfterExecute;

    void DoSomething() {
        BeforeExecute(this, EventArgs.Empty);
        m_Instance.DoSomething();
        AfterExecute(this, EventArgs.Empty);
    }
}

Gruß, Christian.

07.07.2011 - 20:07 Uhr

Ah, cool 8)

Danke 👍

07.07.2011 - 19:45 Uhr

Hi @ All!

Wie bekomme ich es hin beim Erstellen eines WebServices (Client) den EndPoint selbst anzugeben, ohne dass er versuch sich was aus der Config-Datei zu holen?

Habe schon einiges probiert, scheitere jetzt daran, dass ich irgendwo her ein Binding kriegen muss. Welches muss ich da nehmen?


public MyWebServiceSoapClient WebService { get; set; }

// Irgendwo anders
WebService = new MyWebServiceSoapClient(binding, new EndpointAddress("http://localhost:49351/WebService.asmx"));
WebService.Open();

Gruß, Christian.

28.06.2011 - 15:30 Uhr

Ui.

Das SSMSE kann ja auch DB Diagramme... Wusste ich gar nicht... 🤔

Danke & Gruß,
Christian.

28.06.2011 - 15:05 Uhr

Hi.

Der Titel sagt eigentlich schon alles.

Ich suche einen Datenbank-Designer ähnlich wie MySqlAdmin oder SQLiteAdmin, nur halt für MSSQL. Sollte nach Möglichkeit umsonst sein (FreeWare). Muss einen grafischen Designer haben (Wie Klassendiagramme).

Gruß, Christian.

21.06.2011 - 21:14 Uhr

Hi!

Probiers mal mit myForm.KeyPreview = true;

Gruß, Christian.

20.06.2011 - 10:59 Uhr

Hi @ All!

Ich bin z.Zt. Informatik-Student im 2. Semester. Ich habe jetzt ein Stellenangebot als Programmierer von Web-Anwendungen auf 400€ Basis mit Stundenlohn in einer kleinen Firma. Dort wäre ich neben dem IT-Beauftragten der Firma der einzige Programmierer. Was kann ich da für einen Stundenlohn verlangen?

Gruß, Christian.

19.06.2011 - 14:08 Uhr

Probier doch mal

SetVolumeMountPoint(@"C:\MyApp\MyDir\", volume.ToString());

Gruß, Christian.

16.06.2011 - 12:24 Uhr

Ich kann (für PHP) nur GeSHi empfehlen. Spitze Tool und viele eingebaute Sprachen.

06.06.2011 - 16:40 Uhr

...das ist Tatsächlich eine kniffelige Sache...

Ist doch relativ einfach: new Regex(@"\s*\[.*?\]\s*").Replace(myString, " ");

Gruß, Christian.

31.05.2011 - 13:54 Uhr

Hi @ All!

Folgende Situation:

Ich habe einen Laptop mit eingebauten Lautsprechern. Zum Zocken habe ich zusätzlich ein (7.1) HeadSet. Nun möchte ich allerdings Musik über die Lautsprecher hören. Dazu muss ich das Standard-Sound-Gerät umschalten (Siehe Anhang).

Da mir das zu umständlich ist, wollte ich das programmatisch erledigen. Habe es schon mit WMI & DirectSound versucht, aber beides erfolglos.

Gibt es eine Möglichkeit, das programmatisch umzusetzen?

Gruß, Christian.

P.S. OS ist Win7 x64, falls es was hilft. Das HeadSet ist via USB angeschlossen.

26.05.2011 - 13:49 Uhr

Ok, Danke schonmal.

Ich habe mir den VisualSVN Server mal angesehen. Hatte eigentlich nicht gedacht, dass das so einfach wäre. Via localhost funktioniert alles schonmal perfekt! 👍 Danke!

Nur: Der Server, auf dem das Laufen soll, ist übers Internet erreichbar. Kann ich irgendwie den Hostnamen und den Port einstellen, über den SVN erreichbar ist bzw. ist das überhaupt machbar?

Also dass ich dann anstatt über https://SERVERNAME/repo via https://svn.mywebsite.com/repo darauf zugreife?

Gruß, Christian.

26.05.2011 - 13:29 Uhr

Hi @ All.

Ich habe ein kleines Problem. Und zwar möchte ich ein Version Control Server unter Windows aufsetzen.

Ich hatte da an SVN gedacht. Gibt es dazu gute Tutorials zur Installation des Servers? Gibt es Alternativen?

Voraussetzungen:*Server muss unter Windows laufen *Es muss einen Client für Visual Studio geben *Es sollte leicht zu warten sein, da wir nur zu zweit sind und nicht mehr Zeit für die Wartung aufbringen wollen als für die Entwicklung der Projekte *Hosting kommt leider nicht in Frage, es sei denn, es gibt Hoster, die selbst keinen Zugriff auf die Repositories haben, d.h., dass die Repositories verschlüsselt auf den Servern liegen.

Kann mir da jemand was empfehlen?

Gruß, Christian.

24.05.2011 - 20:58 Uhr

ich komm auf knapp 7GB, aber egal 😉 2562563500*32

Oh. Ich hab mit 3500x3500 Bildern a 256x256 Pixeln gerechnet... Das erklärt einiges... 🤔

24.05.2011 - 20:18 Uhr

Eine Bitmap der Größe 256x2500 könnte problematisch werden...

Gruß, Christian.

// EDIT: Hab ich mich böse verrechnet oder sind das unkomprimiert mit 32bpp ca. 11 Terabyte?!

21.05.2011 - 15:01 Uhr
Dictionary<Key, Action>

Gruß, Christian.

03.05.2011 - 13:56 Uhr

Was du auch machen könntest, ist es irgendwie das Handle des Putty-Fensters/Panels rauszubekommen und dann mittels nativer Calls das Fenster in einen DC der in eine Bitmap schreibt zu zeichnen.

Gruß, Christian.

03.05.2011 - 13:47 Uhr

Hab deinen Post zwar nur kurz überflogen, aber sieh dir mal DotNetDuke an. Das ist ein Portal-System, das so ziemlich genau das bietet, was du suchst.

Gruß, Christian.

02.05.2011 - 18:54 Uhr

Hi, vllt hilft dir ja das hier weiter:

Control.DrawToBitmap

Gruß, Christian

21.04.2011 - 10:16 Uhr

😉
SoundCloud-Downloader gibt es wahrscheinlich genau so viele wie YouTube-Downloader. Aber deiner gefällt mir irgendwie besser (Cooler "SplashScreen" während dem parsen/suchen).

Gruß, Christian.

19.04.2011 - 21:36 Uhr

Hier der Source samt Anwendung 8)

19.04.2011 - 21:35 Uhr

Hi @ All!

Angeregt durch diesen Thread habe ich einen kleinen Downloader für SoundCloud geschrieben. Den wollte ich euch nicht vorenthalten!

Gruß, Christian.

14.04.2011 - 14:05 Uhr

Warum will nur jeder HTML mit Regex parsen?!

--> http://htmlagilitypack.codeplex.com/

Gruß, Christian.

14.04.2011 - 14:03 Uhr

Das solltest du aber mit TranslateTransform und ScaleTransform relativ gut hinbekommen imho...

14.04.2011 - 13:21 Uhr

Wo zeichnest du? GDI? Wenn ja --> Graphics.TranslateTransform(...);

Gruß, Christian.

12.04.2011 - 23:07 Uhr

Die kannst du dir direkt aus dem OS holen mit dieser Funktion: ExtractAssociatedIcon.

Gruß, Christian.

07.04.2011 - 21:00 Uhr

Schonmal ein dickes Danke an winSharp93, funktioniert einwandfrei!

Kann ich daraus auch irgendwie eine Region machen oder irgendwie anders testen, ob ein Punkt in einer dieser Inseln liegt?

Gruß, Christian.

07.04.2011 - 16:52 Uhr

Anderer Ansatz:

Wie wäre es damit, einfach ein Pixel der Füllfarbe zu suchen und dann mit einer FloodFill-Variante bis an die Grenzen gehen? Das sollte schneller gehen, da die Bilder zu ca. 80% aus transparenten Pixeln bestehen. Nur wie finde ich alle Inseln?

Gruß, Christian.

07.04.2011 - 16:15 Uhr
var point = (from p in points where p.X <= suchwert && p.Y >= suchwert select p).FirstOrDefault()

Gruß, Christian.

07.04.2011 - 16:07 Uhr

Hi @ All.

Ich habe ein kleines Problem:

Ich habe dreifarbige Bilder, die Inseln enthalten (Transparenter Hintergrund, Linienfarbe, Füllfarbe, siehe Anhang). Daraus muss ich einen GraphicsPath erzeugen bzw. eine Liste der Punkte, die ich brauche um die Linien zu zeichnen. Weiterhin muss ich überprüfen, ob die Inseln valide sind. Valide Inseln müssen komplett von einer Linie umgeben sein, die IMMER ein Pixel breit sein muss. Ein Bild kann mehrere Inseln beinhalten.

Meine Überlegung: Solange suchen, bis ich ein nicht transparentes Pixel erwischt habe, das transparente Nachbarn hat. Das ist dann die Linienfarbe. Dann von da aus in jede mögliche Richtung gehen, um eine Insel zu "umrunden". Das ganze wiederholen, bis ich alle Pixel mit Linienfarbe einmal besucht habe.

Soweit ok. Nur: Das ganze muss ziemlich performant sein...

Hat jemand eine Idee, wie ich das angehen kann?

Gruß, Christian.

P.S. Eine Insel hat keine Löcher. Jedes Linien-Pixel muss genau zwei Nachbar-Linien-Pixel habe, nicht mehr, nicht weniger. (Die kleinstmögliche Insel ist also ein Quadrat mit 3x3 Pixel Kantenlänge.) Invalide Inseln wären z.B. solche, die zwar komplett von Linienfarbe umgeben sind, die Ränder aber nur diagonal zusammenhängen.

04.04.2011 - 09:22 Uhr

Probier mal Folgendes:

private static void GoSubdirs(ref ZipOutputStream s, string path) {
    GoSubDirs(ref s, path, "/");
}

private static void GoSubdirs(ref ZipOutputStream s, string path, string relPath)
{
    DirectoryInfo dir = new DirectoryInfo(path);
    relPath += dir.Name + "/";

    foreach (DirectoryInfo subdir in dir.GetDirectories())
    {
        GoSubdirs(ref s, subdir.FullName, relPath);
    }
    foreach (FileInfo fi in dir.GetFiles())
    {
        FileStream fs = File.OpenRead(fi.FullName);

        byte[] buffer = new byte[fs.Length];
        fs.Read(buffer, 0, buffer.Length);
//  Untere Zeile beschäftigt mich seit Stunden, und wird der Grund sein, den ich nicht erblicke
        ZipEntry entry = new ZipEntry(relPath + fi.Name);
        entry.Size = fs.Length;
        fs.Close();
        s.PutNextEntry(entry);
        s.Write(buffer, 0, buffer.Length);

    }
}

Gruß, Christian.

04.04.2011 - 01:08 Uhr
new ZipEntry(path + "/" + fi.Name);

Lass hier einfach das path weg, dann sollte es gehen.

Gruß, Christian.

31.03.2011 - 14:06 Uhr

So, hab das mal eben angepasst.

Nun ist es möglich, das Token selbst zu erstellen:

tokenizer.Add("STRING", @"""[^""]*""", 4, (type, content, position) => {
    var processed = content.Substring(1, content.Length - 2);

    return new Token(type, content, position, processed);
});
tokenizer.Add("NUMBER", @"\d+", 3, (type, content, position) => new Token(type, content, position, Int32.Parse(content)));

Das Token hat nun eine Eigenschaft mehr, nämlich State. Hierdrin kann nun ein beliebiges Objekt gespeichert werden.

Habe den Download oben erneuert.

Gruß, Christian.

30.03.2011 - 23:54 Uhr

Die Java-Version? Wieso nicht gleich den StreamTokenizer verwenden?

Weil wir eine Scheme-ähnliche Sprache verarbeiten wollten. Da sind mehr als nur die normalen Zeichen in Identifiern erlaubt, z.b. foo-bar?!=<> ist hier ein vailder Identifier.

Was ganz nett wäre wenn wie bei lex Methoden an die einzelnen Tokens gebunden werden können.

Wie meinst du das?

Gruß, Christian.

30.03.2011 - 17:55 Uhr

Hi @ All!

Nach längerer Schaffenspause habe ich mal wieder die Zeit gefunden, ein kleines Projekt zu entwickeln. Entstanden ist diese Idee bei einem Java-Projekts während meinem Studium. Den Tokenizer habe ich auch erst in Java umgesetzt und jetzt nach C# portiert, da ich ihn euch nicht vorenthalten will 😄.

Was kann der Tokenizer?
Er kann beliebige Eingabe-Strings in Tokens zerlegen, wobei die Regeln für die Zerlegung Regex-basiert sind.

Wie konfiguriere ich den Tokenizer?
Dafür gibt es zwei Möglichkeiten:

1. "Zu Fuß":
Angenommen, wir wollen folgendes Snippet farbig hervorheben:

void Test() {
    Console.WriteLine("THIS IS SPARTA!!!");
}

Dafür müssen wir es nur mit folgendem Code in Tokens zerlegen:

var tokenizer = new Tokenizer();

tokenizer.Add("STRING", @"""[^""]*""", 4);
tokenizer.Add("KEYWORD", @"\bvoid\b", 3);
tokenizer.Add("IDENTIFIER", @"\w+", 2);
tokenizer.Add("OPERATOR", @"[(){};.]", 1);
tokenizer.Add("WHITESPACE", @"\s+", 0, true);

var tokens = tokenizer.Tokenize(input);

Nun können einfach wir anhand der Tokens den Text z.b. in einer RichTextBox farbig hervorheben.

2. Per Regel-Datei:
Angenommen, wir wollen folgendes Mathe-Skript in Tokens zerlegen, um es anschließend Parsen zu können:

const PI = 3.14159265358979323846;

function f(x) = sqrt(x ^ 3);

var a = PI*12;

print f(a);

a = a / 4;

print f(a);

Dafür reicht folgende kleine Regel-Datei:

DIGIT       "\d+(\.\d+)?"                     5
OPERATOR    "[()-+*/%=;^]"                    4
KEYWORD     "\b(var|const|function|print)\b"  3
IDENTIFIER  "\w+"                             2
WHITESPACE* "\s+"                             1

Mithilfe dieser Regel-Datei lässt sich nun ganz einfach ein Tokenizer erzeugen:

var tokenizer = Tokenizer.CreateFrom(File.ReadAllText("myRuleFile.txt"));

var tokens = tokenizer.Tokenize(input);

Die Tokens können wir nun zum Parsen verwenden.

Wie sind die Regel aufgebaut?
Eine Regel hat 4 Eigenschaften:*Name: Gibt den Namen der Regel an. *Pattern: Das Pattern, das matchen muss, um ein Token mit der aktuellen Regel erzeugen zu können. *Weight: Das "Gewicht" der Regel - Regeln mit höherem Gewicht werden zuerst angewendet. *Ignore: Gibt an, ob mit dieser Regel erzeugte Tokens ignoriert werden sollen. Wird in einer Regel-Date mit einem \* hinter dem Namen angegeben

Wie sind die Tokens aufgebaut?
Ein Token enthält den gematchten String, den Namen der Regel, mit der es gefunden wurde sowie die Position, an der es gefunden wurde.

Ich hoffe, jemand kann das gebrauchen, mir hat er (bzw. die Java-Version) dicke Bonuspunkte eingebracht 8).

Gruß, Christian.

// Edit: Downloads V1: 3

28.03.2011 - 23:34 Uhr

Ich selbst habe ein Acer Travelmate Timeline 8572TG - damit bin ich voll und ganz zufrieden. Ich benutze es als vollwertigen Desktop-Ersatz, auch meine Spiele (Dragon Age 2, Dragon Age: Origins, Mass Effect 1 & 2, u.ä.) laufen ziemlich gut. Akkulaufzeit ist bis zu 9 Stunden (VS/Sharpdevelop/Office + WLAN), Tastatur ist sehr gut (Eigenständiger Num-Block).

Wie gesagt, ich kanns nur empfehlen 👍

Gekauft habe ich es hier, kann ich ebenfalls nur empfehlen, hab da schon mehrere Notebooks (für mich & meinen Bruder) gekauft.

Gruß, Christian.

28.03.2011 - 19:51 Uhr

Dann will ich meinen auch mal updaten.

Wie man vllt sieht: Dragon Age 2!

Gruß, Christian.

24.03.2011 - 12:52 Uhr

Das: !collection.GetEnumerator().MoveNext(); hat böse Seiteneffekte. Mach danach bitte ein Reset().

Sicher, dass beide Klassen auch "erreichbar" sind? Sprich beide in einem eingebundenen NameSpace liegen?

Gruß, Christian.

21.03.2011 - 17:20 Uhr

Hi.

Wollte das gleiche vorschlagen wie JuyJuka. Aber er war schneller...

using System;

public class MyClass
{
	delegate void Action<T>(T foo);
		
	static event Action<int> evt1;
	static event Action<int> evt2;
	
	public static void Main()
	{
		evt1 = new MyHandler("Foo").Action;
		evt2 = new MyHandler("Bar").Action;
		
		evt1(5);
		evt2(3);
		Console.ReadLine();
	}
	
	class MyHandler {
		string myString;
		public MyHandler(string s) {
			myString = s;
		}
		public void Action(int foo) {
			string relevant = myString;
			Console.WriteLine("{0}: {1}", foo, relevant);
		}
	}
}

Gruß, Christan.

08.03.2011 - 19:57 Uhr

Wenn du so etwas meinst wie beim Explorer von Win7 die Pfadleiste, dann suche mal nach BreadCrumb, so heißen solche Controls.

26.02.2011 - 11:16 Uhr

Klasse Tool!

Nur etwas ist mir aufgefallen:*this ist bei dir kein Keyword. *Wenn man Felder im TreeView auswählt, werden die nicht im Code angezeigt. *Das springen mithilfe der Links im Code funktioniert nicht

Gefällt mir trotzdem sehr gut, das Tool!

Gruß, Christian.

25.02.2011 - 00:08 Uhr

Du hast nicht zufälligerweise ein 64-Bit-System? Wenn ja, stelle mal die Prozessor-Architektur in den Kompilierungsoptionen auf 32 Bit. Dann sollte es funktionieren.

Gruß, Christian.

24.02.2011 - 17:57 Uhr

Ich weiß nicht warum aber bei mir scheint das nicht zu funktionieren.

Probier mal nen Rebuild des Projektes.

Ach und zu derAsasing Syntax Box finde ich leider keinen Download Link.

Link

Gruß, Christian.

22.02.2011 - 10:11 Uhr

Das einzige was mir einfällt, wäre im Constructor der Klasse den StackTrace auszulesen.

Gruß, Christian.

18.02.2011 - 10:21 Uhr

Guck mal in der Form bei KeyDown/Up/Press. Wenn diese Nämlich KeyPreview=true gesetzt hat, behandelt diese alle TastaturEvents zuerst.

Gruß, Christian.