Laden...

Forenbeiträge von Jabi Ingesamt 222 Beiträge

04.03.2008 - 10:01 Uhr

derzeit bin ich bei world4you: World4You

Habe dort einen DOmainserver Pro mit 4 gb derzeit mit .net 2.0 am laufen

für 15 euro im monat ist das sehr günstig, ich weis nicht wie das mit den rootserver so ist aber dort gäbe es auch einen start server für 39 ,- wäre auch eine überlegung

derzeit benützen wir in der firma nur noch für unseren online shop php und mussten daher einen extra windows server anmieten für die asp.net sachen ....
da sich world4you damals schon weigerte php auf einem windows server zu installieren ....

keine ahnung ob es zum preis leistungsverhältnis bessere miet server gäbe ....

03.03.2008 - 19:56 Uhr

es geht mir darum das .net 3.5 installiert wird

ob das viel arbeitsaufwand ist oder wenig die server lafuen derzeit mit .net 2.0
das die feature liste nicht wirklich viel großer ist ist mir bewusst 🙂
dennoch muss man auf manche sachen verzichten mit .net 2.0

03.03.2008 - 17:58 Uhr

Hallo liebe Community,

Heute habe ich bei meinem Provider angefragt ab wann asp.net 3.5 / .net 3.5 zur verfügung steht, da ich gerne mit Silverlight 1.1 web apps entwickeln würde und auch andere neuheiten von .net 3.5 gerne nutzen möchte...

der Provider schrieb mir zurück das eine asp.net 3.5 unterstützung in absehbarer zeit nicht vorgesehen ist ....
nun stellt sich die Frage:
Ist es wirklich soviel arbeit .net 3.5 am server zur verfügung zu stellen oder kennt sich da etwa der provider nicht aus ?

so weit ich weis muss man doch einfach nur .net 3.5 am server installieren um die features nutzen zu können oder irre ich mich da etwa?

ich kenn mich mit der materie leider nicht so aus und würde morgen halt gerne ein paar gute argumente beim Provider vorbringen um doch zu meinem ziel zu kommen.

da vs 2008 die tage bei mir eintrifft 🙂

lg Jabi

18.02.2008 - 19:38 Uhr

kleines beispiel


 private delegate void SetLabelTextDelegate(Control ctrl, Label lbl, string value);
        private static void _SetLabelText(Control ctrl, Label lbl, string value)
        {
            lbl.Text = value;
        }
        public static void SetLabelText(Control ctrl, Label lbl, string value)
        {
            ctrl.Invoke(new SetLabelTextDelegate(_SetLabelText), new object[] { ctrl, lbl, value });
        }

private void button1_Click(object sender, EventArgs e)
        {
            Thread t = new Thread(MyThread);
            t.Start();
        }
// label1 wird hier als beispiel label genommen
private void MyThread()
        {
            SetLabelTex(this,label1,"TEST");
        }

sollte dir weiterhelfen

12.02.2008 - 20:48 Uhr

du musst value natürlich auch einen wert zuweisen

zb:


int value = 55;

Bass.BASS_SetVolume(value);

//Volume wird auf 55 gesetzt


nur als beispiel ...

31.01.2008 - 15:07 Uhr

iTextSharp

Dort solltest du fündig werden 🙂

19.01.2008 - 16:54 Uhr

ja klar hab ja mit dem passwort vollen zugriff auf den ftp

bei meiner probe solange das file am ftp server ist kann kein neues raufgespielt werden also kann was beil löschvorgang nicht stimmen..... als exception kommt glaub ich dann ein timeout ... wäre vielleicht intressant die ftp logs mitzuschreiben beim update ...

19.01.2008 - 15:26 Uhr

heist pure ftp

das hat der server ausgespuckt wenn ich mich mit filezilla conecte



Antwort:	220-Welcome to Pure-FTPd.
Antwort:	220-You are user number 5 of 400 allowed.
Antwort:	220-This is a private system - No anonymous login
Antwort:	220 You will be disconnected after 15 minutes of inactivity.


19.01.2008 - 12:06 Uhr

das hat jetzt ncihts mit dem ISS ftp zu tun aber
wenn ich die server version aktualisieren wollte konnte er das nciht weil er dieverse Dateien nciht löschen könnte weil keine rechte war aber mit passwort angemeldet ....

16.01.2008 - 14:54 Uhr

irgendwie haut mit der neuen version nicht mehr viel hin ...

der updater wird manchmal nicht gestartet nach dem download des paketes

der download startet manchmal nicht und angegebene Prozesse werden ab und an nciht beendet weis nicht wieso ...

edit:

was noch oft passiert das der updater beim punkt lösche alte daten einfach stehen bleibt und zwar bei der letzten zu löschenden datei

16.01.2008 - 14:12 Uhr

habe noch was gefunden

wie ich die server version aktualisieren wollte gings bei mir auch nicht, erst als ich die daten vom ftp server gelöscht habe gings auch mit dem upload

10.01.2008 - 14:01 Uhr

KUpdater

hier findest du sicher die passende lösung
kann ich nur weiterempfehlen

10.01.2008 - 11:16 Uhr

Also Anwendungspfad ish nicht umbedingt gleich Pfad von K_Update.dll!
Bei mir ist die dll und die assembly die es ausführt zwei unterordner drunteer!
Also vielleicht in den K_Settings den application Path zum angeben machen - sonst eben die oben genannte sache.

das update wird ja von der update.exe ausgeführt die heruntergeladen wird ?

dort sollte die methode mit dem programmpfad eingefügt werden

oder habe ich da irgendwas falsch verstanden

den programmpfad beim admin mitgeben geht ja nciht da jeder wo anders das programm installiert haben könnte

heikles thema 🙂

10.01.2008 - 08:23 Uhr

zum löschen

die update exe wird ja mit ins programmverzeichnis gespielt ?
einfach die zu löschenden daten + eventuelle unterordner in die xml datei mit einbinden dann mit


// using System.Reflection;
// using System.IO;
public static string ApplicationPath
        {
            get
            {
                return Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            }
        }


den programmpfad rausholen und dann einfach ein FileInfo Object erstellen

prüfen ob das file existiert wenn ja dann löschen

so in etwa hätt ich mir das vorgestellt

ich kann dir auch gerne eine klasse dazu zusammen schreiben damit wir das update schneller bekommen

müsstest dann nur für die xml datei sorgen wo die ganzen pfade bzw dateinamen drinnen stehen ...?

08.01.2008 - 13:03 Uhr

frage ...
wird in der nächsten version das löschen von dateien enthalten sein ?

08.01.2008 - 11:13 Uhr

also ich habe bei der ganzen sache ein bischen gemogelt....

und zwar hab ich mir ein Project (dll) erstellt in dem ich meine ganzen resourcen rein gestellt habe ....

dann bin ich ins Resource designer file hinein und hab einfach internal mit public getauscht und schon waren die resourcen zugänglich für mich

einfach einen using hinzugefügt: (remResourceCore = namespace )


using images = remResourceCore.Properties.Resources;

und dann ausgelesen mit


Image img = images.arrow_right;

vielleicht nicht ellegant aber stort mich ned .....
soviel dazu wenn du alles in einem project/projectmappe hast ....

ansonsten kann ich auch nur auf JuyJuka verweisen

07.01.2008 - 09:36 Uhr

kopier doch einfach die nötigen files und schreib die namespaces um

22.12.2007 - 11:25 Uhr

eine fehlermeldung wäre vielleicht sehr hilfreich 🙂

21.12.2007 - 22:19 Uhr

die Ajax dll einfach in den Bin Ordner legen und in die webconfig einbinden so wie beschrieben dann funktionierts

21.12.2007 - 09:19 Uhr

// DataGridView = dgvWork
string strValue = null;

for (int i = 0; i < dgvWork.Rows.Count; i++)
                {
                    //auslesen:
                   strValue = dgvWork.Rows[i].Cells["Columnname"].Value.ToString()
                   // oder über Column index hier die 3te Spalte
                   strValue = dgvWork.Rows[i].Cells[2].Value.ToString()
                    }

21.12.2007 - 07:55 Uhr

könntest du den Source bitte als .cs Datei anhängen? Das Rauskopieren ist nervig.

kleingeschnitten und vorgekaut auch ? 🙂

sei doch nicht so faul
War sicher mehr als genug arbeit für Ihn das ganze zu schreiben 🙂

19.12.2007 - 12:54 Uhr

@kleines eichhörnchen.. das problem ist ja das die sounds ja schon nacheinander abgespielt werden es sollte funktionieren das mehrere zugleich wiedergegeben werden oder das wenn sound 1 bei der hälfte ist schon sound 2 starten kann

@ svenson danke für die links ich seh mir das mal an 🙂

19.12.2007 - 11:57 Uhr

Hallo liebe Community,

Grundszenario:
Ich lasse in meiner Anwendung in verschiedenen Methoden Sounds abspeilen, mit dem System.Media.Soundplayer.

Meine ganzen Sounds sind in einer Klasse definier folgend:


public  class Play
    {
        private static MCIPlayback soundplayer;
        private static Assembly assembly;
        private const string  ResourceAssemblyName = "remResourceCore.dll";
        private const string  ResourceAssemblyNamespace = "remResourceCore.Resources";
        //private static Thread tMainSound;
        public  enum Sounds
        {
            Current_Exception_Sound,
            Exception_Sound2,
            transfer_updater_complete,
            ProgramAlreadyExists,
            rem_signal,
            auth_denied,
        }
        private static void ThreadedPlay(object sp)
        {
            try
            {
                SoundPlayer spl = (SoundPlayer)sp;
                spl.PlaySync();
                spl.Dispose();
            }
            catch (ReminderException) { }
            catch (MCIPlaybackException) { }
            catch (Exception) { }
        }
        private static void ThreadedMCI_Mp3Play(object filepath)
        {
            try
            {
                soundplayer = new MCIPlayback();
                soundplayer.Open((string)filepath, "mpegvideo");
                soundplayer.Play();
            }
            catch (ReminderException) { }
            catch (MCIPlaybackException) { }
            catch (Exception) { }
        }
        public static void Sound(Sounds sounds)   
        {
            switch (sounds)
            {
              case (Sounds.rem_signal):
                    try
                    {
                        assembly = Assembly.LoadFile(CCentral.ApplicationPath + "\\" + ResourceAssemblyName);
                        SoundPlayer sp = new SoundPlayer(assembly.GetManifestResourceStream(ResourceAssemblyNamespace + ".rem_signal.wav"));
                        Thread tMainSound = new Thread(new ParameterizedThreadStart(ThreadedPlay));
                        tMainSound.Start(sp);
                        sp.Dispose();
                    }
                    catch (ReminderException) { }
                    catch (MCIPlaybackException) { }
                    catch (Exception) { }
                    break;
                case (Sounds.got_mail_master):
                    try
                    {
                        assembly = Assembly.LoadFile(CCentral.ApplicationPath + "\\" + ResourceAssemblyName);
                        SoundPlayer sp = new SoundPlayer(assembly.GetManifestResourceStream(ResourceAssemblyNamespace + ".got_mail_master.wav"));
                        Thread tMainSound = new Thread(new ParameterizedThreadStart(ThreadedPlay));
                        tMainSound.Start(sp);
                        sp.Dispose();
                    }
                    catch (ReminderException) { }
                    catch (MCIPlaybackException) { }
                    catch (Exception) { }
                    break;
                case (Sounds.receive_transmission_kirk):
                    try
                    {
                        assembly= Assembly.LoadFile(CCentral.ApplicationPath +"\\"+ResourceAssemblyName);
                        SoundPlayer sp = new SoundPlayer(assembly.GetManifestResourceStream(ResourceAssemblyNamespace + ".st_kirk1.wav"));
                        Thread tMainSound = new Thread(new ParameterizedThreadStart(ThreadedPlay));
                        tMainSound.Start(sp);
                        sp.Dispose();
                    }
                    catch (ReminderException) { }
                    catch (MCIPlaybackException) { }
                    catch (Exception) { }
                    break;
                case(Sounds.Current_Exception_Sound):
                    try
                    {
                        assembly= Assembly.LoadFile(CCentral.ApplicationPath +"\\"+ResourceAssemblyName);
                        SoundPlayer sp = new SoundPlayer(assembly.GetManifestResourceStream(ResourceAssemblyNamespace + ".unableToComplete.wav"));
                        Thread tMainSound = new Thread(new ParameterizedThreadStart(ThreadedPlay));
                        tMainSound.Start(sp);
                        sp.Dispose();
                    }
                    catch (ReminderException) { }
                    catch (MCIPlaybackException) { }
                    catch (Exception) { }
                    break;
                    case (Sounds.Exception_Sound2):  
                    try {
                        assembly= Assembly.LoadFile(CCentral.ApplicationPath +"\\"+ResourceAssemblyName);
                        SoundPlayer sp = new SoundPlayer(assembly.GetManifestResourceStream(ResourceAssemblyNamespace + ".exception_sound2.wav"));
                        Thread tMainSound = new Thread(new ParameterizedThreadStart(ThreadedPlay));
                        tMainSound.Start(sp);
                        sp.Dispose();
                    }
                    catch (ReminderException) { }
                    catch (MCIPlaybackException) { } 
                        
                    break;
                case (Sounds.ProgramAlreadyExists):
                    try {
                        assembly= Assembly.LoadFile(CCentral.ApplicationPath +"\\"+ResourceAssemblyName);
                        SoundPlayer sp = new SoundPlayer(assembly.GetManifestResourceStream(ResourceAssemblyNamespace + ".app_already_inUse.wav"));
                        Thread tMainSound = new Thread(new ParameterizedThreadStart(ThreadedPlay));
                        tMainSound.Start(sp);
                        sp.Dispose();
                    }
                    catch (ReminderException) { }
                    catch (MCIPlaybackException) { }
                    break;
                case (Sounds.transfer_updater_complete):
                    try
                    {
                        assembly= Assembly.LoadFile(CCentral.ApplicationPath +"\\"+ResourceAssemblyName);
                        SoundPlayer sp = new SoundPlayer(assembly.GetManifestResourceStream(ResourceAssemblyNamespace + ".transfer_updater_complete.wav"));
                        Thread tMainSound = new Thread(new ParameterizedThreadStart(ThreadedPlay));
                        tMainSound.Start(sp);
                        sp.Dispose();
                    }
                    catch (ReminderException) { }
                    catch (MCIPlaybackException) { }
                    catch (Exception) { }
                    break;
            }
        }
    }

aufgerufen wirds in der Anwendung dann logischerweise so:


Play.Sound(Play.Sounds.Current_Exception_Sound);

Zum Problem:
Obwohl ich jeden Sound( SoundPlayer ) in einem eigenen Thread starte, kann ich immer nur einen Sound abspielen
hab ich in meiner anwendung jetzt einen aufruf:


Play.Sound(Play.Sounds.Current_Exception_Sound);
Play.Sound(Play.Sounds.rem_signal);

Wird rem_signal so lange nicht abgespielt bis Current_Exception_Sound beendet ist

dabei wird doch für jeden sound ein eigener thread bzw ein neuer thread verwendet

vielleicht kann mir jemand bei der lösung des Problems helfen bzw .... vielleicht hab ich ja vom ansatz her etwas falsch gemacht ?

lg Jabi

17.12.2007 - 17:06 Uhr

was auch toll wäre wenn man zu einem datei update auch eine msi datei ausführen könnte ... also erst die daten updaten und dann eventuell etwas neues hinzuinstallieren oder bestimmte komponennten registireren dann müsste man nicht das ganze msi paket ziehen ....

Du kannst die MSI ja dem Update beipacken, und hinterher ausführen lassen nach dem Update. Das geht ja bereits!

stimmt ... 🙂

17.12.2007 - 14:51 Uhr

also ich würd gern mithelfen beim entwickeln

was ich noch schnell benötigen würde das man beim updaten auch bestimmte datein löschen kann ( wenn vorhanden )
da bei meinem programm einige daten verschlüsselt gespeichert werden und diese gegebenen falls erweitertwerden und somit nach einem update neu erstellt werden müssen oder ganz wegfallen

was auch toll wäre wenn man zu einem datei update auch eine msi datei ausführen könnte ... also erst die daten updaten und dann eventuell etwas neues hinzuinstallieren oder bestimmte komponennten registireren dann müsste man nicht das ganze msi paket ziehen ....

14.12.2007 - 11:41 Uhr

Da in der Doku nicht die ganzen Codes abgefangen werden bekommt ihr hier meine liste als zusatz, vielleicht werden SIe ja auch in die Doku AUfgenommen
Hier eine kleine vorlage zum abfangen des KResult:


K_Updater.UpdateCheckResult KResult = SUpdate.Check();
                if (KResult.Code == 0)
                {
                    // Kein Update nötig hier euren weiteren code einfügen
                }
                else if (KResult.Code == 1)
                {
                    //Update nötig !
                    SUpdate.DoUpdate();
                }
                else
                {
                    string strError = null;
                    switch (KResult.Code)
                    {
                        case 2: strError = @"Update kann nicht verarbeitet werden. K_Updater.dll zu alt
                                                / nicht unterstütztes Protokoll. Programm muss manuell
                                                über die Homepage aktualisiert werden.
                                                URL steht in UpdateDescription !";
                                            break;
                        case 3: strError = @"Programmversion wird nicht mehr unterstützt.
                                             Updatebeschreibung steht in UpdateDescription !";
                            break;
                        case 10: strError = @"Verbindungsfehler. Proxy-Einstellungen oder
                                            Verbindungseinstellungen überprüfen  !";
                            break;
                        case 700: strError = @"Unbekannter Credentials-Fehler !";
                            break;
                        case 800: strError = @"Unbekannter Ausnahmefehler bei Download von
                                               updates.xml !";
                            break;
                        case 400: strError = @"Die Anforderung kann nicht ausgeführt werden !";
                            break;
                        case 401: strError = @"Client ist nicht berechtigt, auf diese Seite zuzugreifen !";
                            break; 
                        case 403: strError = @"Ausführung der Methode verweigert !";
                            break;
                        case 404: strError = @"URL wurde nicht gefunden !";
                            break;
                        case 405: strError = @" Methode für diese Seite nicht erlaubt !";
                            break;
                        case 406: strError = @"Verarbeitung der Header ist nicht möglich  !";
                            break;
                        case 407: strError = @"Proxies sollen verifiziert werden !";
                            break;
                        case 408: strError = @"Die Methode konnte innerhalb einer Zeitspanne
                        nicht ausgeführt werden !";
                            break;
                        case 409: strError = @"Konflikt entsteht, wenn neuere Änderungen
                        überschrieben werden !";
                            break;
                        case 410: strError = @"Die gewünschte Seite ist nicht mehr vorhanden !";
                            break;
                        case 900: strError = @"Unbekannter Proxy-Fehler !";
                            break;
                        default: strError = @"Unbekannter Update Fehler !"; 
                            break;
                    }
                    throw new Exception(strError);
                }

14.12.2007 - 09:38 Uhr

Vielleicht kann man noch was einbauen und zwar:

Wenn eine Version nicht mehr Upgedatet werden kann... gleich ein neues msi paket runterladen => alte version deinstallieren und neue installieren....

kann man sogar bei den setup projecten einstellen :
Remove Previous versions

das wäre vielleicht noch etwas 😉

06.12.2007 - 10:33 Uhr

google:
suchwort: mysql .net

MySql COnnector .NET

finden sich haufenweise links 🙂

02.12.2007 - 15:17 Uhr

Grundsätzlich ist das schon möglich, nur sollte der Anwender immer die möglichkeit haben ein Programm bzw einen Prozess zu schließen, egal aus welchen Gründen.

26.11.2007 - 18:03 Uhr

wer soll das moderieren ? was glaubst du was da für ein chaos dabei raus kommt 🙂 ...

ich find das schon gut so wies ist such funktion nutzen kann ja ned so schwer sein 🙂 ansonstem wird einem ja eh geholfen oder man hilft 🙂

23.11.2007 - 10:47 Uhr

Mein Problem ist das ich zur MySQL DB keine verbindung herstellen kann

Da DieDatenbank beim Provider hinter der Firewall liegt und ich nur vom webserver aus zugreifen kann ....

vielleicht kannst du da was machen das die daten in eine config datei geschrieben werden und dann von den php daten am webserver ausgelesen werden ?

23.11.2007 - 10:40 Uhr

edit: kleinen fehler ausgebessert 🙂

Da ich oftmals einen Md5 Hash von einem string brauche hab ich mir mal ganz fix ein kleinen Programm geschrieben das das für mcih erledigt....
Vielleicht können dies ja andere leute auch noch benötigen

Das Programm ist auch für Anfänger zum ansehen geeignet das ich
zu einem ein Eventmodel eingebaut habe

Sollten es die Admins es für gut befinden könnte man den Thread ja auch in die Faq geben für Events und Controls in Threads aktualisieren ....

delegates und EventArgs :


public delegate void HashFinishedEventHandler(object sender, HashFinishedEventArgs e);
    public class HashFinishedEventArgs : EventArgs
    {
        private string _hashedString;
        public string HashedString
        {
            get { return this._hashedString; }
            set { this._hashedString = value; }
        }
        public HashFinishedEventArgs(string HASHEDSTRING)
        {
            this._hashedString = HASHEDSTRING;
        }
    }
    public delegate void HashStartEventHandler(object sender, HashStartEventArgs e);
    public class HashStartEventArgs : EventArgs
    {
        private string _stringToHash;
        public string StringToHash
        {
            get { return this._stringToHash; }
            set { this._stringToHash = value; }
        }
        public HashStartEventArgs(string STRINGTOHASH)
        {
            this._stringToHash = STRINGTOHASH;
        }
    }
    public delegate void HashProgressPercetEventHandler(object sender, HashProgressPercetEventArgs e);
    public class HashProgressPercetEventArgs : EventArgs
    {
        private int _bytesHashed;
        public int BytesHashed
        {
            get { return this._bytesHashed; }
            set { this._bytesHashed = value; }
        }
        private int _bytesToHash;
        public int BytesToHash
        {
            get { return this._bytesToHash; }
            set { this._bytesToHash = value; }
        }
        public int PercentState
        {
            get { return Convert.ToInt32(Math.Round((double)((BytesHashed * 100) / BytesToHash), 0)); }
        }

        public HashProgressPercetEventArgs(int BYTESHASHED, int BYTESTOHASH)
        {
            this._bytesHashed = BYTESHASHED;
            this._bytesToHash = BYTESTOHASH;
        }
    }

einbau der Events in die Klasse :


#region Events
        public event HashStartEventHandler HashStart;
        internal virtual void OnHashStart(string strToHash)
        {
            if (this.HashStart != null)
            {
                this.HashStart(this, new HashStartEventArgs(strToHash));
            }
        }
        public event HashFinishedEventHandler HashFinished;
        internal virtual void OnHashFinished(string strHashedString)
        {
            if (this.HashFinished != null)
            {
                this.HashFinished(this, new HashFinishedEventArgs(strHashedString));
            }
        }
        public event HashProgressPercetEventHandler HashPercentState;
        internal virtual void OnHashPercentState(int BytesHashed, int BytesToHash)
        {
            if (this.HashPercentState != null)
            {
                this.HashPercentState(this, new HashProgressPercetEventArgs(BytesHashed, BytesToHash));
            }
        }
        #endregion

Verwendung des events:


public void Hash()
        {
            OnHashStart(StringToHash);
            string buffer = null;
            try
            {
                buffer = get_Md5HashString(StringToHash);
            }
            catch (Exception ex) { throw new Exception("Fehler beim hashen :\n" + ex.Message); }
            OnHashFinished(buffer);
        }

und zum anderem mit Threads in Windows Forms arbeite und dort auch die Controls in einem anderem Thread aktualisieren lasse.
delegate und Methode :


public class FormDelegates
    {
        //--------------------------------------------------------------------------------------------------
        private delegate string GetTextBoxTextDelegate(Form frm, TextBox txt);
        private static string _GetTextBoxText(Form frm, TextBox txt)
        {
            return txt.Text;
        }
        public static string GetTextBoxText(Form frm, TextBox txt)
        {
            return frm.Invoke(new GetTextBoxTextDelegate(_GetTextBoxText), new object[] { frm, txt }).ToString();
        }
        //--------------------------------------------------------------------------------------------------
}

Verwendung in der Form:


private void _DoWork()
        {
            FormDelegates.SetButtonEnabled(this, btnHash, false);
            FormDelegates.SetTextBoxText(this, txtHashed, "");
            FormDelegates.SetTextBoxEnabled(this, txtToHash, false);
            FormDelegates.SetProgressbarValue(this, pgrBarHashState, 0);
            Md5Hash md5 = new Md5Hash(FormDelegates.GetTextBoxText(this, txtToHash));
            md5.HashStart += new HashStartEventHandler(md5_HashStart);
            md5.HashPercentState += new HashProgressPercetEventHandler(md5_HashPercentState);
            md5.HashFinished += new HashFinishedEventHandler(md5_HashFinished);
            md5.Hash();
        }

        private void btnHash_Click(object sender, EventArgs e)
        {
            Thread worker = new Thread(_DoWork);
            worker.Start();
        }

Der komplette SourceCode ist dann im Anhang zu finden und ich hoffe es hilft einigen leuten

22.11.2007 - 11:46 Uhr

World4You

Hier soltlest du auch fündig werden die bieten recht viel an und wenn nciht kannst du ja per mail anfragen ob sie das bereitstellen ... oder du rufst dort an ...

21.11.2007 - 19:28 Uhr

würde auch eine dll draus amchen und namespaces nützen

21.11.2007 - 07:50 Uhr

also ohne weiteres funktioniert das so nicht da auch für dich wenn du dich an der seite anmeldest oder sie betretest wird für dich eine eigene session angelegt .....

es gibt hier schon noch andere sachen wie man an sessions kommen kann das ist aber nicht legal und ich möchte das stichwort nicht nennen ... aber im google wirst sicher fündig ....

16.11.2007 - 07:50 Uhr

zum abspielen des mp3 entweder bei self html nachschauen dort gibt es eine erklärung oder mit dem Silverlight mediacontrol das ganze bewerkstelligen ....

für die enabled true/false bei den controls kansnt du Ajax nehmen

oder wenn du das nicht machen willst kannst du das ganze ja in Silverlight oder Flash machen

sollte genug sein um die wundzulesen mit den themen

15.11.2007 - 16:56 Uhr

Meiner Meinung nach sehe ich das gespalten.....

Ich ahb mir auch immer leichter getan wenn mir jemand etwas erzählt hat bzw erklärt hat ... hat mir oftmals sehr geholfen das ganze besser zu verstehen ... auch mit beispielen/samples ....

andererseits wenn wegen jeder kleinen frage 100 selbe Threads generiert werden geht das auf die arme arme Datenbank ... und müllt alles zu und lässt eventuell wichtigere Threads untergehen .....

vielleicht sollte man doch auch ein anfänger forum zur verfügung stellen wo speziell solche fragen geklärt werden können oder wo man anfängern helfen kann grundlegendes besser oder zu verstehen....

vielleicht nimmt sich ja den Vorschlag jemand zu herzen ... dann gibts auch keine hitzigen diskusionen wegen solchen sachen .....

zum abschluss....
ich bin froh das es mycsharp.de gibt und sehr froh das es Leute gibt die so etwas freiwillig auf die beine stellen .... und viel freizeit dafür opfern .... mir helfen viele sachen hier und ich denke anderen geht es auch so ......

ein zufriedener mycsharp.de user

ps: ich war in eile rechtschreibfehler und große buchstaben dürfen behalten werden 😜

15.11.2007 - 16:06 Uhr

Original von wassertrinker
Ich baue die neue XML-Datei aber selber zusammen, nicht per Framework.
Gab beim Versuch es mit Framework zu machen Probleme mit der Hardware.
Der PDA war wohl zulangsam.

du kannst doch


Thread.Sleep(100); // oder mehr

verwenden dann is dein PDA nicht so überlastet
einfach in die schleife oder onst wo reingeben wo viel wiederholt wird

15.11.2007 - 11:08 Uhr

Tolles tutorial

12.10.2007 - 20:08 Uhr

für größere tabellen mit merheren spalten geht auch


ds.Tables[0].Rows[2]["mein_SpaltenName"].ToString();
12.10.2007 - 09:27 Uhr

mag sein das du dies einfach empfindet ...
ich ahbs so gelöst weil ich das Page object ja auch noch für andere sachen brauche databind etc ....

12.10.2007 - 08:25 Uhr

also entwerder hab ich mich fals ausgedrückt oder du hast meinen post nicht gelsesen.....

den "this" operator nimmst du natürlich auf der code behind datei bei deiner webseite her
App_Code:



public static class SessionClass
{

    public static string getLanguageSession(System.Web.UI.Page page)
    {
        string sprache = null;

        try
        {
             sprache = page.Session["Language"].ToString();
        }
        catch
        {
            sprache = "de-DE";
        }

        return sprache;
    }
} 



private void setSpeech(System.Web.UI.Page page)
    {
        //Die Startsprache einstellen, wenn die Seite geladen wird
       string sprache = SessionClass.getLanguageSession(page));
     }

und jetzt kansnt du beide klassen im Code-Behind verwedenen und für
System.Web.UI.Page page nimmst du dann "this" her

Entweder fehlts dir an Grundlagen oder es ist echt nicht verständlich geschrieben

Die Klassen die du im App_Code hast verwendest du ja auf deinen seiten das heißt die Klasse muss irgendwo geöffnet/initialisiert werden und dort kannst du dann deine Seite mit this angeben
Hier mal ein bespiel von mir:
App_Code:


// Auszug aus einer Klasse
public static class remSecurity
    {

public static void LogOut(System.Web.UI.Page page)
        {
            page.Session.Clear();
            page.Session.Abandon();
            page.Response.Redirect(System.Configuration.ConfigurationManager.AppSettings.Get("LoginPath"), true);
        }
        public static void LogOut(System.Web.UI.MasterPage page)
        {
            page.Session.Clear();
            page.Session.Abandon();
            page.Response.Redirect(System.Configuration.ConfigurationManager.AppSettings.Get("LoginPath"), true);
        }
    }

Jetzt meine Asp.NET seite wo der LogOut statt findet:
Auf der Seite ist ein Button der btnLog heißt
In der COde Behind Datei ist das Click event definiert:



    private void btnLog_Click_Abmelden(object sender, EventArgs e)
    {
        remSecurity.LogOut(this);
    }


Das sollte jetzt aber keine weiteren Fragen aufwerfen denn noch einfacher kann ichs dir nciht erklären

lg Jabi
rechtschreiber und fehler dürfts behalten 🙂

11.10.2007 - 20:22 Uhr

public static class TestClass
{
        public static string MeineApp_Code_Methode(System.Web.UI.Page page)
        {
            string strTest = null;
            return strTest = page.Session["meineSessionVariable"].ToString();
        }
}

sollte helfen 🙂
edit: und so auf der seite einbinden



private void Irgendwas()
{
   string strIrgendwas = null;
   strIrgendwas = TestClass.MeineApp_Code_Methode(this);
}




27.09.2007 - 10:57 Uhr

Hallo,

danke für den netten tipp aber der versuchts ja wieder mit nem Dataset.

ich weis nun nciht wie ich die gernerische lsite als datasource hernehmen kann
der eine im letzten post hats ja auch nicht geschafft

edit:

ich werd mal probieren ein typisiertes dataset ohne assistenten zu erstellen und dann den report damit zu befüllen und dann fülle ich das dataset einfach beim page_Load event manuell auf und übergebe es an den report viewer vielleicht funktioniert das so .....
edit 2:
funktioniert wunderbar

kann jedem der das selbe problem das raten:
Typisiertes DataSet ohne assistenten erstellen und dann in der codebehind datei wo der reportviewer ist das data set füllen und dann übergeben

27.09.2007 - 10:14 Uhr

Hallo leute,

Ich habe eine Web Application mit ASP.net und AJAX erstellt.
Dort möchte ich auch eine Seite bereitstellen die diagramme aufbereitet.
So weit so gut... mein Problem ist das ich die daten die ich dem Diagramm geben möchte in Klassen aufbereitet werden und nicht in einem typisierten DataSet.

Hat jemand erfahrungen damit einen ms report ohne ein typisiertes dataset bereitzustellen ?

über google hab ich leider ncihts hilfreiches gefunden ....
auf msdn gab es einen artikel ein Business-Object zu erstellen das dann in den Webseiten-Datenquellen angezeoigt wird ... aht aber leider nicht funktioniert bei mir

eventuell kann mir jemand helfen....

Ich benütze VS 2005 std edt ... keine crystal reports enthalten deswegen nehme ich die ms reporting WebForms

lg Jabi

22.09.2007 - 12:53 Uhr

schau mal in die snippets sektion hab da eine autostart komponennte veröffentlicht für einen installer... die funktionen daraus kannst du aber auch für dein programm hernehmen

Autostart

22.09.2007 - 12:52 Uhr

ja schon aber wenn wer das ding versehentlich aus der registry gelöscht hat dann ist bei " reparieren" auch nochmal die abfrage da ob autostart schon existiert ansonsten wirds nochmal eingetragen ... ich habe in meinem programm auch die möglichkeit autostart zu deaktivieren deswegen hab ichs so gelich in das snippet eingetragen

17.09.2007 - 22:22 Uhr

eine frage

wo kann ich den pfad einstellen an den weitergeleitet wird sobald die session abgelaufen ist ?

11.09.2007 - 16:29 Uhr

hallo
hab dass jetzt mal so auf die schnelle probiert und es funktioniert aber der bildschirm bleibt grau und es scheint noch die form offen zu sein obwohl sie nicht mehr da ist

 
this.Close();

wurde aber ausgeführt

hab leider keine zeit mehr werds mr abends oder morgen nochmal ansehen und die lösung posten wenn ich sie finde g

11.09.2007 - 13:31 Uhr

ich ahb mal versucht das ganze als dialog result zu machen

bildschirm wird grau ... die form ist aktiv ( kann sie mit alt + f4 schließen )
aber die form ist nicht zu sehen

hier diene abgeänderte methode:



public DialogResult  ShowShadowDialog()
        {
            _shadowForm.TopMost = true;
            _shadowForm.FormBorderStyle = FormBorderStyle.None;
            _shadowForm.Opacity = 0;

            this.Owner = _shadowForm;
            this.TopMost = true;
            //wenn ich scho dialog hier einsetze wo vorher das show war geht gar ncihts .....
            //_shadowForm.ShowDialog();

            _shadowForm.Location = Screen.GetBounds(new Rectangle(int.MinValue / 2, int.MaxValue / 2, int.MaxValue, int.MaxValue)).Location;
            _shadowForm.Size = new Size(int.MaxValue, int.MaxValue);

            switch (ActiveShadowMode)
            {
                case ShadowMode.GreyOut:
                    {
                        Bitmap bitmap = new Bitmap(_shadowForm.Width, _shadowForm.Height, PixelFormat.Format32bppArgb);
                        using (Graphics graphics = Graphics.FromImage(bitmap))
                        {
                            graphics.CopyFromScreen(_shadowForm.Location, new Point(0, 0), _shadowForm.Size);
                        }
                        _shadowForm.BackgroundImage = GrayScaleImage((Image)bitmap);
                        break;
                    }
                case ShadowMode.Darken:
                    _shadowForm.BackColor = GreyOutModeBaseColor;
                    break;
            }

            _shadowTimer.Interval = TimerInitWait;
            _shadowTimer.Tick += new EventHandler(shadowTimer_Tick);
            _shadowTimer.Enabled = true;
            return _shadowForm.ShowDialog();
        }


wo liegt der fehler ?