Laden...

Forenbeiträge von Merti_berg Ingesamt 91 Beiträge

17.09.2014 - 14:00 Uhr

Hallo,

danke erstmal für eure zahlreichen Antworten. Ich probiere erstmal auf alle Fragen/Anmerkungen einzugehen.

Wie ihr schon gemerkt hab "missbrauche" ich das .png Format, da im Resultat darauf nichts sinnvolles zu erkennen ist, sondern nur die Werte gespeichert werden.

Die Dateigröße ist wichtiger als die Performance, da die Daten im nächsten Schritt zwischen Clients und Server ausgetauscht werden müssen, deshalb soll die Speicherung der Daten so effizient wie möglich umgesetzt werden.

32bit werden nicht ausreichen, da wir unterschiedliche Quellendaten haben. Dh. bei einer Quelle würden 32bit reichen, bei der anderen widerrum nicht.
PNG-Bibliothek verwende ich im Moment keine, nur die eingebauten Funktionen des .NET-Frameworks.

Es ist vorerst nicht angedacht, einzelne Teile der fertigen Datei auszulesen, sondern nur im Ganzen.

Ich hoffe ich bin soweit auf alles eingegangen, falls ich was übersehen haben sollte, gebt Bescheid.

Was ihr geschrieben habt, die Werte komplett in ein byte(Array) zu packen, ohne die byte-Grenzen zu überschreiben, ist mir auch durch den Kopf gegangen. Hier müsste ich mal eine Teststellung zusammenbauen und mir die Ergebnisse angucken.

/edit: hdf5 guck ich mir mal an.

17.09.2014 - 11:19 Uhr

Hallo zusammen,
ich sitze schon seit einer Weile an einem Projekt und mache mir Gedanken zur effektivsten Speicherung von Daten.

Kurz zum Ziel:
-Daten sollen in einem Raster, also X und Y basierend, gespeichert werden (Datei)
-Bei den Daten handelt es sich um Zahlen in verschiedenen vorher festgelegten Wertebereichen, zB. 0-10, 0-10000000, usw...
-Die Anzahl der Daten kann sich unterscheiden.

Kurz zum aktuellen Stand:
-Im Moment nutze ich das .png Format, also ein Bildformat um die X und Y Daten zu speichern.
-In den Kanälen (bei einem 32bit Bild) speichere ich die Werte
-Die Zahlen werden durch Bitshifting so umgebaut, das der Wertebereich optimal ausgenutzt wird und danach gleich der nächste Bereich angehangen wird
-Also vereinfacht gesagt, die ersten 5bit für Wert1, die nächsten 4bit für Wert2, die nächsten 10bit für Wert3, usw...
Wie gesagt, das wäre jetzt am Beispiel eines 32bit Bildes mit 4 Kanälen (4 byte Arrays/32bit).

Ich möchte es so das wirklich jedes byte optimal genutzt wird. Also für die Zahl "20" brauche ich keine 32bit (int32), sondern nur 5. So das der Rest anschließend angesetzt wird. Speichereffizienz/Dateigröße ist hier sehr wichtig.

Ich hoffe das ist etwas verständlich.
Allerdings ist hier das Problem, wenn ein einzelner Wert schon größer als 32bit ist, oder mehrere einzelne Werte größer als 32bit sind, 2 oder mehr Bilder benutzt werden müsen.
Zudem läuft das Bitshifting immer nur mit Int32.

Meine Frage an euch, habt ihr Ideen ob es Dateiformate gibt welche meinen Anforderungen entsprechen oder Anregungen wie ich sowas besser und/oder effektiver umsetzen kann?

Eine andere Überlegung von mir wäre gewesen, die Daten mit X und Y (jeweils kleinstmöglicher Datentyp), stupide in eine Binärdatei zu packen und diese zu komprimieren.

18.09.2012 - 11:56 Uhr

Hallo,
ich suche jetzt schon eine Weile eine Lösung für mein Problem. Eventuell geh ich auch nur falsch an die Sache ran oder habe nicht den richtigen Ansatz, vielleicht ist es aber auch gar nicht so einfach umsetzbar.

Es geht darum, ich hab eine Textbox abgeleitet und dieser eine Auswahl-Property 'ValueType ' hinzugefügt.


public enum ValueType
{
      Text,
       Number,
       Date,
       Time
}

[Category("ExtendedTextbox")]
[Browsable(true)]
[DefaultValue(typeof (ValueType), "Text")]
[EditorBrowsable(EditorBrowsableState.Always)]    
public ValueType TextBoxValueType { get; set; }

Dann habe ich eine weitere Property hinzugefügt:


[Category("ExtendedTextbox")] 
[Browsable(true)]
[DefaultValue(typeof(bool), "True")]
[EditorBrowsable(EditorBrowsableState.Always)]
public bool CheckValueType { get; set; }

Ich möchte aber nur die 'CheckValueType' Checkbox-Property im Designer angezeigt bekommen wenn ich den 'TextBoxValueType' im Designer auf 'Number' stelle.

Meine Idee ist die Browsable-Eigenschaft zu ändern, je nachdem welchem TextBoxValueType man gewählt hat. Ich weiß aber nicht ob das möglich ist, wenn das Control schon erzeugt wurde bzw. man im Designer ist.

Ist sowas möglich oder ist das der falsche Ansatz?

27.05.2011 - 08:08 Uhr

Hallo,

eventuell kann mir mit meinem Problem jemand weiterhelfen. Wir möchten in einem PC-Pool gerne den Resharper nutzen. Auf den Computern ist Visual Studio 2010 installiert. Vom Resharper haben wir eine Classroom Lizenz.

Folgendes Problem ist nun, dass man über den Menüpunkt "Resharper" im VS sich die eingegebenen Lizenzinformationen anzeigen lassen kann und genau das wollen wir unterbinden. Man kann diesen Menüpunkt zwar direkt im VS entfernen aber man kann ihn auch ganz einfach wieder hinzufügen. Wir bräuchten eine Lösung mit der der Menüpunkt für die Lizenz dauerhaft verschwinded oder unterdrückt wird.
Für Lösungsansätze wäre ich sehr dankbar!

22.03.2011 - 09:59 Uhr

Danke herbivore, habe es jetzt mit dem Control.BeginInvoke gelöst, funktioniert wunderbar!

22.03.2011 - 08:17 Uhr

@inflames2k, ja es wird alles auf dem richtigen DGV ausgeführt.

@ErfinderDesRades, nein, es sind 2 unterschiedliche Datatable's die ich an die DGV's binde.

21.03.2011 - 14:03 Uhr

Hallo,

ich habe ein Tabcontrol mit 2 Tabpages, auf jeder Tabpage liegt jeweils ein Datagridview.
Ich lese aus einer Datenbank verschiedene Personendatensätze in eine Datatable ein, ändere ein paar Werte ab und binde diese an das erste Datagridview auf der ersten Tabpage. Danach führe ein ein "AutoResizeColumns" für das DGV aus und blende noch ein paar Zeilen aus, funktioniert alles wunderbar.
Danach mache ich ungefähr das selbe für das DGV2 auf der Tabpage2. Die Daten werden ordnungsgemäßg reingeladen und an das DGV2 gebunden. Das passiert alles noch im Form_Load, hier führe ich auch wieder das "AutoResizeColumns" aus und blende ein paar Zeilen im DGV2 aus. Wenn das Progamm nun komplett gestartet wurde sehe ich die Tabpage1 auf der alles so sein soll wie es ist, wechsel ich auf die Tabpage2 sehe ich die kompletten Daten im DGV2, auch die Zeilen die ich zuvor ausgeblendet hatte und auch das "AutoResizeColumns" zeigt keine Wirkung.
Wenn ich mit dem Debugger durchgehe setzt er die Werte für Visible etc. alles richtig nur zeigt er es mir eben nicht an. Refresh, Update, Invalidate bringt alles nichts. Setzte ich mir allerdings einen Button auf Tabpage2 und blende dort noch einmal die Zeilen aus und rufe "AutoResizeColumns" auf funktioniert alles wunderbar und er zeigt mir die Änderungen an.
Ich habe auch schon probiert meinen Code im Selected oder SelectedIndexChanged Event aufzurufen aber auch da zeigt es keine Wirkung.

Ich hoffe es ist etwas verständlich und Danke schon einmal für Hilfe!

14.01.2011 - 08:30 Uhr

Hallo,

ich habe eine Datatable von meinem typisierten Dataset mit Personendaten (ID, Name, Vorname,...)

Ich binde nun die Datatable an eine Combobox, Displaymember ist der Name und Valuemember die zugehörige ID. Funktioniert auch alles soweit.
Nur wenn ich jetzt die Sorted Eigenschaft der Combobox auf true setze, vertauscht der die interen Werte. Also der Displaymember stimmt nichtmehr mit dem Value Member ein, somit erhalte ich eine falsche ID und rufe dann die falschen Daten ab.
Ich würde nun gerne wissen wie ich es schaffe das ich eine sortierte Combobox habe wo der Valuemmeber auch zum richtigen Displaymember gehört.
ORDER BY ist in der Select Abfrage schon drin, bringt aber auch nichts.

mfg

09.12.2010 - 11:14 Uhr

Danke schonmal für die Antwort, wenn ich es dann starten will kommt

"--------------------------- Fehler

Fehler: Installierbares ISAM nicht gefunden.

OK

"

Muss jetzt erstmal nach einer Lösung suchen wie ich diesen Fehler behebe bzw. was ich da nachinstallieren muss. Wenn es dann geht bzw. ich einen Schritt weiter bin schreib ich es hier rein.

09.12.2010 - 10:45 Uhr

verwendetes Datenbanksystem: Access 2003

Hallo,

ich arbeite in meinem Programm mit einer Access Datenbank die Anträge verwaltet. Die Datenbank liegt auf einem Server so das jeder Zugriff darauf hat wenn er das Programm lokal startet aber ist mit einem Passwort geschützt.

Nun möchte ich gern verhindern das mehrere Leute auf die Datenbank zugreifen sondern immer nur einer das Programm benutzen kann, da es doch evtl. Probleme geben kann wenn mehrere Leute darauf arbeiten.
Nun zum eigentlichen Problem, ich habe geschaut welche Möglichkeit besteht um zu prüfen/gewährleisten das nur ein Benutzer auf der DB arbeitet, bin dann dazu gekommen die Datenbank im Exklusivmodus zu öffnen.
Also im Internet geschaut wie der Connectionstring umgeändert werden muss und habe mir dann folgendes zusammengestellt:

@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + _pfad +
                                       ";Persist Security Info=True;Mode=12;Jet OLEDB:Database Password=passwort1";

Das Mode=12 soll für den Exklusiv Modus stehen, habe es auch mit "Share Exclusive" usw... versucht doch er öffnet die Datenbank ganz normal. Ich kann von anderen Rechner aus immernoch darauf zugreifen und auch per Access direkt habe ich Zugriff, es kommt keine Fehlermeldung.
Gibt es da ein paar Probleme mit Access Zugriff oder habe ich etwas vergessen? Im Internet habe ich nichts weiter dazu gefunden, da steht zwar überall wie es geht aber nirgends steht etwas zu Problemen.

07.12.2010 - 08:17 Uhr

Hallo,

also das heißt es gibt keine Möglichkeit ohne extra Programm diesen Sicherheitshinweis zu ignorieren, jedenfalls nicht standardmäßig von .net aus?
Ich müsste entweder das nachprogrammieren was das Programm macht oder damit leben das egal was ich mache mit Outlook und egal über welchen Weg immer der Sicherheitshinweis kommt?

06.12.2010 - 10:12 Uhr

Hallo,

ich muss eine Email + Anhang im Programm erstellen und diese soll dann per Outlook verschickt werden.

Im Moment habe ich es so gelöst:


if (IstOutlookInstalliert())
            {
                try
                {
                    Application _outlook = new Application();
                    _MailItem _emailItem = (_MailItem) _outlook.CreateItem(OlItemType.olMailItem);

                    _emailItem.To = empfaenger;
                    _emailItem.Subject = betreff;
                    _emailItem.Body = inhalt;
                    _emailItem.Attachments.Add(anhang, OlAttachmentType.olByValue, 1, null);
                    if(!String.IsNullOrEmpty(anhang2))
                        _emailItem.Attachments.Add(anhang2, OlAttachmentType.olByValue, 2, null);
                    _emailItem.Send();
                    MessageBox.Show("Der Antrag wurde erfolgreich verschickt", "Hiweis", MessageBoxButtons.OK,
                                    MessageBoxIcon.Information);
                }
                catch (Exception _exp)
                {
                    MessageBox.Show("Es ist ein Fehler beim Versenden der Email aufgetreten: " + _exp.Message, "Fehler",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }

Das öffnet Outlook und bringt den Warnhinweis das ein Programm auf Outlook zugreifen will und genau das soll nicht sein.
Mir wurde gesagt das wenn die Email nicht direkt versendet wird sondern nur in den Postausgangsordner gelegt wird keine Meldung kommt nur finde ich nichts wie man sowas realisieren kann und ob es überhaupt funktioniert. Vielleicht kann mir da jemand weiterhelfen.

19.07.2010 - 10:19 Uhr

Ja, das weiß ich. Das funktioniert aber nur wenn mit der Linken Maustaste auf ein Item geklickt wird.

Und das MouseClick Event wird nur aufgerufen wenn direkt auf die Komponente gedrückt wird und nicht auf die Dropdownlist der CB.

Ich möchte halt das ein Contextmenü erscheint sobald man mit der Maus Rechtsklick auf ein Item in der Dropdownliste ohne das ein Item ausgewählt wird, das scheint nur nicht so einfach zu funktionieren da man im Internet auch nicht viel dazu findet.

19.07.2010 - 08:58 Uhr

Hallo,

gibt es eine Möglichkeit ein Contextmenü anzuzeigen wenn man auf ein Item in der Dropdownliste einer Combobox einen Rechtsklick macht?

Also wenn man direkt auf die Combobox Rechtsklickt wird das Context Menü angezeigt, ich wollte aber das wenn man die CB "aufklappt" also alle Einträge anzeigt und dann auf ein jeweiliges Item Rechtsklickt das dann das Contextmenü angezeigt wird. Nur wird dann nichts angezeigt, es wird auch, wenn ich es richtig nachverfolgt habe kein Event ausgelöst wenn ich auf ein Item in der Auswahlliste klicke.

Ich hoffe mein Problem ist verständlich, Danke im voraus.

14.07.2010 - 15:53 Uhr

Nur Interesshalber, warum ist denn .Showdialog nichtmehr zeitgemäßg im Gegensatz zu der Methode die JAck30lena gepostet hat? Nur deshalb weil man dann die Form1 nichtmehr verschieben kann oder hat das noch einen anderen Grund?

02.07.2010 - 14:58 Uhr

Keiner mehr? 🙁

29.06.2010 - 13:58 Uhr

Hallo,

kann mir jemand sagen wie ich per iTextSharp in einem vorhandenen PDF File eine Checkbox makieren kann?

Text in verschiedene Textfelder der PDF über mein Programm zu schreiben funktioniert wunderbar, nur an den Checkboxen häng ich noch. Ich habe den Artikel auf Code Project darüber gelesen, in diesem wird beschrieben das man den Wert "Yes" übergeben muss, was aber bei mir nicht funktioniert, also es ändert sich nichts. Ich verwende die Verion von iTextSharp die dem Artikel beilag

Hier der Code wie ich es bisher schon probiert habe:

 

string pdfTemplate = "C:\\****.pdf";
            string newFile = "C:\\****.pdf";

            PdfReader pdfReader = new PdfReader(pdfTemplate);

            PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(
               newFile, FileMode.Create));


            AcroFields pdfFormFields = pdfStamper.AcroFields;


pdfFormFields.SetField("cbueberweisung", "True");
pdfFormFields.SetField("cbueberweisung", "Yes");
pdfFormFields.SetField("cbueberweisung", "checked");
pdfFormFields.SetField("cbueberweisung", "1");

Es zeigt alles keine Wirkung, eventuell hat das jemand schon gemacht und kann mir helfen

15.04.2010 - 12:45 Uhr

Niemand ne Idee? Kein HTTP Profi hier? 😁

Ich habe auch schon mehrere Möglichkeiten probiert die Cookies mitzusenden, zB:

request1.Headers.Set("Cookie", "auth=1146209ca7abb980505d602b3c1fa41919b32dc");
            request1.CookieContainer.Add(new Cookie("auth", "1146209ca7abb980505d602b3c1fa41919b32dc", "/", ".uploaded.to"));

Er überträgt sie einfach nicht, wenn ich andere Header Werte festlege funktioniert es, diese werden übertragen, nur die Cookies nicht. Ich habe auch mit dem Request Builder von Fiddler gearbeitet und mir einen Request nachgebaut, hat alles funktioniert, nur im Programm geht es nicht. Zudem habe ich auch ein Pause eingebaut um zu sehen ob es eventuell zu schnell ist oder alles in verschiedene Methoden gekapselt ob es evtl. irgendwie mit Visual Studio zusammenhängt aber es hat alles nichts geholfen. Kann es evtl. an der Seite liegen die aufgerufen wird?

Hier mal der Code:

//Erster Request; Login (klappt)
            CookieContainer _cookieContainer = new CookieContainer();

            HttpWebRequest _request1 = (HttpWebRequest)WebRequest.Create("http://uploaded.to/login");
            _request1.Method = "POST";
            _request1.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
            _request1.AllowAutoRedirect = false;
            _request1.CookieContainer = _cookieContainer;
            _request1.Referer = "http://uploaded.to/login";
            _request1.ContentType = "application/x-www-form-urlencoded";
            _request1.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)";
            _request1.Headers.Add("Keep-Alive", "115");

            string _postData = "email=1146209&password=rjadkia";
            byte[] _byteArray = Encoding.UTF8.GetBytes(_postData);
            _request1.ContentLength = _byteArray.Length;

            Stream _reqStream = _request1.GetRequestStream();
            _reqStream.Write(_byteArray, 0, _byteArray.Length);
            _reqStream.Close();

            HttpWebResponse _response1 = (HttpWebResponse)_request1.GetResponse();
            _response1.Close();


            //Zweiter Request, Weiterleitung (Hier überträgt er keine Cookies mehr)
            HttpWebRequest _request2 = (HttpWebRequest)WebRequest.Create("http://uploaded.to/login?coo=1");
            _request2.Method = "GET";
            _request2.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
            _request2.ContentType = "application/x-www-form-urlencoded";
            _request2.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)";
            _request2.Referer = "http://uploaded.to/login";
            _request2.Headers.Add("Keep-Alive", "115");
            _request2.CookieContainer = _cookieContainer;

            HttpWebResponse _response2 = (HttpWebResponse)_request2.GetResponse();
            _response2.Close();

            //Driter Request, Home Seite
            HttpWebRequest _request3 = (HttpWebRequest)WebRequest.Create("http://uploaded.to/home");
            _request3.Method = "GET";
            _request3.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
            _request3.ContentType = "application/x-www-form-urlencoded";
            _request3.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)";
            _request3.Referer = "http://uploaded.to/login";
            _request3.CookieContainer = _cookieContainer;

            HttpWebResponse _response3 = (HttpWebResponse)_request3.GetResponse();
            _response3.Close();

Ich hab das jetzt mal rausgelassen mit den ganzen Extra-Code zum hinzufügen der Cookies, hat ja eh nicht funktioniert. Wie gesagt, Whireshark, Fiddler, usw... alles schon benutzt. Mach das auch nicht zum ersten mal aber bei der Seite klappt es halt einfach nicht.

Falls noch Fragen offen sind, einfach stellen!

Edit: Ist ein kostenloser Account der für keinen einen Nutzen hat, deswegen habe ich die Daten nicht extra entfernt.

13.04.2010 - 15:07 Uhr

Um den Thread mal wieder auszugraben, ich habe das Problem immer noch nicht gelöscht...und das innerhalb eines ganzen Jahres 😁

Aber ich weiß woran es liegt, kriege es aber nicht hin das Problem zu lösen.

Also:

Zuerst mache ich einen POST-Login Request, dieser funktioniert wunderbar und ich erhalte ein Authentifizierungs Cookie und ein Language Cookie zurück.

Dann will ich einen weiteren Request auf die nächste Seite machen die ich aufrufen muss aber es werden keine Cookies übermittelt. Ich habe natürlich vorher die Cookies aus dem ersten Request dem zweiten Request wieder mit hinzugefügt, wenn ich dann aber mit Wireshark mitsniffe was beim zweiten Request gesendet wird sehe ich das er die Cookies nicht mit sendet und ich habe einfach keine Ahnung warum. Ich habe mir auch schon die Eigenschaften der Cookies angeschaut und nichts ausergewöhnliches festgestellt.

Daher meine Bitte ob mir jemand helfen kann bzw so ein Problem schonmal gehabt hat, ich will es nach einem Jahr nun endlich mal lösen 👍

Ich denke der Code ist hier nicht ganz so interessant, wenn ihr ihn trozdem sehen wollt sagt Bescheid. WebClient mit HTTP-POST- und Cookie-Unterstützung habe ich ebenfalls schon probiert, ist das selbe.

13.04.2010 - 08:59 Uhr

Hallo herbivore,

Ja da hast du Recht, ich habe von den Begriffen die du genannt hast nur ansatzweise was gehört bis jetzt.

Wir sind in unserem Berufsschulklassen-Team 3 FiSi und 2 FiAe, das wäre für uns gar nicht schaffbar, allein von der Zeit her.

Deswegen wollte ich hier nachfragen ob eventuell jemand eine simple Lösung weiß da wir, wie gesagt, nich mehr weiterwissen, der Post von dir und BerndFfm/MartinZa hat da schon ein wenig weiter geholfen 👍

12.04.2010 - 13:12 Uhr

Hallo,

Ich wollt jetzt mal mein Glück hier versuchen, eventuell verhilft es mir ja zur Lösung 😃

Erstmal kurz worum es geht:

Ich soll ich Programm schreiben welches zur Datenverwaltung dient, die Daten bestehen aus: Geräte -> Diese enthalten Baugruppen -> Diese enthalten Bauteile.

Es muss zu jedem Bauteil angegeben werden die oft dieses Teil für die benötigte Baugruppe/Gerät vorhanden sein muss.

Ein Bauteil darf nicht 2x vorkommen, wenn ich Gerät1 eine bestimmte Schraube vorkommt die man in Gerät2 wieder brauch muss sie da sozusagen "verlinkt" werden, also es sollen dann keine 2 Datensätze in der Datei stehen.

Man kann ein Gerät/Baugruppe auswählen und dies zu einer Bestellliste hinzufügen, dafür wird dann auch die Information benötigt wie oft das Teil benötigt wird in dem Gerät/Baugruppe

Die interne Nummerrierung sollte wie folgt lauten, laut Aufgabenstellung:

  1. Gerät
    001.001 Baugruppe
    001.001.001 Bauteil

Mein Problem ist nun bzw da wo ich festhänge, wir dürfen keine direkte Datenbank verwenden. Es muss alles in einer serialisierten Datei Datei stehen. Mein Gedanke war eventuell ein Datatable zu nehmen und diesen dann immer zu (de-)serialisieren.

Das wäre ja auch alles halb so wild, nur weiß ich nicht so recht wie ich das anstelle das dann 1 Teil in mehreren Geräten vorkommen kann.
Zudem kann man auch neue Teile zu bestehenden Geräten/Baugruppen hinzufügen oder diese komplett neu erstellen. Man kann natürlich auch bestehende Bauteile suchen und diese in die neuen Geräte/Baugruppen einfügen.

Hier komme ich nun nicht weiter, habe mich auch schon mehrmals mit meinem "Team" beraten aber wir kommen zu keiner wirklich Lösung. Das Projekt ist für die Berufsschule, also nichts Großes. Unser Lehrer meinte auch das es relativ simpel ist, nur kann ich dem noch nicht ganz Glauben schenken.

Ich will kein fertiges Programm, nicht das dass falsch rüberkommt, ich würde nur gern wissen wie ich das am besten mit den bestehenden Teilen/hinzufügen von neuen Teilen löse ohne Datenbank.

08.04.2010 - 07:48 Uhr

Access DB ist vom Arbeitgeber vorgegeben, kann ich auch nichts ändern...

Danke werd mal schauen was ich dazu finde.

07.04.2010 - 11:12 Uhr

Niemand was?

Habe rausgefunden das es in deer Settingsdatei und in der app.config gespeichert wird...aber wieso in beiden, das versteh ich nicht.

Habe auch im nachhinein den Verbindungsnamen geändert da ich es vorher "TestConnection..." genannt hatte, hatte mir dabei nichts gedacht das dass solche Probleme macht und nun kommt immer wenn ich das Programm starten will oder einfach mal zwischendurch ohne das ich was mache ine Fehlermeldung von Visual Studio mit folgendem Inhalt "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt" Die Fehlermeldung ist aber wie gesagt nicht von meinem Programm sondern vom Visual Stduio, es wird da wahrscheinlich irgendwelche Probleme jetzt geben mit dem Designer-Erzeugten Dataset...

Hat sowas schonmal jemand gehabt bzw eine Lösung wie ich es wieder zum laufen bekomme?

31.03.2010 - 12:50 Uhr

verwendetes Datenbanksystem: MS Access 2003

Hallo zusammen,

Ich bräuchte mal eure Hilfe, ich hab eine Anwendung in der ich ein Dataset per Designer erstellt habe und die Datenbank eingebunden habe. Damit lässt sich sehr gut/leicht arbeiten.

Nun bin ich heute auf ein Problem gestoßen als ich das Programm bei einem Mitarbeiter ausführen wollte und zwar, die Datenbank ist nicht da.

Ich probiere nun schon den SPeicherort von der im Dataset eingebunden Datenbank zu ändern, finde aber leider nichts. Ich gebe ja keinen expliziten Pfad an wo die DB liegt sondern habe diese nur im Server Explorer eingefügt und dann alles auf das Dataset gezogen.

Wie mach ich nun die Datenbank/Dataset/das Programm portabel? So das ich es auf jedem Rechner ausführen kann wenn ich die DB mitnehme...

Wäre dankbar wenn mir jemanden helfen könnte.

29.03.2010 - 08:24 Uhr

Also das Problem liegt an der Webseite, es ist nicht gestattet so schnell mehrere Seiten aufzurufen...

17.03.2010 - 12:28 Uhr

Wenn das die einzige Lösung ist werde ich mal schauen ob ich das CSS auch abfragen kann.

Wenn jemand noch weitere Möglichkeiten kennt dann immer her damit.

17.03.2010 - 11:22 Uhr

Also ich habe jetzt mal das Thread.sleep auf 4 Sekunden erhöht, dann klappt es aber das ist eindeutig zulange. Es sind nicht nur 10 Themen die geprüft werden müssen...

Wenn ich es manuell über den Browser öffne und schnell hintereinander die Thread öffne klappt es auch und da sind auch keine 2 Sekunden dazwischen X(

17.03.2010 - 10:22 Uhr

Hallo zusammen,

Ich muss nun doch ein Thema aufmachen da ich nicht weiterkomme, auch Google hat mir nicht viel geholfen.

Ich habe mir ein kleines Programm geschrieben welches per Webrequest mehrere Themen in einem Forum ausliest und dann im Quelltext etwas überprüft.

Die Methode zum auslesen erfolgt ein einem Backgroundworker, Code:


private void Check()
        {
            [...]
//_urls[] Array mit den Links aus dem Forum

            for (int _i = 0; _i < 10; _i++)
            {
                HttpWebRequest _requestPerThread = (HttpWebRequest) WebRequest.Create(_urls[_i]);
                _requestPerThread.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)";

                HttpWebResponse _responsePerThread = (HttpWebResponse) _requestPerThread.GetResponse();
                using (StreamReader _readResponsePerThread = new StreamReader(_responsePerThread.GetResponseStream(), Encoding.ASCII))
                {
                    string _content = _readResponsePerThread.ReadToEnd();

                    if (!_content.Contains("XXXX"))
                    {
                        string _header = _content.Substring(0, 1000);
                        ChangeKeywords(ref _header);
                        int _startIndex = _header.IndexOf("<title>") + 7;
                        int _endIndex = _header.IndexOf("</title>") - _startIndex;

                        _header = "   " + _header.Substring(_startIndex, _endIndex).TrimStart().TrimEnd();

                        _dtSeraching.Rows.Add(new[] {_urls[_i], _header});
                    }
                }
                _responsePerThread.Close();
            }

        }

Nun erhalte ich aber bei dem Response schon einen Fehler:

Der Remoteserver hat einen Fehler zurückgegeben: (403) Unzulässig.

Die Details zu der Fehlermeldung oder der Stacktrace bringen mich nicht weiter.

Der Fehler tritt aber immer unterschiedlich auf, also zB nach dem ersten Schleifendurchlauf, dem fünften oder erst dem achten.

Ich weiß nun aber nicht woran das liegt, ich habe schon mit Wireshark geschaut was geschickt wird wenn ich es über den Browser aufrufe, da sind aber nur die "Standard" Sachen wir User Agent usw...Diesen habe ich hier auch mal mit angegeben da ich gelesen hatte hier im Forum das zB. Wikipedia einen User Agent voraussetzt.

Es ist kein Login notwendig bei der Seite um die Themen zu sehen.

Zu Testzwecken habe ich auch am Ende der Methode ein Thread.sleep gemacht von 2 Sekunden um zu sehen ob ich die Anfragen eventuell zu schnell stelle aber das hat auch nichts gebracht...

Wäre über jede Hilfe dankbar!

25.02.2010 - 10:26 Uhr

Ja, den habe ich auch schon ausprobiert 😉

25.02.2010 - 08:38 Uhr

Das selbe Problem habe ich auch bei einer Webseite, das er mir anmeckert das ich Cookies aktivieren soll. Habe aber schon alles mehrmals nachgeprüft und sitze schon ein paar Tage an dem Problem. Wäre auch sehr dankbar über eine Lösung...

15.02.2010 - 09:54 Uhr

Dann nimm doch statt dem Dateipfad den Pfad zu deiner eingebunden Ressource.

17.11.2009 - 09:01 Uhr

einfach den else Zweig weglassen 😉

29.09.2009 - 10:05 Uhr

Benutze Form.Show() anstatt Form.ShowDialog()

10.09.2009 - 12:42 Uhr

Funktioniert nun bei mir auch wieder durch den Patch trotz VS 2005, Vielen Dank!

10.09.2009 - 08:18 Uhr

Habe aber VS 2005 auf aktuellstem Stand. Werde es dann aber trozdem mal ausprobieren.

09.09.2009 - 14:31 Uhr

Komisch, hätte gedacht das es auf deutsch war. Gibt es denn eine Möglichkeit es auf deutsch zu stellen oder sind diese Tooltips nur in englisch verfügbar?

09.09.2009 - 13:16 Uhr

Ich bin der Meinung das es vorher alles auf deutsch war, wäre mir glaube aufgefallen wenn alles in deutsch ist nur diese Tooltips nicht.

09.09.2009 - 11:13 Uhr

Hallo, habe folgendes Problem, in dem Bild im Anhang sieht man das mein Visual Studio 2005 Professional auf deutsch ist, nur diese Tooltipps da nicht also wo erklärt wird was Tostring() macht, ich hoffe ihr wisst was ich meine. Das Problem besteht erst seit dem ich die devexpress tools installiert habe wenn ich mich Recht erinnere, vorher war alles auf deutsch. Deswegen wollte ich fragen ob jmd eine Lösung für das Problem weiß, wollt nicht unbedingt neuinstallieren...

21.08.2009 - 08:38 Uhr

so funktioniert es in meinem programm, message ist der name der textarea.

HtmlElement textArea = WBrowser.Document.All["message"];
                    if (textArea != null)
                    {
                        textArea.InnerText = "DEINTEXT";
                    }
14.08.2009 - 09:48 Uhr

Muss den Thread mal wieder ausgraben, habe nun ein ähnliches Problem. Ich wollte die fertige .exe und eine .dll (Die für ein anderes Aussehen der Anwedung sorgt, genaugenommen die "ComponentFactory.Krypton.Toolkit.DLL") zusammen zu einer .exe Datei machen so das wenn ich das Programm auf einem anderen Rechner starten will auch die .dll für das Design mit dabei ist und ich diese nicht extra im Anwendungsordner haben müsste, da wenn die .dll nicht dabei ist, das Programm ja erst gar nicht starten würde, im Projekt ist ein Verweis auf diese .dll angegeben da ich ja sonst nicht benutzen kann... Habe es mit IlMerge probiert mit folgendem Code:

ilmerge /target:winexe /out: ProgrammOut.exe WindowsApplication1.exe ComponentFactory.Krypton.Toolkit.DLL

da kommt leider folgende Fehlermeldung "Der ilmerge /target:winexe /out: NeuesProgramm.exe WindowsApplication1.exe ComponentFactory.Krypton.Toolkit.DLL-Befehl wurde mit Code 1 beendet." Ich kann daraus leider keine Schlussfolgerung ziehen...Hat vllt jmd eine Idee bzw. elegantere Lösung wie ich das hinbekomme?

31.07.2009 - 15:23 Uhr

ok danke so funktionierts, war nur vorns etwas verwirrt da ich das xtraform nicht gleich gefunden hatte.

(das einzigste was mich noch stört ist das im Designer noch das alte Design angezeigt wird, hab von Xtraform abgeleitet, nen Defaultlookandfeel hinzugefügt und eingestellt und auch die Main() geändert, zur Laufzeit siehts dann allerdings so aus wie es aussehen soll, ist nur nebensächlich deswegen auch in Klammern)

31.07.2009 - 14:08 Uhr

gibts noch ne andere Möglichkeit für Typ "var" Da ich noch VS2005 habe kann ich es da nicht verwenden wie ich gerade herausgefunden habe...

31.07.2009 - 13:29 Uhr

hallo, ich habe nun diese kostenlosen Controls geladen von Devexpress, funktioniert auch alles schön und gut ... aber das einzigste was ich nicht hinbekomme ist den style der Winform zu ändern diese bleibt immernoch im langweiligen WinXP Style, ich finde dazu auch keine einstellung bzw ein control wo man das einstellen kann. Bei den krypton forms gabs da gleich so nen manager mit dazu wo man den Style einstellen konnte. Habe im internet zwar was dazu gefunden aber das bringt nichts bei mir, dies stellt nur die Controls in der Form auf den angegeben Style um. Das hier habe ich schon alles ausprobiert:

DevExpress.LookAndFeel.UserLookAndFeel.Default.SetOffice2003Style();
            DevExpress.Skins.SkinManager.EnableFormSkins();
            DevExpress.Skins.SkinManager.EnableFormSkinsIfNotVista();
            DevExpress.LookAndFeel.UserLookAndFeel.Default.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Skin;
            DevExpress.LookAndFeel.UserLookAndFeel.Default.SetSkinStyle("Black");
            styleController1.LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Office2003;

vllt kann mir ja jmd dazu helfen, danke.

27.07.2009 - 13:11 Uhr

gibt es auch ein Listview Control im Office2007 Style? Bei Codeproject finde ich nix vernüftiges was unter XP passt.
Jap Krypton hat eine, die lässt sich auch Visuell bisschen umgestalten.

Ich habe das Krypton packet schon länger aber eine listview finde ich da leider nicht oder hat die da einen anderen namen?

werde mir auch mal das devexpress packet runterladen mal sehen was da so dabei ist.

Edit: Habe nun devexpress installiert aber bei mir habe ich auch bloß eine Trial Version, beim Setup konnte ich nichts einstellen und einen Account habe ich auch erstellt und nun kommt jedes mal ein Popup (von devexpress) wenn ich das Programm starten will.

23.07.2009 - 12:07 Uhr

gibt es auch ein Listview Control im Office2007 Style? Bei Codeproject finde ich nix vernüftiges was unter XP passt.

22.07.2009 - 15:44 Uhr

genau das war es, Danke. 👍

21.07.2009 - 15:52 Uhr

Hallo, habe nun leider wieder ein kleines Problem. Ich wollte mir zu Übung einen kleinen Explorer schreiben (ähnl. Windows Expl.) mit einem Treeview und einem Listview. Habe da im Internet auch schöne Beispiele gefunden, funktioniert auch alles soweit aber beim Starten (wenn die Verzeichnisse bzw. die Dateien in den Verzeichnissen ausgelesen werden sollen) kommt dann folgende Fehlermeldung:

System.IO.IOException: Das Gerät ist nicht bereit.

bei System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
bei System.IO.Directory.InternalGetFileDirectoryNames(String path, String userPathOriginal, String searchPattern, Boolean includeFiles, Boolean includeDirs, SearchOption searchOption)
bei System.IO.DirectoryInfo.GetDirectories(String searchPattern, SearchOption searchOption)
bei System.IO.DirectoryInfo.GetDirectories()
bei Datei_Explorer.Explorer.AddDirectories(TreeNode TN_SubNode) in D:\Eigene Dateien\Visual Studio 2005\Projects\Datei Explorer\Datei Explorer\Explorer.cs:Zeile 75.System.IO.IOException: Das Gerät ist nicht bereit.

Ich habe schon geschaut im Internet aber ich finde fast absolut nichts zu einer IO Exception "Das Gerät ist nicht bereit." Ich habe absolut keine Ahnung woran das liegt normalerweise muss er ja bloß das Verzeichnis auslesen und meine Festplatte funktioniert einwandfrei. Das komische ist bloß das dass Programm dann trozdem startet und alles normal anzeigt...

Das ist die Methode um die Ordner auszulesen (Bei den Dateien siehts ähnlich aus)

private void AddDirectories(TreeNode TN_SubNode)
        {
            // Methode um die Ordner zu erhalten bzw Ordner von den Ordnern

            trView_Folders.BeginUpdate();
            iDirectories = 0;

            try
            {
                DirectoryInfo DirInfo;

                if(TN_SubNode.SelectedImageIndex < 11)
                {
                    DirInfo = new DirectoryInfo(TN_SubNode.FullPath + "\\");
                }
                else
                {
                    DirInfo = new DirectoryInfo(TN_SubNode.FullPath);
                }
                DirectoryInfo[] DirInfo_Array = DirInfo.GetDirectories();

                TN_SubNode.Nodes.Clear();

                foreach(DirectoryInfo DirTemp in DirInfo_Array)
                {
                    iDirectories++;
                    TreeNode TN_SubNodeTemp = new TreeNode(DirTemp.Name);
                    TN_SubNodeTemp.ImageIndex = 11;
                    TN_SubNodeTemp.SelectedImageIndex = 12;
                    TN_SubNode.Nodes.Add(TN_SubNodeTemp);
                }
            }
            catch (Exception Expp) 
            {

                textBox1.Text += Expp.ToString();
            }

            trView_Folders.EndUpdate();
        }

An dem Punkt

DirectoryInfo[] DirInfo_Array = DirInfo.GetDirectories();

stürtzt das Programm ab bzw wirft die Exception.