Laden...

Forenbeiträge von Femaref Ingesamt 240 Beiträge

24.04.2008 - 18:49 Uhr

public class Attack
{
public int ExecutorID {get; set;}
public int TargetID {get; set;}
public bool AbortOnExecutorDeath {get; set;}
public Ability UsedAbility {get; set;}
// etc etc

private void ExecutorDeath ()
{
if(AbortOnExecutorDeath)
 UsedAbility.Abort();
}
}

public class Unit
{
 // etc etc

public delegate void dDeath ();
public event Death = new dDeath();
public void attack(Unit Target)
{
    if (this.AP >= Ability.Cost)
    {
        int id = attacks.Count + 1;
        attacks.Add(new Attack(){this.ID, Target.ID, true, foo});
        Death += attacks[id].ExecutorDeath;
    }
}
private void die ()
{
 if (Death != null)
  Death;
}
}

Einfach mal so runtergeschrieben... Ich hoffe ich konnte weiterhelfen.

18.04.2008 - 16:22 Uhr

Das du, sobald ein Thread auf ein bestimmtes Objekt zugreifst, es für andere Threads blockierst (wobei du dabei bedenken solltest, das wenn du ein Objekt lockst, die anderen Threads, die zufällig drauf zugreifen wollen, warten bis das Lock freigegeben wird. D.h. die Operationen, während ein Objekt gelockt ist, gering halten.

16.04.2008 - 20:30 Uhr

1.1: Würde sagen, ja
2.1: Kommt auf die Vearbeitung der Daten im Server an
2.2: Keine Ahnung, Sorry

3.1: Sollte sowohl Linux(Stichwort: Mono) als auch Windows Server gehen
3.2: Keine Ahnung, Sorry

16.04.2008 - 14:42 Uhr

Naja, Man kann im LINQ to SQL Schema Queries (zumindest heißt das so bei der CE Datenbank) importieren - d.h. wenn ich die Methode von der Klasse in die Datenbank verlegen würde, würde es gehen. Wo ich mir das überlege, wäre das wohl sogar inteligenter, da diese Methoden eh nur Datenbankabfragen sind. Nur wie geht das in der CE?

16.04.2008 - 13:54 Uhr

verwendetes Datenbanksystem: LINQ to SQL mit MSSQL CE 3.5

Ich benutze folgende LINQ-Query:


var x = from s in db.mapSystems
            where s.Security < 0.45 &&
            CalcDistance(start, s.Name) < range
            select s.Name;

Wobei CalcDistance eine Methode in der Klasse ist, in der das Query benutzt wird.

Für CalcDistance(start, s.Name) bekomme ich nun bei der Ausführung folgende Exception:

Für die Double CalcDistance(System.String, System.String)-Methode gibt es keine unterstützte Übersetzung in SQL.

Ist es möglich, trotzdem diese Methode in diesem Query so zu verwenden, oder muss ich sie in der Datenbank erstellen?

30.03.2008 - 01:05 Uhr

Nimm als Grundlage den .net Connector von der mysql-page, das dürfte einiges erleichtern.

26.03.2008 - 21:35 Uhr

Super,

hat funktioniert, danke für den tollen Beitrag.

Nur noch eine Frage zum Verständnis:

Was bewirkt (Nachname LIKE ISNULL(@Nachname,'%') genau?
Wenn Nachnake NULL ist nix nehmen ansonsten @Nachname?
Kann man das so übersetzen?
Welchen Zweck hat das '%'?

Danke für Deine Hilfe.

Gruß Maximus.

(Nachname LIKE ISNULL(@Nachname,'%')

Wenn Nachname != null wird @Nachname genommen, ansonsten alles (% = wildcard der soviele zeichen wie möglich nimmt, da es hier alleine steht -> alles)

22.03.2008 - 19:34 Uhr

.msi ist eine Installationsdatei.

19.02.2008 - 22:53 Uhr

Ich meine mich zu erinneren Binär gespeicherten Text in einer MySql Datenbank gesehen zu haben - mit dem Feldtyp Blob.

18.02.2008 - 16:40 Uhr

PaperSize paperSize = new PaperSize();

paperSize.Height = 250;
paperSize.Width = 50;

ps.DefaultPageSettings.PaperSize = paperSize;

15.02.2008 - 19:36 Uhr

Du kannst es dir aber immer noch im Object Explorer angucken.

15.02.2008 - 16:58 Uhr

Guck dir doch einfach die Methoden im Objekt Explorer an, bzw wenn du this.blabla schreibst und dann nen "." dransetzt, müsste intelisense dir eine Liste mit Methoden geben, dann kannste einfach durchscrollen und auswählen.

15.02.2008 - 16:00 Uhr

Der Typ- oder Namespacename "Outlook" konnte nicht gefunden werden. (Fehlt eine using-Direktive oder ein Assemblyverweis?)

Sagt doch schon alles. Guck mal bei deinen Verweisen/im using block.

31.01.2008 - 16:24 Uhr

Dafür haben in der Informatik viele Pädagogen den anschluss verpasst,
und unterrichten immernoch pascal.

Oja, das stimmt. Es ist zwar Delphi bei mir - Aber was soll ich damit? Bis jetzt habe ich bis auf eben ne neue Programmiersprache, die sowieso schon alt und abgelöst ist, nichts, aber auch garnichts neues gelernt.

(Bin 11. Jahrgang Gymnasium)

30.01.2008 - 20:38 Uhr

Guck dir mal System.Math an, da wirste alles finden. Für deine spezielle Frage System.Math.Sqrt(double d)

26.01.2008 - 16:13 Uhr

Also den 344er comic sollte man komplett lesen (also 3 schritte zurück) weils ne fortlaufende Geschichte erzählt.

21.01.2008 - 16:56 Uhr

([\w]+*{1})([\d]+)

müsste es glaube ich sein. Bin mir nicht ganz sicher mit der ersten Gruppe.

09.01.2008 - 13:06 Uhr

Ich sage es dir mal aus meiner Erfahrung:

Ich habe im Alter von 14 angefangen mit PHP, und dann etwas später (15 einhalb oder so) mit C#. Das was wirklich gedauert hat war die Anwendung von OOP... Jetzt bin ich fast 17. Mach dir keine Sorgen, du wirst es auch noch verstehen. Vorallem wenn du tatsächlich ein Praktisches Beispiel machst (jetzt nicht irgendwas aus dem Kontext gerissen, sondern ein ganzes Projekt) dann kommt das praktische Denken in OOP von ganz alleine. Einfach nicht entmutigen lassen.

Femaref

08.01.2008 - 17:29 Uhr

Eventuell die Express Version von C++ aber die ist deinstalliert und da war auch keine JIT-Option... Hatte da nämlich auch schonmal geguckt wegen was anderem.

Auch das erstellen eines neuen Projektes und hinzufügen des Quellcodes hilft nicht...

08.01.2008 - 16:25 Uhr

ich habe den Hacken bei Show all Settings drin und der Menüpunkt für JIT ist nicht vorhanden.

08.01.2008 - 16:10 Uhr

Keine speziellen, das ist es eben.

Screenshot

statt der 1136 eben andere Nummern... und egal wie häufig ich das Fenster wegklicke, es taucht solange auf bis ein nicht-Windows Forms Projekt als Startup festgelegt wird.

Edit: Löschen im bin Verzeichnis bzw Rebuild bringt auch nix.

08.01.2008 - 13:58 Uhr

Als ich heute(wie die letzten Tage auch) mein Projekt im VS C# Express 2008 geöffnet habe, bekomme ich vom vshost mehrere verschiedene Exceptions wenn ich ein Windows Forms Projekt als Startupproject setzte.

Ich habe keinen Ansatzpunkt wodurch dies hervorgerufen wird, auch ein Backup von vor 2 Tagen hat diese Probleme.

Hat wer anders diese Probleme auch schon gehabt und kennt eine Lösung?

26.12.2007 - 01:39 Uhr

Ich würd die ganze MaskedTextBox-Geschichte nicht so streng gestalten, also zb. Punkt/Komma beim Startbetrag zulassen (bei Zins wurds ja schon angesprochen) und den gesamten Code dann in nen try/catch-Block stecken, und die etwaigen Exceptions einzeln abfangen (zb. Exception wenns beim Konvertieren fehlschlägt, bei leerer Box)

26.12.2007 - 01:35 Uhr
dezimal /= 2; //lang: dezimal = dezimal / 2;
26.12.2007 - 01:14 Uhr

a) Die Labels für Jahre und Zinssatz ragen in die Textboxen rein
b) Nicht abgefangene Exception bei leeren Textboxen

Ansonsten siehts gut aus.

24.12.2007 - 02:47 Uhr

Kanns grad net überprüfen, aber System.Text.ASCIIEncoding müsste dir weiterhelfen.

23.12.2007 - 13:24 Uhr

Ich kanns mal allgemein beantworten... Kommt bei mir auf die Tagesform sowie den Fragenden an. Wenn er mitdenkt, und meine Hilfen beherzigt und anwendet, gern. Wenn ich für ihn denken soll, ist Ende. Helfen gerne, Denken nein.

23.12.2007 - 13:17 Uhr

Uhm... da kann ich dir leider nicht weiterhelfen.

23.12.2007 - 11:58 Uhr

Was meinst du denn? Ich habe deine Frage so verstanden, das du etwas suchst womit du aus C# ne Verbindung auf nen Mysql-Server herstellen kannst.

23.12.2007 - 11:55 Uhr

Eventuell mit nem Regex die Unicodeespacesequenzen matchen und dann manuell umwandeln?

23.12.2007 - 01:42 Uhr

Gibt auf der mysql-Seite nen Interface für .net zum runterladen (inkl Doku etc, ist sehr einfach verständlich)

21.12.2007 - 18:00 Uhr

Truncate solltest auch noch nehmen.

20.12.2007 - 16:54 Uhr

Also so wie ich das sehe lädst du auf einen HTTP-Server hoch... Wie wärs wenn du stattdessen über C# direkt auf den FTP zugreifst?

05.12.2007 - 21:35 Uhr

Bin sehr zufrieden, läuft schneller beim Debuggen, allgemein flüssigere Bedienung, Top!

28.09.2007 - 17:29 Uhr

gut, wie füge ich einem Byte[] Ein Bit hinzu, wie stelle ich fest ob die Länge ein vielfaches von 512 ist (und füge bis es das ist nullen hinzu?) wie füge ich die bit-länge eines Strings diesem Byte[] hinzu, wie teile ich jedes 512bit teil des Byte[] in 32 bit little-endians auf?

Wie gesagt, Ansatz reicht, Ich möchte keinen vollen Code - Sonst wärs ja Sinnfrei für mich.

28.09.2007 - 15:36 Uhr

Am code. Vom Theoretischen verstehe ichs, aber an der Umsetzung haperts. Den Rest der Schleifen hab ich ja alles schon geschrieben, nur eben die Vorbereitung des Strings ist es.

@herbi: Ja, das wusste ich ja schon vorher.

28.09.2007 - 11:01 Uhr

Ich verstehe den Englischen Pseudo besser als den Deutschen. Ja, es ist mir klar das ich das auf ByteEbene machen muss - aber das ist eben mein Problem. Das Krieg ich nicht hin.

28.09.2007 - 10:44 Uhr

Also, Ich möchte den MD5 Alogrithmus in C# schreiben (Ja, ich weis das es dazu Klassen gibt, Ich möchte es einfach aus Fun machen)

//en.wikipedia.org/wiki/MD5 (Pseudocode)
//pre-processing:
append "1" bit to message
append "0" bits until message length in bits a 448 (mod 512)
append bit (bit, not byte) length of unpadded message as 64-bit little-endian integer to message

//Process the message in successive 512-bit chunks:
for each 512-bit chunk of message
break chunk into sixteen 32-bit little-endian words w_, 0 d i d 15

Daran hänge ich zz. Ich habe mich nicht wirklich mit Bits beschäftigt, und habe auch nicht wirklich viel gefunden... Eventuell suche ich einfach falsch.
Wäre recht verbunden um ein paar Ansätze, es muss kein ganzer code sein (sonst hat es ja keinen Sinn es selbst zu machen 😉)

Fema

20.09.2007 - 13:42 Uhr

ups ups ich hab Mist erzählt, das was ich gepostet hab war für Post-Request.

Du brauchst ne WebHeaderCollection


List<KeyValuePair<string, string>> li_header = new List List<KeyValuePair<string, string>>();
WebHeaderCollection header = new WebHeaderCollection();
foreach (KeyValuePair<string, string> target in header)
{
header.Add(target.Key, target.Value);
}

//vereinfacht dargestellt - request ist ein HttpWebRequest
request.Headers = header;

das müsste es diesmal aber sein.

19.09.2007 - 21:00 Uhr

Über foreach die Liste durcharbeiten, und nen string draus machen, zb.


List<KeyValuePair<string, string>> li_header = new List List<KeyValuePair<string, string>>();
string header = "";
foreach (KeyValuePair<string, string> target in header)
{
header += target.Key + "=" + target.Value + ";";
}

Den entstandenen string kannste dann als Header benutzen.
Ich hoffe das ist richtig mit dem Code... Kanns grad net testen. Aber ungefähr solltest verstehen wies geht.