Laden...
A
Benutzerbeschreibung
Hier können Sie einen kurzen informativen Text eingeben, der in Ihrem Profil dargestellt werden soll.

Forenbeiträge von Afrokalypse Ingesamt 452 Beiträge

21.09.2010 - 11:04 Uhr

Hi Khalid,
ich habe vergessen die Funktion zu registrieren.
Jetzt klappt es 😃
Danke

21.09.2010 - 10:20 Uhr

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SqlServer.Server;
using System.Data.SqlTypes;
using System.Security.Cryptography;

namespace sha_hash
{
    public class UserDefinedFunctions

    {
        [Microsoft.SqlServer.Server.SqlFunction(IsDeterministic = true, DataAccess = DataAccessKind.None)]

        public static SqlBytes GetHash(SqlString Algorithm, [SqlFacet(MaxSize = -1)] SqlBytes Plaintext)
        {
            if (Algorithm.IsNull || Plaintext.IsNull)
                return SqlBytes.Null;
            bool HashDefined = true;
            HashAlgorithm Hash = null;
            switch (Algorithm.Value.ToUpper())
            {
                case "SHA256":
                    Hash = new SHA256Managed();
                    break;
                case "SHA384":
                    Hash = new SHA384Managed();
                    break;
                case "SHA512":
                    Hash = new SHA512Managed();
                    break;
                default:
                    HashDefined = false;
                    break;
            }
            if (!HashDefined)
            {
                throw new Exception("Unsupported hash algorithm - use SHA256, SHA384 or SHA512");
            }
            byte[] HashBytes = Hash.ComputeHash(Plaintext.Value);
            // Convert result to a SqlBytes value
            return new SqlBytes(HashBytes);
        }
    }
}

und


CREATE ASSEMBLY sha_hash FROM dateipfad WITH PERMISSION_SET = SAFE

Als Fehlermeldungen erhalte ich wenn ich den Assemblynamen mit nutze:

'Die "sha_hash"-Spalte oder die benutzerdefinierte Funktion bzw. das benutzerdefinierte Aggregat "sha_hash.UserDefinedFunctions.GetHash" wurde nicht gefunden, oder der Name ist mehrdeutig.'

VG

21.09.2010 - 09:42 Uhr

verwendetes Datenbanksystem: MSSQL2008

Hallo zusammen,
ich habe diesen Artikel entdeckt: http://sqlblog.com/blogs/michael_coles/archive/2009/04/16/13253.aspx

Laut MSDN http://msdn.microsoft.com/en-us/library/w2kae45k%28v=VS.80%29.aspx
soll man ein SQL Server Projekt erstellen. Ich habe VSEE2008, scheinbar habe ich diesen Projekttyp nicht.
Deshalb habe ich gehofft, dass man das ganze auch einfach per DLL machen kann.
also habe ich den Code als DLL erstellt und im MSSQL Server als Assembly hinzugefügt.

Bis hierhin hat alles funktioniert. Nur lässt sich die Funktion GetHash nicht aufrufen.
Ich erhalte immer die Meldung
"'GetHash' wird nicht als Name einer integrierten Funktion erkannt."

Frage1: Lässt sich das überhaupt als DLL mit VSEE2008 machen?
Frage2: Wenn ja, warum lässt sich die Funktion nicht aufrufen? Muss ich noch was beachten?

Danke für die Hilfe

Afr0

29.10.2009 - 10:39 Uhr

Danke für die Tipps.

Leider ist mir im Nachhinein aufgefallen, dass mein "Key" nicht immer eindeutig ist.
Dictionary<T> funktioniert da schon nicht mehr. Deshalb hab ichs erstmal doch wieder über object[][] geregelt.

Ich werde bei Zeit und Gelegenheit mal versuchen das per IEnumerable<T> und Dictionary oder Lookup zu lösen.

gruß
afr0

27.10.2009 - 11:00 Uhr

Hallo Gü,
das könnte doch was sein 😃
ich schau mir das mal an.

danke.

27.10.2009 - 10:48 Uhr

Hallo zusammen,
ich suche ein Objekt / eine Klasse in der ich folgendes realisieren kann:

Ich lade Daten aus einer Tabelle einer Datenbank. (bsp: username, vorname, nachname, email)

Die Werte möchte ich nun in meinem gesuchten Objekt wie folgt auslesen können

string vorname = objekt.next().value["vorname"];
string nachname = objekt.next().value["nachname"];

wobei objekt.next jeweils den nächsten usernamen liefert und value dann einen der dazugehörigen werte des usernamen liefert.

gibt es da schon eine passende klasse?
ich bin nicht sicher ob eine hashtable diese vorgehensweise unterstützen würde...

bisher habe ich es mit mehrdimensionalen arrays geregelt.
(string[][] user)
aber vllt gehts auch eleganter?
auf eine datatable würde ich auch gerne verzichten. 😃
danke für die hilfe
afr0

18.08.2009 - 14:26 Uhr

So ich hab das Problem gerade lösen können.
http://msdn.microsoft.com/en-us/library/fze2ytx2.aspx


request.proxy = null; 

und schon wird der Proxy umgangen 😃
Vielleicht hilfts ja auch anderen.

Gruß
Afr0

18.08.2009 - 11:23 Uhr

hallo zusammen.
ich mache einen ftpwebrequest auf einen server:


EventLogs logs = new EventLogs();
                logs.createLogFile();
                
                //Ein Request erstellen an den ftp Server
                FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://merinserver");
                request.EnableSsl = false;
                //Die Methode angeben um eine Datei hochzuladen
                request.Method = WebRequestMethods.Ftp.ListDirectory;
               
                //Berechtigungsdetails setzen vom ftp Server durch Username und Passwort
                request.Credentials = new NetworkCredential("user", "pass");           
                            
                //Versuch eine Verbindung zu erstellen und eine Antwort zu erhalten
                FtpWebResponse response = (FtpWebResponse)request.GetResponse();
                logs.writeFile("FROM CACHE: " + response.IsFromCache.ToString());  //ergebnis ist FALSE
                logs.writeFile("URI: " + response.ResponseUri.AbsoluteUri);  // ergebnis ist [URL]ftp://meinserver[/URL]            
                
                //Ein neuen Stream für den Response erstellen dem der FileStream mitgegeben wird.
                Stream responseStream = response.GetResponseStream();
                StreamReader sr = new StreamReader(responseStream, Encoding.Default);
               
                while (sr.Peek() > -1)
                {
                       //tu irgendwas
                }
....
....

dabei frage ich einen ordner ab mit ListDirectory. der Ordner ist definitiv leer 😃
als ftpwebresponse erhalte ich jedoch folgende meldung (wird in eine log datei geschrieben):


2009-08-18 11:09:21 : FROM CACHE: False
2009-08-18 11:09:21 : URI: ftp://meinserver
2009-08-18 11:09:21 : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2009-08-18 11:09:21 : <!-- HTML listing generated by Squid 2.6.STABLE12 -->
2009-08-18 11:09:21 : <!-- Tue, 18 Aug 2009 06:03:59 GMT -->
2009-08-18 11:09:21 : <HTML><HEAD><TITLE>
2009-08-18 11:09:21 : FTP Directory: ftp://user@meinserver/
2009-08-18 11:09:21 : </TITLE>
2009-08-18 11:09:21 : <STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}--></STYLE>
2009-08-18 11:09:21 : </HEAD><BODY>
2009-08-18 11:09:21 : <H2>
2009-08-18 11:09:21 : FTP Directory: <A HREF="/">ftp://user@meinserver/</A>/
...
...
<!-- hier kommt irgendwann eine datei, die aber nicht mehr auf dem server vorhanden ist -->
2009-08-18 11:09:21 : Generated Tue, 18 Aug 2009 06:03:59 GMT by irgendeinproxyserver.de (squid/2.6.STABLE12)
2009-08-18 11:09:21 : </ADDRESS></BODY></HTML>

ich möchte aber gerne wissen was wirklich auf dem ftp server liegt.
hat jemand ne idee wie ich das anders abfragen kann und an die infos komme, die ich wirklich brauche?

dank und gruß
afr0

28.07.2009 - 10:51 Uhr

Wo dN!3L das schon erwähnt:


>
ist evtl mal eine Lesestunde wert 😉. Dann dürfte auch das Hantieren mit object aufhören.

LaTino

Ich habe das hier Abfragen für mehrere Tabellen (LINQ to DataSet) überflogen und es damit auch versucht, meine Daten aus dem DataSet zu holen. Deshalb bin ich auch so an dem 'new' hängen geblieben 😃
Aber durchlesen werde ich es mir trotzdem noch mal.

Gruß
Afr0

28.07.2009 - 10:40 Uhr

Ah 😃
das mit dem new wusste ich nicht. Genau da lag der Fehler.

mit select tbin; funktionierts.

Vielen Dank 😃

28.07.2009 - 10:31 Uhr

select new
{
     tableItemArray = tbin.ItemArray; //object[]
}

Leider hilft mir IEnumerable<object[]> qry = null auch nichts da object[] auch kein AnonymousType ist.

@dN!3L:

ich mache 2 Abfragen auf unterschiedliche Datenbanken von unterschiedlichen Servern und hole mir so die Daten die ich brauche. Im Fall mit dem Join muss ich die Daten der beiden Server verbinden. Im Fall ohne Join ist das speziell auf eine Tabelle nicht möglich.

28.07.2009 - 10:15 Uhr

Hallo Golo,

Wenn Du doch eh ein AsEnumerable aufrufst, weißt Du doch, dass ein IEnumerable<T> zurückkommt.

Also nimm statt var einfach ein IEnumerable<T>, setz für T den korrekten Typ ein, und Du bist das Problem los.

soweitichweiß musst du nicht initialisieren, aber du mußt deklarieren (var geht hier nicht, weils eine Deklaration ist, die sich aus der Initialisierung ableitet)

C#-Code:
IEnumerabls<DataRow> qry = null;
...

Achso - nee, du selectest ja je was ganz anderes.
Dann gehts nicht, weils 2 verschiedene Typen sind - die kannste natürlich nicht in dieselbe Variable stopfen.

In dem Fall bekomme ich folgende Exception:

Fehler 1 Der Typ "System.Collections.Generic.IEnumerable<AnonymousType#1>" kann nicht implizit in "System.Collections.Generic.IEnumerable<System.Data.DataRow>" konvertiert werden.

Hab mich schon gefreut, dass es so einfach klappt. Aber dem ist wohl doch nicht so...
btw: die Exception wird bei "select new" geworfen...

welcher Typ entspricht denn AnonymousType#1? 😃

28.07.2009 - 09:50 Uhr

genau 😃

Fehler 1 Der Typ "System.Collections.Generic.IEnumerable<AnonymousType#1>" kann nicht implizit in "System.Collections.Generic.IEnumerable<System.Data.DataRow>" konvertiert werden.

vielleicht gibt es etwas in diese richtung:


var qry = from row in ds.Tables[0].AsEnumerable()
               case textVariable.Equals("bla")
                       join row2 in ds.Tables[1].AsEnumerable()
                       on 
                      .....
               case textVariable.Equals("blubb")
               //kein join
               select new ...

28.07.2009 - 09:32 Uhr

Hallo. Falls die Frage schonmal gestellt wurde, so bitte schlagt mich nicht, dann hab ich sie nämlich nicht gefunden 😃

Ich habe eine MySQL Tabelle auf der ich 2 unterschiedliche Abfragen mache.
Über einen String frage ich nun ab, welche Abfrage ausgeführt werden soll.

also "ist string = 'bla' dann führe abfrage1 aus, ist string = 'blubb' führe abfrage2 aus"

Ich möchte mit Linq To SQL nun das gleiche bei meinem DataSet durchführen.
Also die Linq To SQL Abfrage basierend auf der If Abfrage ändern.

also quasi sowas:


var qry = null; //funktioniert nicht, da hier initialisiert werden muss!
if (textVariable == "bla")
{
     qry  = from tbin ds.Tables[0].AsEnumerable()
                                  
     select new
     {
          //irgendwas
     };
}
else 
{
     qry  = from tbin ds.Tables[0].AsEnumerable()
               join ds.Tables[1].AsEnumerable() on 
               ... 
               ...                   
     select new
     {
          //irgendwas ganz anderes
     };
}

Leider funktioniert das so nicht, da ich der Nariable qry keinen typisierten Wert zuweisen darf / kann...

Ich habe was von Case Select Anweisungen in Linq To SQL gelesen aber weiß nicht wie diese funktionieren.

Kann mir hier jemand weiterhelfen?

Dank und Gruß
Afr0

03.07.2009 - 11:28 Uhr

Wenn mann dann noch an Case Sensitive denkt, funktioniert das auch 🙂

vielen dank. 👍

03.07.2009 - 10:56 Uhr

Hallo. 😃

ich erzeuge mit eine xml datei wie folgt:


this.xmlDoc = new XmlDocument();
                // XML Deklaration erzeugen
                XmlDeclaration xmlDec = this.xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", "yes");
                xmlDoc.AppendChild(xmlDec);
                // RootElement erzeugen
                root = this.xmlDoc.CreateElement("Root");
                xmlDoc.AppendChild(root);
XmlNode node = this.xmlDoc.CreateElement("Bereich");
            
            XmlAttribute attr = this.xmlDoc.CreateAttribute("ID");
            attr.Value = this.BereichsName;
             
            node.Attributes.Append(attr);                 
            root.AppendChild(node);
            ......
               

wenn ich nun mit


this.xmlDoc.GetElementById("BereichsNameXYZ");

versuche ein neues object zu erzeugen, so ist dieses immer null, da die id nicht gefunden wird.

jetzt habe ich gesehen, dass ich dem xmldocument auch ein xmlshema zuweisen kann. dort gibt es auch die eigenschaft id aber die hilft mir auch nicht weiter...

wie kann ich nun mit getelementbyid auf mein node mit dem attribut ID zugreifen?

danke für die hilfe.
afr0

29.04.2009 - 08:55 Uhr

Hi zusammen.

Ich suche nach einer Möglichkeit, einen Gehörschutz für Headsets zu programmieren.
Allerdings bin ich mir nicht ganz sicher, wie ich an die Sache ran gehen soll.

Eine Möglichkeit wäre, in Echtzeit den Audiostream durchgehend abzufragen (wenn das möglich ist...) und ab einem bestimmten Pegel das Headset auf "mute" zu schalten.
Vielleicht geht es aber auch eleganter.

Hat jemand eine Idee?

Gruß
Afr0

02.04.2009 - 11:23 Uhr

hi 😃

ich weiß nicht ob deine frage noch halbwegs aktuell ist, noch ob meine methode dir da weiter hilft.
ich habe auch mal mit dem rsacryptoprovider daten ver und entschlüsselt. zum entschlüsseln bin ich folgendermaßen vorgegangen:


public byte[] entschluesseln(byte[] zuEntschluesselndeDaten, RSAParameters
schluesselParameter, bool DoOAEPPadding)
{
   try
   {
      RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
      //Private Schlüsselparameter übergeben
      RSA.ImportParameters(schluesselParameter);
      //Entschlüsseln.
      return RSA.Decrypt(zuEntschluesselndeDaten, DoOAEPPadding);
   }
   catch (CryptographicException e)
   {
      Console.WriteLine(e.ToString());
      return null;
   }
}

siehe: MSDN: RSACryptoServiceProvider-Konstruktor (CspParameters)

27.03.2009 - 15:31 Uhr

da es scheinbar nicht möglich ist, der datatable an der stelle die richtigen infos zu geben, habe ich es jetzt ohne geregelt.

falls jemandem doch noch eine idee dazu einfällt, kann er sie ja trotzdem posten.

gruß
afr0

27.03.2009 - 15:22 Uhr

hi zusammen.
ich versuche gerade ein script zu schreiben, welches den putty ssh agent pageant.exe mit vorgegebenem private key und dessen passphrase startet...

bis zum key komme ich ganz einfach mit C:\pageant.exe C:\private.ppk
aber jetzt fehlt mir ein parameter für die übergabe der passphrase.
weiß jemand von euch, wie ich die passphrase mit übergeben kann?
oder hat jemand ne andere idee als cli parameter?

dank und gruß
afr0

26.03.2009 - 08:33 Uhr

Hi zusammen.
ich benutze zum schreiben von daten in eine datatable den .net odbc provider:

Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=c:\txtFilesFolder;Extensions=asc,csv,tab,txt;

mit einem streamreader lese ich csv daten aus einer datei und schreibe sie in eine datatable.

streamreader.currentencoding sagt mir, dass das format unicode utf-8 ist.
mit einem streamwriter schreibe ich die daten aus der datatable in eine neue datei.
streamwriter.encoding ist streamreader.currentencoding. so sollte doch die zeichenkodierung richtig bleiben oder?

bleibt sie aber nicht.

ich habe jetzt alle möglichen kodierungen versucht. (programmierhans' zeichensatztester sei dank)
aber keine schreibt mir die daten richtig in die csv datei. umlaute werden immer falsch dargestellt.

meine frage nun: kann ich irgendwie für csv dateien mit odbc ne kodierung angeben oder die kodierung an meine datatable übergeben?

dank und gruß
afr0

19.03.2009 - 15:53 Uhr

Ich habe mich jetzt in die sipek api ein wenig eingearbeitet.
die verbindung damit funktioniert sehr gut, jetzt geht es an die sprachübertragung.
im beispiel softphone wird die wavelibmixer.dll benutzt, dort wird der zugriff auf die soundkarten scheinbar geregelt.

13.03.2009 - 08:29 Uhr

hallo zusammen,
ich möchte ein softphone entwickeln und habe mich erstmal ein wenig hier im forum umgeschaut und mir ein paar infos zusammengesucht. aber ein paar fragen sind immer noch offen.

ich lege einfach mal los:
so ein softphone muss ja gewisse bedinungen erfüllen (sprache entgegennehmen - weiterleiten - ausgeben, protokolldaten verarbeiten, etc...)

deshalb war mein erster gedanke "wie erkennt mein softphone, dass ich spreche?".
und so ganz sicher bin ich mir dabei immer noch nicht. ich weiß, dass es API's gibt, wie bass.net oder das directx sdk. wird in dem fall das erkennen der sprache und das wiedergeben darüber gesteuert? oder macht das eventuell schon eine SIP API? (ich gehe eher von erstem aus)

da ich das softphone vielleicht um funktionen erweitern will, dachte ich, dass die entsprechende api für voip schon etwas können muss. entweder das SIP protokoll oder IAX sollen auf jeden fall genutzt werden.

auch hier gibt es die ein oder andere info. so weiß ich wohl, dass es pjsip gibt oder eben auch eine kommerzielle api von independentsoft.
wie sind eure erfahrungen damit und welche könnt ihr empfehlen (auch im hinblick auf eine mögliche kommerzielle entwicklung)?

welche erfahrungen habt ihr mit dem iax protokoll?

so das wars erstmal 😃
ich freue mich über eure rückmeldungen

06.03.2009 - 09:41 Uhr

danke für die antworten.

das problem hat sich nun gelöst. die dll benötigt abhängigkeiten des zu der dll gehörenden programms 😃
es ist ne .net dll deshalb konnte ich diese auch nicht registrieren.

gruß
afr0

06.03.2009 - 08:08 Uhr

Hi Juka,
A) Externe DLL (ich denke mal eine .NET DLL)
B) hab auf nem fremden pc mit entwicklungsumgebung getestet und als fehlermeldung filenotfoundexception auf die dll bekommen
c) nein

ich habe gerade den tipp bekommen, dass es am registrieren der dll liegen kann.
ich registriere die dll jetzt mal auf dem fremd pc und werde mich dann noch mal melden 😃

06.03.2009 - 07:36 Uhr

guten morgen,
ich habe gestern noch mal nach ähnlichen themen gegooglet dabei bin ich auf eine ähnliche frage gestoßen und dort hieß es, dass man dll's ins debug verzeichnis packen soll. das hat mir aber auch nicht geholfen.

kann es vielleicht an der dll liegen?
ich stehe hier wirklich auf dem schlauch... X(

gruß
afr0

05.03.2009 - 15:21 Uhr

hallo zusammen.

ich habe eine dll die ich mittels 'verweis hinzufügen' in ein projekt von mir hinzugefügt habe. diese funktioniert bei mir auf dem pc, wo das projekt erstellt wurde, auch wunderbar.

wenn ich das erstellte release (die dll befindet sich im ordner release) nun von einem fremden pc starten will, findet dieser die dll nicht. beim debuggen ist mir aufgefallen, dass versucht wird, die dll im projektpfad zu finden aber nicht im verzeichnis, wo die anwendung gestartet wird...

wie kann ich das ändern, dass die dll an richtiger stelle gesucht wird?
dank im voraus
afr0

12.02.2009 - 17:02 Uhr

Sorry für Doppelpost aber das wollte ich gerne extra schreiben.

Danke XXX deine Variante funktioniert super.
Dieses Konstrukt kenne ich gar nicht. Wo kann ich das noch mal genauer nachlesen? Hast du dazu vllt einen Link?

Dank und Gruß
afr0

12.02.2009 - 16:54 Uhr

die klassen die ich nutze sind aus einer dll. die dll kann ich nur einbinden und die klassen verwenden. überladen geht nicht, da es sich um ein client server gebilde handelt und in dem fall eine exception seitens dll (client version not allowed) geworfen wird.

die event methode übergibt nur einen parameter und das ist eine weitere klasse aus der dll.

als beispiel nehme ich mal mehrere gameserver auf denen mehrere spiele laufen können. ein spiel kann auf mehreren servern gespielt werden.
der GameMonitor überwacht die spiele


private void btn1_Click(object sender, EventArgs e)
{
 GameServer gm = new GameMonitor();
 gm.Username = "user1";
 gm.Password = "pass1";

 gm.OnRefreshGame +=
 new GameMonitor.OnRefreshGameEventHandler(gm_OnRefreshGame);
 gm.Start();
}

void gm_OnRefreshGame(Game g)
{
 //auslesen welches spiel gespielt wird. hier gibts keine verbindung zwischen spiel
 //und GameMonitor mehr.
 Console.WriteLine(g.GameName);
}

ich hoffe es ist jetzt verständlicher 😃

@ XXX:
wenn ich deinen code richtig verstehe, kann ich so also das event 'erweitern'?
gruß

12.02.2009 - 11:18 Uhr

aufs delegate kann ich nicht zugreifen, da ich aus ner dll eines fremdanbieters zugreife...

danke 😃 die infos haben mir schon gereicht.
code kann ich momentan leider nicht liefern... aber ich denke dictionary wird das sein was ich brauche.

12.02.2009 - 11:05 Uhr

mein problem ist folgendes:
ich erstelle ca 30 instanzen dieser klasse. jede instanz reagiert auf das event.
wenn das event gefeuert wird, wird als parameter eine andere klasse erzeugt über die ich infos bekomme. nun muss ich wissen welche info zu welcher übergeordneten klasse gehört.

also ich habe myclass mit dem event

und ich habe anotherclass mit den infos.

anotherclass kann nun durch myclass1 oder auch durch myclass20 erzeugt worden sein... das weiß ich aber nicht.

und ich möchte nur ungern 30 instanzen der klasse manuell anlegen...
ich dachte es gibt da vllt ne möglichkeit das zu umgehen 😃
in vb zum beispiel kann man klassen indizieren indem man ein array anlegt. dann kann man dem event den index aus dem array zuweisen. soweit ich weiß gibts sowas aber nicht in c# oder?

12.02.2009 - 10:56 Uhr

als objekt wird nur eine andere klasse übergeben. deshalb komme ich hier gerade nicht weiter... 😦

einzige möglichkeit die ich momentan sehe, ist, dass ich x einzelne instanzen anlege
also newclass instanz1 = new newclass
newclass instanz2 = ....

und jeder instanz nen eigenes event zuweise.
ist aber keine schöne lösung....

12.02.2009 - 10:48 Uhr

hi zusammen 😃

ich habe eine dll auf die ich zugreife. diese enthält eine klasse myclass.
in einer schleife erzeuge ich nun mehrere instanzen dieser klasse und weise mit


myclass.onevent+= new myclass_onevent(methode);

myclass_onevent(andere klasse k)
{

}

jeder instanz ein event zu. alle instanzen reagieren nun auf ein event. wie kriege ich nun heraus, von welcher instanz das event aktuell angesteuert wird?

ich hoffe das war verständlich 😃

dank und gruß
afr0

11.02.2009 - 15:32 Uhr

man man...

wenn man sowas noch nie gemacht hat, ist man doch immer wieder überwältigt davon, wie einfach die lösung ist schäm

danke für die schnelle antwort. hat super geklappt 😃

11.02.2009 - 15:21 Uhr

hi zusammen,
ich habe über die suche leider nicht das passende gefunden...

ich habe eine projektmappe1 in der ich ein neues projekt (projektneu) anlege.
dann habe ich ein fertiges projekt (projektalt) aus einer anderen projektmappe2.
dieses projektalt möchte ich nun in projektmappe1 einbinden und deren klassen und funktionen in projektneu benutzen.

Projektmappe > Hinzufügen > vorhandenes Projekt

soweit so gut. aber wie komme ich nun von meinem projektneu an die funktionen und klassen aus projektalt? muss ich hier erst eine dll des projektes erstellen oder geht das auch anders?

ich steh da gerade echt auf dem schlauch...

danke im voraus
Afr0

14.01.2009 - 09:57 Uhr

hallo zusammen,

ich habe 2 audiodateien (wav, sender und empfänger als datei) die ich zu einer datei (mp3) zusammenfügen möchte. ich habe mir überlegt dass ich dafür 2 audiokanäle in einer datei benutze um diese zusammenzufügen.

audiodateien von wav nach mp3 zu konvertieren wäre kein problem. bisher habe ich dafür auf die lib's von lame und sox zurückgegriffen. aber das zusammenfügen von 2 dateien macht mir sorgen...
leider weiß ich nicht genau wo ich anfangen soll.

hat jemand ein paar schlagwörter für mich, damit ich mich da genauer einlesen kann?

dank und gruß

afr0

16.12.2008 - 16:37 Uhr

danke für deine schnelle antwort 😃

ich glaub ich habe da was durcheinander gebracht. bin mir noch nicht sicher ob es der oledbconnectionstringbuilder war den ich meinte. wahrscheinlich war es ein codebeispiel mit eigener klasse und dropdownmenü in dem man die datenbank wählen kann und die klasse automatisch den richtigen connectionstring liefert....

trotzdem danke 😃

16.12.2008 - 15:59 Uhr

Hallo zusammen.

ich habe mal im .net framework 2.0 eine klasse gesehen, mit der man unterschiedliche datenbankzugriffe (mssql, oracle, zugriff über oledb oder odbc.....) kapseln kann.
leider finde ich diese klasse nicht mehr... ich kann mich nur noch wage daran erinnern, dass man dort unterschiedliche connectionstrings und - ich glaube auch - datenbanken angeben konnte.

vllt kann mir jemand weiterhelfen und weiß was ich suche 😃

Gruß
Afr0

19.11.2008 - 14:30 Uhr

Hi 🙂
danke für die Antworten. Ich dachte es gibt vllt einfach eine elegante Lösung, die das über zB ein Steuerelement ermöglicht 🙂

Habe es aber jetzt doch so gemacht wie es anfangs von mir geplant war. Trotzdem danke.


//pointer
Point mausbewegung;

//picturebox unten rechts an der form anlegen und dort mit events arbeiten
private void pictureBox2_MouseDown(object sender, MouseEventArgs e)
        {
            this.mausbewegung = e.Location;
        }

        private void pictureBox2_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                this.Size = new Size(this.Width + (e.X - mausbewegung.X),this.Height + (e.Y - mausbewegung.Y));
            }
        }

19.11.2008 - 09:50 Uhr

Hallo zusammen 🙂

gibt es eine einfache Möglichkeit eine Windows Applikation bzw deren Form zu vergrößern / verkleinern, wenn der FormBorderStyle auf None gestellt ist?

Ich könnte die Mausposition innerhalb meiner Form abfragen und wenn sie sich am Rand der Form befindet bei einem Mousedown/MouseMove Event einen Resize ermöglichen. Aber die Lösung gefällt mir nicht... gibts da was eleganteres?

Gruß
Afr0

07.07.2008 - 15:26 Uhr

sorry, dass ich mich so spät erst melde. hat auf jeden fall so wunderbar funktioniert. danke nochmal 🙂

03.07.2008 - 17:28 Uhr

hey auf die einfache idee bin ich gar nicht mehr gekommen. danke.
ich werde das morgen früh mal testen und nen feedback geben 🙂

mfg
afr0

03.07.2008 - 16:28 Uhr

Hi 🙂

Ist es möglich mit einem DataTable Objekt eine neue Tabelle für eine Datenbank zu erstellen?

ich hab an sowas gedacht:


DataTable dt = this.myAccessConnection.MyDataSet.Tables.Add("Temp");

Soweit funktioniert auch alles. Nur wenn ich dann per OleDB ein dataAdapter.Update()
durchführe, erhalte ich immer folgende OleDbException:

Das Microsoft Jet-Datenbankmodul findet die Eingangstabelle oder Abfrage 'Tabellenname' nicht. Stellen Sie sicher, dass sie existiert und der Name richtig eingegeben wurde.

Soweit ich das richtig verstanden habe, wird hier die Tabelle nicht als Datenbank-Tabelle erkannt oder der Tabellenname wird nicht richtig erkannt.
Hat jemand ne Idee, wie ich diese Tabelle als Datenbank-Tabelle nutzen kann?

dank im voraus
Afr0

24.06.2008 - 17:01 Uhr

Hey 🙂
sobald ich hier ins forum schreibe, erhalte ich den geistesblitz den ich brauche 😁

mir war nicht klar, dass ich erst eine neue datatable erstellen muss und dort die werte aus meiner datagridview einfügen muss und diese dann übergeben wird.

danke 🙂

24.06.2008 - 16:24 Uhr

hi leute,
ich hänge gerade an einem großen verständnisproblem und komme nicht weiter.
folgendes szenario:

ich habe 2 datagridviews die über nen dataset per oledbconnection gefüllt werden.
dabei erhält datagridview2 die daten aus ner access db
die views match ich über die spalte kundennr. wenn die anderen spalten sich unterscheiden soll meine datagridview2 ne aktualisierung bekommen.
soweit so gut.
wenn das passiert ist, möchte ich die aktualisierten werte meiner datagridview2 in access schreiben. anfangs ist meine access db leer allerdings ist die spalte kundennr ein primärschlüssel (int)

das heißt dass im ersten schritt alle daten der datagridview1 in datagridview2 geschrieben werden und dann die leere access db neu gefüllt wird.

was das befüllen der access db angeht, habe ich hier im forum schon geschaut und auch beispiele mit oledbparameter gesehen.
allerdings funktioniert das nicht bei mir und da liegt auch der haken. sobald ich meine daten an access übergeben möchte, was ich folgendermaßen mache


public void importToDB(DataTable dt)
        {
                string insertSQL = "INSERT INTO MeineTabelle(Kundennr,Anrede,...)"+
                "VALUES(@p0,@p1,...)";
                string updateSQL = "UPDATE MeineTabelle SET Kundennr = @p0, Anrede= ..... WHERE Kundennr = @p0";

                OleDbCommand insertCmd = new OleDbCommand(insertSQL, this.myConnection);
                OleDbCommand updateCmd = new OleDbCommand(updateSQL, this.myConnection);   

            try
            {
                insertCmd.Parameters.Add("@p0", OleDbType.BigInt, 12, "Kundennr");
                .....
                updateCmd.Parameters.Add("@p0", OleDbType.BigInt, 12, "Kundennr");
                .....               

                this.myAdapter.InsertCommand = insertCmd;
                this.myAdapter.UpdateCommand = updateCmd;

                this.myAdapter.Update(dt);
             }
               .....

stellt sich heraus, dass die OledbParameter alle 'NULL' als wert erhalten. Wahrscheinlich benutze ich die Parameter falsch allerdings weiß ich nicht genau an welcher stelle und wie ich diese hier richtig nutzen soll.

alles was ich mache, ist diese methode mit


this.myAccessConnection.importToDB((DataTable)this.dataGridView2.DataSource);

aufzurufen und somit auch eine gefüllte datatable zu übergeben. aber die daten kommen nicht bei den parametern an....
was mache ich hier falsch?

ich hoffe das war verständlich und jemand kann mir helfen.
mfg
Afr0

10.06.2008 - 14:13 Uhr

Habs jetzt so gelöst, dass ich nach dem abfragen des sheet namens die applikation mit
exlApp.Quit();
einfach beende.

😉

10.06.2008 - 13:28 Uhr

Hi leute 🙂

ich hab über die sufu und google nicht das gefunden was ich eigentlich suche...
ich habe eine excel tabelle bestehend aus nur einem excelsheet. um diese tabelle in mein datagrid zu zaubern brauche ich ja den namen des excelsheets.

wie kann ich den namen des sheets abfragen ohne excel gleich mit zu starten bzw die dazugehörige datei zu öffnen?!

ich weiß dass ich so



Excel.Application exlApp = new Excel.Application();

Excel.Workbook wb = exlApp.Workbooks.Open(filename, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

Excel.Worksheet wc = (Excel.Worksheet)wb.Worksheets[1];

an das worksheet komme. aber hier öffne ich ja gleich das dokument und genau das will ich nicht.

hat jemand ne idee wie ich an den namen vom excel sheet komme?

mfg
Afr0

27.03.2008 - 23:03 Uhr

*EDIT*
vielleicht ein problem mit dem dataadapter?

hab das gerade gefunden:

'Durch die Methode Fill werden keine Informationen zu Primärschlüsseln geladen. Um dieses standardmäßige Verhalten zu ändern, können Sie die Eigenschaft MissingSchemaAction des DataAdapter-Objekts zu MissingSchemaAction.AddWithKey ändern, wodurch die Primärschlüssel-Metadaten zusammen mit den Standardinformationen geladen werden. Beispiel:
'

21.03.2007 - 18:17 Uhr

hi leute. sorry dass ich mich erst so spät melde. ich habs mittlerweile hinbekommen, meine form im desktopbereich zu bewegen.
das ganze realisiere ich mit MousePosition und der Klasse SystemInformation um den virtuellen arbeitsbereich abzufragen. so kann ich auch bei mehreren monitoren die form von einem zum nächsten monitor schieben 🙂

07.03.2007 - 06:55 Uhr

danke, werd ich mal versuchen 🙂