Laden...

Forenbeiträge von mrdjoker Ingesamt 125 Beiträge

06.04.2011 - 20:13 Uhr

Vielen Dank BerndFfm,

genau sowas habe ich mir vorgestellt.

Besten Dank und einen schönen Abend noch

06.04.2011 - 20:00 Uhr

Danke für die schnelle Antwort!

Ich wollte mir die Mühe eigentlich ersparen, bei jedem Radiobutton das OnCheckChange Event zu benutzen.

Das wären nämlich bei 4x3 Radiobuttons 12 Methoden.

Gibts da nichts eleganteres?

06.04.2011 - 19:19 Uhr

Hallo zusammen,

ich stehe gerade auf dem Schlauch.. ich suche eine gute Möglichkeit,
wie ich Radiobuttons synchronisieren kann.

Ich habe 3 Groupboxen mit jeweils 4 Radiobuttons (siehe Bild).

Ich möchte die Radiobuttons so synchronisieren, dass immer alle Radiobuttons einer Zeile aktiviert werden.
Im Bild wäre das z.B. die oberste Zeile. Klickt man nun einen Radiobutton in der 2. Zeile an,
so sollen in allen Groupboxen die 2. Zeile markiert werden.

Über hilfreiche Ideen wäre ich sehr dankbar.

Gruß
mrdjoker

21.03.2011 - 18:18 Uhr

Hallo zusammen,

wie ich soeben festellen musste, ist es gar nicht so leicht, dass Aufnahmedatum eines Bildes auszulesen.
Folgende Versuche liefern falsche Ergebnisse:

fileInfo.LastWriteTime
fileInfo.LastAccessTime
fileInfo.LastCreationTime

Nach ewiger Suche habe ich nur ein Buch gefunden, wobei die entscheidende Seite fehlt:Google Bücher

Kann mir jemand einen Tip gegben?

Vielen Dank schon einmal..
cheers mrdjoker

//EDIT
man muss unter dem Stichwort EXIF suchen..

22.08.2010 - 18:00 Uhr

Vielen Dank Computer_Case!

Die Lösung ist zwar nicht die schönste, reicht aber für meine Zwecke.

Gruß
mrdjoker

21.08.2010 - 19:14 Uhr

Hallo zusammen,

helft mir doch mal bitte schnell auf die Sprünge.
Ich möchte ein MonthCalendar Control ohne Rahmen anzeigen lassen.
Das ist bestimmt ganz easy, nur irgendwie stehe ich gerade auf dem Schlauch.

Gruß
mrdjoker

13.07.2010 - 08:53 Uhr

Hat keinen größeren Sinn 😉
Das soll nur nen kleines Hilfstool für die Mitarbeiter sein, eine zentrale Datenbank ist dafür nicht notwendig.

13.07.2010 - 08:30 Uhr

Natürlich greifen nicht alle 1000 Benutzer auf eine Access DB zu.
Jeder hat eine lokale zu liegen.

12.07.2010 - 21:44 Uhr

@ FZelle
Wer sagt denn, dass ich am Schluss über so etwas nachdenke?
Ich habe dem Kunden gerade mal einen Prototypen gegeben.
Ich versteh trotzdem was du meinst 😉

Machen wir uns nichts vor, eine richtige Datenbank sollte zumindestens Rollbacks durchführen können,
schon allein aus dem Grund ist MS Access eher eine Spiele-Datenbank.

Gibt es nun einen Weg, wie ich trotzdem MS Access benutzen kann, ohne MDAC updaten zu müssen?
Der Vorteil an Access ist nämlich, dass die Daten mit Office-Mitteln leicht weiter verarbeitet werden können, daher würde ich nur ungern auf Access verzichten.

Vielen Dank schon mal für euer Feedback.

12.07.2010 - 20:04 Uhr

Zu 1. Der Kunde hat über 1000 PCs herumzustehen, da ist es wirtschaftlicher mein Tool den Gegebenheiten anzupassen, als umgekehrt.

Zu 2. Warum OLEDB: Weil Access laut versch. Foren am performantesten via OLEDB kommunizieren kann.

Zu 3. SQLite oder Firebird werden doch auch mit Api's aus der MDAC angesprochen?

Wenn ich dich richtig verstehe soll ich die Connection einfach mal via ODBC aufbauen?
Ich hoffe mal, dass ich dann keine Meldung bekomme, dass Version 2.6 benötigt wird.

Ich teste das mal morgen..

11.07.2010 - 16:45 Uhr

Ich benutzte OLEDB:


        public int ManipulateDB(string queryString)
        {
            int result = 0;
            using (OleDbConnection sqlConn = new OleDbConnection(MyConString))
            {
                OleDbCommand sqlCmd = new OleDbCommand(queryString, sqlConn);
                sqlConn.Open();
                result = sqlCmd.ExecuteNonQuery();
                sqlConn.Close();
            }
            return result;
        }
11.07.2010 - 07:43 Uhr

Mein Programm ist ein Mitarbeiter Arbeitszeiterfassungstoool.
Es werden also nur ein paar Inserts, Update und Delete Statements abgeschickt.

10.07.2010 - 20:47 Uhr

So ein Mist!

Da bleibt mir wohl nichts anderes übrig, als auf XML zurück zu greifen.

10.07.2010 - 20:11 Uhr

Na damit das Programm ordentlich mit der Access DB kommunizieren kann.
Zur Zeit ist es beim Kunden einfach nicht lauffähig.

10.07.2010 - 07:30 Uhr

verwendetes Datenbanksystem: MS Access

Hallo zusammen,

ich bekomme folgende sinngemäße Fehlermeldung beim Zugriff auf MS Access:
"Es wurde nur die MDAC Treiber Version 2.51 gefunden, gebraucht wird 2.6"

Leider ist es dem Kunden unmöglich eine neue Version von MDAC zu installieren.
Gibt es eine Möglichkeit mein Programm mit der MDAC Version 2.51 zu kompilieren?

Vielen Dank

sonnige Grüße
mrdjoker

17.12.2009 - 16:30 Uhr

Man kann Dateien kopieren, auch wenn sie in Benutzung sind.
Wenn ich mich richtig erinnere, gibt es dazu ein Flag, ReadOnly oder so.
Momentan habe ich keine Entw. Umgebung, daher kann ich es dir nicht posten.

11.12.2009 - 15:09 Uhr

Ich versteh es nicht, jetzt funktioniert es mit einmal.
Dabei habe ich gar nichts am Quellcode/Rechner geändert.

Trotzdem Danke für eure Lösungsvorschläge!
Viel Spass beim 3. Advent..

11.12.2009 - 11:11 Uhr

Ich habe eben deinen Code bei mir ausprobiert und er funktioniert einwandfrei, sofern das Zielverzeichnis existiert und die Datei nicht vorhanden ist.

Genau das ist mein Problem.
Die Methode ist sowas von simpel und funktioniert aus unerklärlichen Gründen nicht.

@gX|progs
Oh sorry, da habe ich wohl vergessen, die Zieldatei vorher zu löschen.
Selbst mit überschreiben = true bekomme ich eine IOExeption, siehe oben.

Heute Abend werde ich mal das Copy von Fileinfo probieren.

11.12.2009 - 10:26 Uhr

Ich habe heute erst mit dem Projekt angefangen, noch benutze ich keine Threads.

Ich habe mal nen Screenshot von meiner Methode gemacht:

11.12.2009 - 10:02 Uhr

Bei FileNotFoundException steht:
sourceFileName wurde nicht gefunden.

Meine Fehlermeldung sagt aber, dass die Zieldatei nicht gefunden wurde.
Doch die soll doch erst erstellt werden, warum prüft er da, ob die vorhanden ist?

Irgendwas scheint bei mir richtig kaputt zu sein. Wenn die Zieldatei bereits besteht, dann bekomme ich mit

   System.IO.File.Copy(src, dest,true);

eine IOExeption "Die Datei ist vorhanden."
Dabei sagt doch das True, dass die Datei überschrieben werden soll.

11.12.2009 - 09:23 Uhr

Hallo Zusammen,

ich versteh die Welt nicht mehr.
Warum wirft File.copy() eine FileNotFoundExeption:


String src = "c:\\AUTOEXEC.BAT";
String dest = "d:\\backup\\AUTOEXEC.BAT";
System.IO.File.Copy(src, dest);

Als Fehlermeldung erhalte ich
Die Datei "d:\backup\AUTOEXEC.BAT" konnte nicht gefunden werden.

Es scheint so, als würde er die Quell und Ziel Datei vertauschen.
Bin ich total blind, was mache ich falsch?

04.12.2009 - 16:46 Uhr

Socket ist schon das richtige Stichwort.
Ich empfehle dir folgenden Artikel zu lesen:
[Tutorial] Client-/Server-Komponente über TCP-Sockets

Den Client kannst du in deinem Fall natürlich weglassen.

03.12.2009 - 18:29 Uhr

Welchen Zweck soll das ganze haben?

Das ist die entscheidende Frage.

Datenaustausch zwischen 2 Threads über Textdateien/Datenbanken ist aus meiner Sicht total überflüssig.
Die beiden Threads können ohne Probleme untereinander kommunizieren, da braucht man keine externe Datenablage.

03.12.2009 - 15:45 Uhr

Hallo snupi

Wie oft möchtest du dein Problem noch durchkauen?
herbivore hat dir doch schon eine passende Antwort geliefert:
textdatei gleichzeitig lesen (TH1) und schreiben (TH2) threadsafe ?

Gruß
mrdjoker

03.12.2009 - 08:25 Uhr

Ist es nicht besser, Threading zu benutzen, wenn man lange auf etwas warten muss?

Z.B. wenn man 500 Rechner anpingen möchte.
Mit einem Thread und einem Timeout von 200ms braucht man maximal 100 Sekunden.

Mit 64 Threads und dem gleichen Timeout braucht man rechnerisch 1,56 Sekunden.
Wenn man zu den 1,56 Sekunden noch etwas Schedulingzeit hinzufügt ist man
trotzdem um einiges schneller als hätte man einen Thread verwendet.

Korrigiert mich, wenn ich falsch liege.

02.12.2009 - 23:05 Uhr

Hallo,

64 Threads habe ich verwendet, da mein Programm mehrere WMI Queries
über das Netzwerk schickt und diese dann in der DB logg
und das geht mit mehreren Threads nun mal schneller.

Interessant wäre auch noch zu wissen mit welcher Technologie die Datenzugriffe erfolgten.

Ich habe eine OleDbConnection verwendet.

da beim 1. Aufruf/Ausführung die "Kaltstartproblematik" greifen könnte

Die Kaltstartproblematik wurde im Test bereits berücksichtigt.

Gruß
mrdjoker

02.12.2009 - 22:07 Uhr

Danke euch beiden.

Die Performance von Firebird werde ich morgen testen.
Ein kleine Test Datenbank mit Firebird anzulegen scheint etwas Zeitaufwändiger zu sein.

Und danke für den Link mit den Datenbank Empfehlungen.
Ich hatte zwar die Forensuche bemüht nur leider findet man bei Datenbanken sehr viele Beiträge.

Inwzischen habe ich MS Access mit SQL Server Compact 3.5 verglichen:

Die Testdatenbanken bestanden aus einer Tabelle, welche 2 Spalten hatte.
Eine Spalte mit einem Autowert/Sequenz und eine Spalte mit Text.

1 Thread mit 1000 inserts:
Access: 46 Sekunden
Compact: 27 Sekunden

64 Thread mit jeweils 100 Inserts:
Access:** 5 Minuten**
Compact: **:::

02.12.2009 - 19:05 Uhr

Hallo Zusammen,

ich suche eine performante Embedded Datenbank (Datenbank, die ohne Server läuft).

Momentan muss ich mein Programm stark zügeln,
da MS Access nur ca 270 Insert Anweisungen pro Sekunde verarbeiten kann.

Ich habe folgende Datenbanken gefunden:
SQL Server Compact 3.5
MySQL Embedded Server 5.1
SQLite

Habt ihr noch weitere Vorschläge und welche ist in Sachen Performance zu empfehlen?

//Edit
Die Datenbank sollte genauso wie Access ohne Installation auskommen
und muss nicht zwingend mehrfach User fähig sein.

Gruss
mrdjoker

29.11.2009 - 10:18 Uhr

Ja habe ich, bzw. so hat es der Designer für mich gemacht.

Ich stelle gerade noch ein anderes Phänomen fest:
Nach 1x compilieren, bekomme ich gar keinen Status ausgegeben,
beim 2x Compilieren wird mir "ab und zu" was ausgegeben.
Mein BackgroundWorker liest ca 20 Webseiten aus und soll auf dem ToolStripStatusLabel jeweils die URL ausgeben, die er gerade einliest.
Beim 2. Compilieren bekomme ich wenigstens jede 5. URL ausgegeben.

Ich kann mir das nicht erklären.

28.11.2009 - 23:54 Uhr

Hallo Zusammen,

langsam reicht es mir mit dem ToolStipStatusLabel,
das ist jetzt schon mein 2. Projekt bei dem Textänderungen nicht übernommen werden!

Ich habe einen BackgroundWorker laufen, der seinen Status an das Formular melden soll:


  private void backgroundWorkerGetNews_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {

            String status = (string)(e.UserState);
            Console.WriteLine("GetNews_ProgressChanged  " + status);
            toolStripStatusLabel1.Text = status;
        }

Auf der Console bekomme ich den Status ausgegeben, nur leider nicht auf dem Formular.
Was mich wundert ist, dass die Ausgabe auf einem System.Windows.Forms.Label korrekt erfolgt.

Woran kann es liegen, dass auf einem Label der Text korrekt angezeigt wird
und auf einem ToolStripStatusLabel nicht?

Hoffentlich kann mir jemand weiterhelfen, ich bin am verzweifeln..

06.11.2009 - 12:11 Uhr

In meiner Umgebung werden die Pings nicht geblockt, das habe ich schon getestet.

Wer noch mehr Infos zum Ping haben möchte, ich habe hier eine sehr umfassende Seite gefunden:
http://it-republik.de/dotnet/artikel/Verbindungstest-0551.html

//Edit
Dieses Codebeispiel könnte auch noch helfen:
PING einer hosts ohne admin rechte

06.11.2009 - 11:30 Uhr

Sehr schön, dann mach ich mich mal ans Werk.

Was mich nur wundert ist, dass bisher niemand auf die selbe Idee gekommen ist.
Außer einer Unix implementation habe ich bisher zu diesem Thema nichts gefunden.

06.11.2009 - 10:58 Uhr

Hallo zusammen,

ganz kurze Frage:
Ist es mit C# oder sogar mit Java möglich einen ICMP Tunnel aufzubauen?

Vielen Dank schon mal für die Antworten..
Gruß
mrdjoker

27.10.2009 - 13:04 Uhr

Halte dich fest, hier gibts nen richtig geiles Beispiel:
Gewusst wie: Verwenden von Threadpools (C#-Programmierhandbuch)

28.09.2009 - 13:11 Uhr

Beim nächsten Post bitte [Hinweis] Wie poste ich richtig? beachten, vorallem 1.1.1

-1 bedeutet der String wurde nicht gefunden.

String.contains ist evtl. besser angebracht.

28.09.2009 - 12:05 Uhr

Du könntest einen Broadcast Ping absenden und das Echo mitsniffen.
Damit kannst du alle Rechner ermitteln, die nicht hinter einem Router sind.

26.09.2009 - 13:33 Uhr

Ich melde schonmal mein Interesse für dein Programm/Sourcecode an.

Deine Lösung kann ich nämlich sehr gut gebrauchen.

Gruß
mrdjoker

22.09.2009 - 15:07 Uhr

Cool, Danke Tom

Das kann ich sehr gut in einem Projekt von mir verwenden.

22.09.2009 - 14:05 Uhr

global Hooks ist das Stichwort!

21.09.2009 - 13:26 Uhr

Du könntest das Aufpoppen des ICQ Fensters mittels AutoIT registrieren und anschließend deine Anwendung minimieren.

Irgendwo hier im Forum gabs sogar eine AutoIT Dll, die man einfach in sein Projekt einbinden konnte.

//Edit
http://www.lancelarsen.com/Blog/tabid/72/EntryId/48/AutoIt-C-Helper-Library.aspx

11.09.2009 - 07:56 Uhr

2% CPU Auslastung sind immer noch viel zu viel.

Ein Server/Client Chat läuft normaler Weise bei 0% Auslastung, es sei denn, es sind sehr viele Clients angemeldet.

Teile deine Anwendung und teste, ob der Client oder der Server die Last verursacht.

10.09.2009 - 18:01 Uhr

Verständnisfrage:
Du hast ein Programm mit 2 Forms?

Wenn ja, dann ist es ganz einfach, du speicherst eine Referenz von Form2 in Form1.
In Form1 rufst du dann die Funktion

form2.addNachricht(text) 

auf, die du natürlich in Form2 implementiert haben musst.

24.08.2009 - 17:17 Uhr

Das hört sich ganz stark nach der standard Frage an: [FAQ] Kommunikation von 2 Forms

Gruß
mrdjoker

29.07.2009 - 08:22 Uhr

Du könntest auch die Ordnerüberwachung über die Ordnereigenschaften einschalten.
Anschließend wird jeder Zugriff in der Ereignisanzeige geloggt.

Allerdings denke ich, dass EasyHook die bessere Wahl sein wird.

Gruß
mrdjoker

19.07.2009 - 14:36 Uhr

Okay "überall" ist sehr schwammig.

Vereinfacht habe ich 2 KLassen: GUI und BusinesLogic
In der Gui wird die Liste in einer ListBox angezeigt und die Klasse EmailController arbeitet mit der Liste.

Wenn ich das jetzt richtig verstanden habe, soll ich die Liste in der Klasse EmailController ablegen.
Da die Gui eine Instanz des EmailControllers beinhaltet, kann diese auch auf die EmailListe zugreifen.

Eine interessante Diskussion zum Thema gibts hier:
Die ideale Architektur für Businessapplikationen?

19.07.2009 - 12:02 Uhr

Hallo zusammen,

ich habe in meinem Projekt eine Email Liste, auf die ich ständig zugreifen muss.
Nun ist die Frage, wo lege ich diese ab, um immer Zugriff zu haben?

Momentan liegt die Liste in einer Access DB, auf die Access DB hat eine Singelton Klasse Zugriff.
Leider unterstützt Access nur ca 300 Abfragen pro Sekunde, daher möchte ich die Emailliste in den Arbeitsspeicher ablegen:

 List<String> listEmail = new List<String>();

Soll ich die Liste in die Forms Klasse packen?
Vor wenigen Wochen, hätte ich die Liste in einer Singelton Klasse abgelegt, doch davon ist ja abzuraten.

Ich freu mich schon auf Vorschläge..
Gruß mrdjoker

19.07.2009 - 08:50 Uhr

Guten Morgen,

ohne es genau zu wissen, würde ich sagen, dass es nicht möglich ist.
Ich habe noch keine Software gesehen, die das machen konnte.
Sowas kann man denke ich nur im Bios einstellen.

Gruß
mrdjoker

07.07.2009 - 20:08 Uhr
    public class TEST  
    {  
        int q;  
        public int Q  
        {  
            get  
            {  
                return q;  
            }  
  
            set  
            {  
                q = value;  
            }  
        }  
    }  

Setze die Klasse einfach static und du kannst immer darauf zu greifen.

//Wobei herbivore natürlich Recht hat, dass die Parameterübergabe sauberer ist.

07.07.2009 - 20:04 Uhr

Das Stichwort lautet: Threadprogrammierung!

Nehme am besten in Verbindung mit einer GUI den BackgroundWorker!

14.06.2009 - 20:21 Uhr

Cooles Tutorial, hier werde ich in Zukunft öfter rein schauen.

Sorry für den Augenkrebs =)