Laden...
K
Krieger myCSharp.de - Member
Software Entwickler Rosenheim Dabei seit 15.05.2006 80 Beiträge
Benutzerbeschreibung

Forenbeiträge von Krieger Ingesamt 80 Beiträge

22.01.2009 - 15:55 Uhr

Nutzt du Visual Studio 2005 auf nem Vista system? Dann probiers mit Admin rechten

22.01.2009 - 15:50 Uhr

Im Connectionstring steht nur die Instanz des SQL Servers, es fehlt der HOST. das . in .\SQLEXPRESS sagt aus, dass sich die Instanz auf dem Lokalen ( ausführenden ) Rechner befindet. Schreibe den Rechnernamen anstatt des . in den Connection string und schon gehts auch im Intranet

22.01.2009 - 14:48 Uhr

In Visual Studio 2008 kannst du eigendlich alle MS SQL Produkte einbinden, also Compact, SQL Server Express, oder die großen Brüder.

Allerdings würde ich dich darum bitten aussagen wie "acces soll einfach einzubinden sein. jedoch ist dieses nicht stabil." zu lassen, Access ist zum einen keine vollwertige Datenbank, zum anderen aber: Access ist durchaus stabil und wird in vielen Szenarien angewandt und das erfolgreich. Persönliche Abneigung gegen ein (die anführungszeichen sind explizit gesetzt!) "Datenbank System", sollte dich nicht dazu bewegen, unquallifizierte und pauschalisierte Aussagen zu treffen.

21.01.2009 - 13:43 Uhr

Quick and Dirty: Alle Daten einer Tabelle aus dem Remote laden, checken ob der Identifier auch lokal schon liegt, wenn ja, daten vergleichen, wenn nicht anlegen. Dabei führst du buch über alle ID`s die du verglichen hast und am ende gehst du hin und löscht alle übrigen Zeilen mit den ID´s die nicht im Lokal system vorkommen.
Das machste für jede tabelle. Ich bin sicher auch in Oracle bekommst du aus dem Schema heraus, welche Tabellen es gibt.

Nachteil verbraucht viel Speicher

Wenn das nix is müssen wir uns was anderes überlegen.

21.01.2009 - 11:13 Uhr

Würde Jack spontan recht geben,
wenn es so ist, dann musst du dich erst inpersonieren so weit ich weiß.
Du schaust am besten mal nach unter welchem account du ausführst: WindowsIdentity.GetCurrent().Name

21.01.2009 - 10:43 Uhr

Nein sehe ich nicht anders, in dem fall mag es gepasst haben. Aber den Ansatz zu pauschalisieren wäre ein Fehler. Solche Konstrukte brauchst man nur in spezialfällen. Wie dem auch sei, er hat einige Lösungsansätze, ich rate hier explizit davon ab irgendwelche Konstrukte aufzubauen mit in denen neben DB Server und Client noch irgendwelche anderen aktiven Server eingeführt werden. Ich rate dazu den ADO weg zu gehen, von mir aus mit nem ORM der locken und transaktionen kann und ein ernstes gespräch mit dem Kunden zu führen. Software ist kein Allheilmittel!

21.01.2009 - 10:09 Uhr

Also ich als User würde laut scheiße schreien bei so nem system. Folgendes Szenario:

Sachbearbeiter 1: Öffnet Datensatz, ändert, stellt fest es fehlt ihm eine Info
Sachbearbeiter 2: Öffnet Datensatz, ändert, ignoriert den fakt das ihm was fehlt, speichert
Sachbearbeiter 1: Hat die info, zurück in der software sieht er, jmd anders hat geändert, aber er sieht ja die Daten noch nicht, würde auch keinen Sinn machen, da er ja schon selbst was geändert hat, Bricht ab.
Sachbearbeiter 1: 2 Wochen später sieht er, SB2 hat müll eingetippt. Er ändert wieder.

Besser:

Sachbearbeiter 1: Öffnet Datensatz, ändert, stellt fest es fehlt ihm eine Info
Sachbearbeiter 2: Öffnet Datensatz, stellt fest, SB1 bearbeitet, Satz is readonly
Sachbearbeiter 1: Hat die info, zurück in der software, tippt er ein, speichert, alle glücklich

Als Anwender UND als Chef würde ich variante 2 bevorzugen, für den Anwender weniger Frust, für den Chef weniger Kosten

21.01.2009 - 09:52 Uhr

Das Packages vergleichbar mit assemblies sind? Nun, es hat keiner Geschrieben, "Schau her lieber Java Entwickler, weil du Packages hast, bekommst du in C# Assemblies", also es wird niemand drüber nachgedacht haben. Aber im nachhinein ist es von Microsoft so angedacht worden. Hab das zum einen in Framework Design handbüchern und in der MSDN gelesen

21.01.2009 - 09:38 Uhr

Hallo diamond,

ich sehe immernoch das gleiche Problem. Bitte gib mir doch eine Aussage. Befindet sich das Datenbank Design in der höchsten Normalform? Wenn ja, solltest du vielleicht das Beratungs Gespräch mit dem Kunden neu ausrollen.

Ernsthafte Software Entwicklung beinhaltet niemals das Ja und Amen sagen, zu allem was der Kunde möchte. Versteh das bitte nicht als Angriff, eher als produktiven Tip:

Ablauf:

==== Software Analyst

  • Kunden Gespräch
  • Geschäftsprozesse Prüfen
  • Kunden Gespräch
  • Fachliche Konzept Erarbeitung

==== Software Architekt

  • Mittel definition
  • Technisches Konzept

==== Kunde & Softwareanalyst

  • Nachbearbeiten der Konzepte
  • AB HIER GILT DAS KONZEPT UND DER KUNDE HAT KEIN ABER MEHR

==== Entwickler

  • Ausprogrammierung des Konzepts

.
.
.

So geht es weiter. Analysten sollten sich Betriebswirtschaftlich so fit fühlen, solche Fehler zu finden, Architekten müssen ihre Tools ( u.a. auch ADO ) kennen. Entwickler verfügen über excellente Sprachkenntnisse.

Hier scheint was schief gelaufen zu sein. Ich kann dir aus meiner Erfahrung heraus garantieren, dass du in eine Sackgasse rennst und weder in der Lage bist den Kunden noch dich zufrieden zu stellen. Wenn du ne Firma hast die das für den Kunden macht, hoffe das er irgendwann abspringt, sonst landet ihr vor Gericht und das kann a ) teuer werden und b ) ungemütlich werden.

Nimm meinen Rat an, lass nur einen auf einer Row arbeiten, spreche noch einmal mit dem Kunden und schicke einen Analysten zu ihm um die Prozesse zu sichten und zu bearbeiten.
(Wenn du alle 3 Rollen übernimmtst, incl. Projektmanagement, dann lese vll vorher ein Buch über Business Workflows o.sth.l.t )

MFG Krieger

20.01.2009 - 17:14 Uhr

Zusatz:

Zur Normalisierung: http://de.wikipedia.org/wiki/Normalisierung_(Datenbank)

@Kaji

Der Service Ansatz ist da etwas übertrieben, das bekommt man mit ADO schon hin.

20.01.2009 - 17:10 Uhr

Hallo diamond,

ich habe mir alle Posts durchgelesen und irgendwie kam mir immer wieder die frage: Warum wollen die User auf dem selben Datensatz arbeiten?

Für mich stellt sich mit den sperrlichen Informationen eines der folgenden Probleme dar:

  1. Das Unternehmen hat extreme Probleme mit seinen Workflows ( wie können 2 Sachbearbeiter am selben Satz arbeiten )
  2. Die Datenbank folgt nicht den Normalisierungs Richtlinien, was implizit bedeutet, dass eine Tablle zuviele Informationen hält, die nicht Atomar sind, was wiederum zwangsläufig dazu führt, dass 2 User am selben Datensatz arbeiten.

Ich würde empfehlen: Data Rows Locken, sodass 1er dran arbeiten kann, 9 haben den Satz Readonly geöffnet. Und beim Commit in die Datenbank überall die Row updaten.

20.01.2009 - 16:50 Uhr

Packages sind in .NET vergleichbar mit Assemblies, soll heißen, das was du früher in packages eingeteilt hast, verpackst du heute in assemblies. Das einteilen in Verzeichnisse wie oben beschrieben, dienen dazu Namespaces logisch innerhalb einer Assembly zu ordnen.

12.01.2009 - 09:11 Uhr

Trägt jetzt vielleicht nicht zur Lösungsfindung bei aber:

AJAX heißt: Asynchronous Javascript and XML ( oder so in der art 😉 )
Wieviel sinn macht es dann Synchronous AJAX zu verwenden? Wenn du nicht AJAX nutzt, ist jeder Call im Page Lifecycle in ASP.Net blocking. Wenn ich mich nicht irre, mein gott es ist noch zu früh 😃

12.01.2009 - 09:06 Uhr

xSQL Object wäre da das richtige 😉

13.09.2008 - 10:07 Uhr

Nimm halt ne physik engine

11.09.2008 - 13:20 Uhr

setz das bild readonly oder so, aber metadaten wäre der richtige weg

11.09.2008 - 11:43 Uhr

DirectShow kannst du beibringen auf Controls zu zeichnen, du musst nur die richtige property setzen, da gibt es in DirectShow.NET ein paar gute beispiele.

11.09.2008 - 11:40 Uhr

Das hab ich ja schon geschrieben, dass die member aus der compiler optimierung ausgeschlossen wird 😉

Edit: Der compiler gibt nichts frei, der GC gibt frei und der wurde damit nicht angesprochen, es wird lediglich sichergestellt, dass das Feld zugewiesen ist (read != null) bevor darauf zugegriffen wird.

11.09.2008 - 11:36 Uhr

schau in der msdn nach der C# Singleton Beispiel implementierung, das ist einfacher als wenn ich das hier jetzt repliziere

11.09.2008 - 11:30 Uhr

Event. Wie der thread auf der anderen seite das von dir angesprochene Problem löst muss deiner klasse egal sein. Du würdest hier ein spezialisiertes problem lösen.

11.09.2008 - 11:05 Uhr

volatile stellt sicher, dass im feld immer der aktuelle wert vorhanden ist. Die felder werden nicht von Compileroptimierungen erfasst usw.. Generell gillt: Felder auf die von mehreren threads zugegriffen werden kann und die von mehreren threads geändert werden können, werden volatile gekennzeichnet.

11.09.2008 - 11:02 Uhr

Macht man nicht so. Habe erklärt wie man OOP anwendet. Eine klasse für den O/R Mapper, eine zum Artikel holen, eine zum Reader / Writer verwalten.

11.09.2008 - 10:58 Uhr

Ich rauche. Es hat sich hier in der Firma gezeigt, dass beim Rauchen das Wissen gebündelt wird und ein eigenartiger synergieeffekt ensteht 🙂 Spass bei seite, mir schmeckts einfach, glaubt es oder nicht 😜

Trinken: Nur wenn ich in irgendnen Dance schuppen geschleppt werde 🙂

11.09.2008 - 10:41 Uhr

Vorsicht: Die instanz des oben beschrieben singletons wird beim ersten Zugriff auf die Klasse ( egal ob eine statische methode die public ist oder nicht ) erstellt. Ich persönlich bevorzuge folgendes:



  private static volatile Anmeldung _Instanz;
  public static User Instanz
  {
    get{
		lock(_Lock){
			if(_Instanz == null)
				_Instanz = new Anmeldung();
			return _Instanz;
		}
	}
  }

Hier wird erst wenn der User das objekt wirklich braucht das Objekt erstellt. Zusätzlich sollte der statische Instanz Member mit volatile gekennzeichnet werden.

11.09.2008 - 10:33 Uhr

Um es nochmal deutlich zu machen warum OOP und warum der Overheat:

Objekt Orientierung erhebt im prinzip den Anspruch darauf, Real existierende Zusammenhänge abzubilden. Irgendwie klingt das gerade komisch, aber das mag an der müdigkeit liegen. Fakt ist, dass das Klassen Design so generisch gehalten werden sollte, dass ein Objekt das abgebildet wird in jedem erdenklichen Anwendungsfall eingesetzt werden kann, nicht nur im kontext der aktuell entwickelten Applikation.
Dies führt zu dem Vorteil, dass klassen die einmal geschrieben wurden, nie wieder geschrieben werden müssen. D.h. hat du einen guten generischen CSV Parser, solltest du die klasse im idealfall in jeder deiner Applikationen wiederverwenden können ohne großartig nachdenken zu müssen, wie das Problem zu lösen ist. Im realen Leben ist das nie so ganz möglich, also entwickelte Klassen müssen meist noch erweitert werden, da man eben nicht jeden fall bedacht hat. Allerdings müssen die klassen wie gesagt nur ERWEITERT werden und nicht NEU geschrieben werden.
Für den Einsteiger wäre wichtig die Unterschiede der verschiedenen herangehensweisen zu kennen. Objekt Orientierte Programmierung ist nur eine von vielen herangehensweisen. OOP gilt z.Z. als der üblichste Ansatz, da o.g. Vorteile überwiegen. Allerdings gibt es auch Fälle in denen andere Ansätze wie Aspekt Orientierte Programmierung eingesetzt werden, ein relativ neuer Ansatz. Info Quelle hier wie immer Wikipedia, falls man sich weiter informieren möchte.

11.09.2008 - 10:16 Uhr

Sollte das passieren, ist darauf zu achten, dass wie in MMO`s der Server einen plausibilitätscheck der vom client übermittelten werte macht und zusätzlich muss darauf geachtet werden, dass der Client ausschließlich die Präsentationsschicht der Applikation darstellt. Berechnungen sind, ab dem Zeitpunkt in dem User Clients entwicklen dürfen, ein Nogo im Client.

11.09.2008 - 08:03 Uhr

kein ding, viel spass dabei 🙂

11.09.2008 - 08:01 Uhr

auf den ersten blick ist es vll. verschwenderisch / aufwändig / unnütz. aber auf den 2. blick siehst du, dass du folgedes machen kannst:

Weg a) eine klasse die genau das tut was du willst

Weg b) Eine Datenbank Klasse, die immer wieder für den zweck hergenommen werden kann, eine CSV Klasse deren parameter bestimmen wie das array rauskommt, also welche Felder etc, kann dann auch für den zweck immer wieder hergenommen werden etc.

Verstehst das Prinzip? Reuse code 😉

10.09.2008 - 14:19 Uhr

probiers mal mit Sockscap

10.09.2008 - 13:00 Uhr

Rechtsklick auf eine freie Fläche in der Toolbox -> Choose Items -> Browse -> DLL Auswählen der Controls -> glücklich sein

10.09.2008 - 11:06 Uhr

Ob ankommen oder nicht ankommen kann hier mal vernachlässigt werden, UDP fällt raus. Wichtig ist, dass er mit wenig aufwand durch einsatz von .Net Technologien schnell und erfolgreich an sein Ziel kommt.

Da sag ich Webservice, ob nun der traditionelle oder WCF: egal! Nur eins: Webservice FTW!

Der Vorteil: Wenn das spiel wirklich so viele Spieler bekommen sollte kann der IIS Loadbalancing machen, das bekommt er also geschenkt. TCP ist damit auch raus.

10.09.2008 - 10:44 Uhr

Er empfiehlt wohl UDP, weil in der Spieleentwicklung meistens auf UDP mit eigenem Layer zurückgegriffen wird. So gibt es RakNet als Beispiel, das eine UDP Library mit Abstraktions Schicht zur Verfügung stellt, die sicherstellt, dass Pakete ankommen, in der man sicherstellen kann wie Pakete ankommen ( geordnet / ungeordnet ) usw.
Der Vorteil von UDP ist ganz klar die geschwindigkeit und der geringe Protokoll overhead in Hinsicht auf Datenvolumen und Kommunikation. Allerdings ist das in diesem fall meines Erachtens nicht nötig, da die UDP Libraries dazu eingesetzt werden große Mengen an Vektoren / Quaterniale in kurzer Zeit zwischen Server und Client zu synchronisieren um möglichst exakt synchronisierte Positionen und Richtungs Vektoren auf Client / Server seite zu haben. Da das hier wegfällt, braucht er sich den Stress nicht machen.

Wenn er sich doch dazu entscheiden sollte, gibt es einen guten UDP Layer für .NET bei Google Code. Ich kann mich nur nicht mehr so genau an den Namen erinnern. Die Library ist auf Performance ausgelegt, kann aber wie RakNet unter Nativen Applikationen sicherstellen, dass Pakete ankommen und wie. Ich halte UDP aber für Overkill in diesem Projekt.

10.09.2008 - 10:21 Uhr

Webservice is the way to go. Da bin ich bei dir. Ob mit WCF oder reine Webservices, muss unter berücksichtigung der o.g. Punkte entschieden werden.

UDP ist hier definitiv der falsche weg, er will kein Ego Shooter oder RPG Programmieren, sondern sowas wie OGame mit dem unterschied das es n Client gibt... Ergo: Webservices / WCF, kein TCP oder UDP!

10.09.2008 - 08:01 Uhr

war bisher in richtung TCP/IP tendiert evtl über UDP

Von UDP war eben doch die rede, davon wollte ich ihn abbringen.

wenn hardcore dann über serielle schnittstelle...

Macht irgendwie so gar keinen sinn oder? No comment

übrigens arbeitet wcf über webservices......

Nicht ganz richtig. WCF kann wie Webservices SOAP, damit sind es aber noch lange keine Webservices. Hinter WCF steckt viel mehr als SOAP Technologie. Nur weil SOAP in WCF Standart ist, nutzen sie nicht gleich Webservices. WCF und webservices nutzen und sind zwei völlig unterschiedliche tecnologien

09.09.2008 - 23:49 Uhr

Du kannst das auch über webservices lösen und dir den client code wie in WCF generieren lassen, dann sparst du dir die .NET 3.5 abhängigkeit und vielleicht gehts ja auch auf Mono? 🙂

TCP/IP schließt by the way UDP aus. Email ist hier unangebracht. UDP ist schnell, aber du musst dich um alles selbst kümmern, also es ist nicht sichergestellt, dass pakete ankommen, in welcher Reihenfolge sie ankommen usw. TCP schenkt dir das alles. Also: Wenn Hardcore dann TCP, wenn richtig Edgy dann WCF, wenn angenehm und nicht edgy dann webservices. 🙂

09.09.2008 - 23:43 Uhr

Jopp sehe ich auch so, erstelle eine VehicleFactory klasse, die dann die verschiedenen Klassen rausgibt. Die klassen implementieren ein gemeinsames Interface und du kannst per "is" rausbekommen nach dem produzieren um welche Klasse es sich handelt.

Du hast es ja schon gesagt, du musst wissen welcher Typ Fahrzeug produziert werden will, das schreit nach der Factory Pattern, und dem Interface IVehicle.

OwnVehicle / CompanyVehicle sind sinnlos, mach einfach wie schon erwähnt wurde im Interface direkt eine property owner und fertig.

09.09.2008 - 17:20 Uhr

Ich würde das in Objekten Abbilden


public class FtpDirectory
{
	List<string> Files
	List<FtpDirectory> Directories;

	public void DeleteFiles()
	{
		if(Directories.Count > 0)
		{
			foreach(FtpDirectory a in Directories)
			{
				a.DeleteFiles();
			}
			foreach(FtpDirectory c in Directories)
			{
				FtpCommandToDeleteDir(c);
			}
		}

		foreach(string b in Files)
		{
			FtpCommandToDeleteFile(b);
		}
	}
}

Dann wird immer das Tiefste zuerst gelöscht, incl Files

MFG Krieger

09.09.2008 - 16:26 Uhr

Ahhh ausflipp beruhig

  1. Weder DirectX noch OpenGL sind 3D Engines, es sind einfach Libraries die eine Schnittstelle zwischen Programmierer und Grafikkarten Treiber / Grafikhardware darstellen

Eine 3D Engine Abstrahiert diese Schnittstelle weiter und übernimmt bestimmte Funktionalitäten wie z.b. das ( im übrigen sehr wichtige in Hinblick auf Performance ) minimieren von Context Switches oder in den meisten Fällen auch die Organisation von 3D Szenen, wie z.b. das Culling, Animieren, Complexere Schattenberechnungen usw. Ein Paradebeispiel für eine 3D Engine wäre hier die Ogre3D engine. Für diese gibt es btw. auch einen .NET Wrapper.

  1. Der Mythos, dass OpenGL bessere bzw. schlechtere Render Ergebnisse erzielt wie DirectX hält sich anscheinend Wacker. Beide Seite, seien es Microsoft Game Studios mit ihrem Flight Simulator oder John Carmack mit ID Soft, haben gezeigt, dass beide Libraries Performant und Qualitativ durchaus ebenbürtig sind.

  2. Mit einer reinen DirectX / OpenGL implementation kommt das Game sicher nicht weit, da das in sich viel zu komplex wird. game Studios ( und wenns nur kleine sind ) investieren nicht Mann Jahre bzw. Viel Geld in gute 3D Engines, wenn es ohne gehen würde.

Prognose: Die ersten Screenshots kommen, danach schlägt nach ein paar Wochen / Monaten wenns gut läuft in 1 - 2 Jahren durch, dass das so nicht geht und eine Abstraktions Schicht her muss, da alles zu komplex wird.

Just my 2 cents

09.09.2008 - 11:03 Uhr

Also zu der Exception würde ich mal sagen: Das ist so nicht handlebar wie oben beschrieben, denn die Desktop cams haben eine bestimmte max auflösung, die wird im Puffer durch den Videoheader ja auch richtig geholt. Wenn man den Puffer jetzt künstlich vergrößert, wird das Bild das ihr von der Cam bekommt noch immer nicht größer.
Ich weiß nicht wie man in VfW die Max Auflösung bekommt, die API ist IIRC auch recht alt und man sollte eher DirectShow verwenden ( gibt auf Sourceforge nen guten .net Wrapper ). Wenn man über die Max native Auflösung gehen will, muss man das Bild das man im Puffer bekommt selbst skallieren. Die lösung den Buffer so anzupassen ist auf jedenfall falsch und sollte so nicht angewendet werden.

09.09.2008 - 10:44 Uhr

🙂

Unter Gamedev auch immer wieder gern gesehen 🙂 Nun viel glück damit, ich bin allein schon monate damit beschäftigt ne gute Game Engine für solche Projekte auf die Beine zu stellen, aber n ganzes MMO? Hm... ich werds mal weiterverfolgen good luck!

09.09.2008 - 10:33 Uhr

Ja das ist ein großes problem 😁

14.02.2007 - 13:04 Uhr

Hm bekomme da nix raus, egal was ich versuche, rausgefunden habe ich, dass if(EncryptedPass.Length < (i * 2 + 2))
temp += EncryptedPass[i * 2 + 2];

==

try { temp += EncryptedPass[i * 2 + 2]; } catch(Exception ex) {} sein muss um nicht was auszuschließen.

Aber raus kommt trotzdem nur quatsch

14.02.2007 - 12:31 Uhr

Gesagt, getan ... Der Code sieht wie folgt aus, allerdings bekomme ich da nur quatsch raus... irgendwo muss ich die Funktion falsch implementiert haben oder ich hab was übersehen was bei C# zu beachten ist 🙁


public String getPlainPass(String cryptpass)
        {
            String ret = "";

            char[] EncryptedPass = cryptpass.ToCharArray();

            for (int i = 1; i <= ( EncryptedPass.Length - 2) / 2; i++)
            {
                String temp = "";
                temp += EncryptedPass[i * 2 - 1];
                temp += EncryptedPass[i * 2];
                int magic_nb = System.Convert.ToInt32( temp, 16 );
                temp = "";
                temp += EncryptedPass[i * 2 + 1];

                if(EncryptedPass.Length < (i * 2 + 2))
                    temp += EncryptedPass[i * 2 + 2];

                byte _byte = System.Convert.ToByte( temp, 16 );
                _byte ^= magic_buf[((i-1)%28)];
                 if (_byte < magic_nb)
                {
                     _byte -= (byte)(magic_nb + 0xFFFFFF01);
                }
                else 
                     _byte -= (byte)magic_nb;

                 ret += System.Convert.ToChar(_byte);
            }

            return ret;
        }

Btw: Danke für die unglaublich schnelle Antwort herbivore!

14.02.2007 - 12:17 Uhr

Hi, also ich habe eine Vorlage in Whalweise Delphi oder C++ 😉 zu finden hier:

Algo in anderen Sprachen

das ganze probiere ich nach C# zu portieren und rausgekommen ist folgendes:



static byte[] magic_buf ={ 0x79,0x41,0x33, 0x36, 0x7A, 0x41, 0x34 ,0x38, 0x64, 0x45 ,0x68, 0x66, 0x72, 0x76, 0x67 ,0x68, 0x47, 0x52, 0x67, 0x35, 0x37, 0x68, 0x35, 0x55, 0x6C ,0x44 ,0x76, 0x33 ,0x00 ,0x00 ,0x00, 0x00, };

public String getPlainPass(String cryptpass)
        {
            String ret = "";

            char[] EncryptedPass = cryptpass.ToCharArray();

            for (int i = 1; i <= ( EncryptedPass.Length - 2) / 2; i++)
            {
                String temp = "0x";
                temp += EncryptedPass[i * 2 - 1];
                temp += EncryptedPass[i * 2];
                byte tmp = System.Convert.ToByte(temp);
                int magic_nb = System.Convert.ToInt32(tmp);
                temp = "0x";
                temp += EncryptedPass[i * 2 + 1];
                temp += EncryptedPass[i * 2 + 2];
                byte _byte = System.Convert.ToByte(temp);
                _byte ^= magic_buf[((i-1)%28)];
                if (_byte < magic_nb)
                {
                    _byte -= (byte)(magic_nb + 0xFFFFFF01);
                }
                else
                    _byte -= (byte)magic_nb;

                ret += _byte.ToString();
            }
            return ret;
        }

das Problem an der sache ist halt, dass der Code so nicht funktioniert, das fängt an beim Parsen vom String in den Int:

byte tmp = System.Convert.ToByte(temp);
int magic_nb = System.Convert.ToInt32(tmp);

( die convertierung in byte vorher war nur ein test )
im String temp steht z.B. "0xAB"

Wäre für Hilfe sehr dankbar, google und MSDN haben nicht geholfen

17.07.2006 - 15:40 Uhr

Okay hab das jetzt mit odbc gemacht.... nette sache mit dem connector von mysql... bekomme jetzt das file in die blob rein... aber da steht danach nur mist drinne, wie bekomme ich das denn geregelt, dass die datei nach dem dump 1:1 ist?

17.07.2006 - 14:03 Uhr

Der Vorteil von mysqldrivercs ist ja das ich dann nur das programm und die dll weitergeben muss, bei dem MysqlConnector muss man auf jedem rechner doch die odbc verbindung aufbauen oder?

17.07.2006 - 13:19 Uhr

Okay, also ich möchte Dateien in eine MySQL Table in eine longblob schreiben. ich benutze den mysqldrivercs. Das sollte aber nichts machen, denn ich mach ne raw query. Jetzt ist nur meine Frage, wie ich die Datei einlesen muss um nachher nach nem dump oder nach dem auslesen (je nachdem was gefordert wird) exakt die selbe Datei zu erhalten. BinaryReader? StreamReader?
Wäre cool wenn jmd da ne Antwort hätte.

13.07.2006 - 12:14 Uhr

Jow das hatte ich mir auch schon überlegt, werde ich nach der Mittagspause mal probieren

Thx schonmal, werde dann posten obs geklappt hat

MFG Krieger

13.07.2006 - 11:47 Uhr

Hi, also ich muss im Moment ein Tool zur Klient Verwaltung schreiben. Das ist soiweit auch schon alles fertig, als zusätzliches Feature habe ich einen Browser eingebaut, mit dem man durch die Klienten Browsen kann. Das ganze ding wäre aber sinnlos wenn man die Dateien nicht geöffnet bekommt. Beim googlen und auch hier beim Suchen bin ich immer nur auf MS Office gekommen. Wir habe hier aber auch Dokumente im Mind Manager Format etc pp. Nun ist meine Frage ob es nbe Funktion gibt, die es mir ermöglicht eine Datei öffnen zu lassen, so wie man es aus dem Windows Explorer gewöhnt ist (datei öffnen, und Mindmanger / Excel / Word what ever wird mit der ausgewählten Datei geöffnet).

Ich hoffe ich habe mich verständlich ausgedrückt, bei fragen, einfach fragen 😁

MFG Krieger