Laden...
Avatar #avatar-3270.png
Benutzerbeschreibung

Forenbeiträge von vitafit Ingesamt 23 Beiträge

13.01.2019 - 14:19 Uhr

Danke für deine Rückmeldung, ich hatte mir sowas schon gedacht.

13.01.2019 - 09:20 Uhr

Guten Morgen,

ich suche nach einen Denkanstoß für einen speziellen Rechtschreib-Algorithmus: Ich möchte vollständige Sätze auf "das / dass"-Fehler prüfen.

Leider bin ich gedanklich etwas verloren: Wie werden solche Probleme gelöst?
Ich wünschte es gäbe eine mathematische Lösung 😁

In dem Sinne: Ich bin dankbar für jeden Denkanstoß! (kein Code, Theorycraft...)

Gruß
vitafit

21.08.2013 - 07:52 Uhr

Danke für euer Feedback,

werde ich so machen.

Gruß
vitafit

20.08.2013 - 18:02 Uhr

Guten Abend zusammen,

kurze Frage: Weiß jemand hier, wie und/oder ob ermittelt werden kann, sobald die Scrollbar in einem ListView sich dem Ende nähert (oder alternativ das Ende erreicht hat)?

Ich bin zwar durch eine eigene ListView-Klasse (implementiert ScrollEventHandler) in der Lage, zu erkennen, wenn in der ListView gescrollt wird, kann aber keine Position oder eben eine Art Ende ausmachen.

Hintergrund warum ich Frage ist, dass ich gerne weitere Daten in meinem ListView nachladen möchte, sobald das Ende erreicht ist. Mache ich das Nachladen jedes Mal sobald ich scrolle, kostet es zuviel Performance was eigentlich nicht sein muss, wenn noch genung Items im sichtbaren Berreich sind.

Vielen Dank für eure Ideen!

Gruß
vitafit

25.11.2012 - 01:02 Uhr

Guten Morgen zusammen,

ich stege gerade etwas auf dem schlauch folgenden Code betreffend: (ich hab ihn extra vereinfacht, handelt sich normalerweise um eine DB-Query...)

string[] data = new string[] { "1", "2", "3", "4" };

            ArrayList final = new ArrayList();
            List<string> entrys = new List<string>();

            foreach (string n in data)
            {
                entrys.Clear();
                entrys.Add(n);
                final.Add(entrys);
            }

Wenn ihr das ganze durchlaufen lasst, habt ihr am Schluss 4x die "4" anstelle aller Zahlen... mein Ziel ist es, mehere elemente und einer Liste vom Typ String zusammeln und diese anschließend in eine ArrayList hinzuzufügen. In diesem Beispiel erscheint das nicht sinnvoll, in größeren komplexen Querys allerdings schon.

Wo liegt mein Fehler? Wieso werden jedesmal die zuvor eingefügten Werte überschrieben?

29.10.2012 - 21:28 Uhr

Guten Abend zusammen,

die Tage werden kürzer, es ist kalt und somit eindeutig Zeit mal wieder etwas zu programmieren. Gesagt, getan bin ich mehr oder minder zufällig auf eine Funktion in der Kernel-32 Lib gestoßen, die mich doch schon etwas neugierig macht. Geht dabei um folgendes:

UnlockFile function

Vorweg weiß ich auch nach einiger Recherche sowie eigener Erfahrungen nach, dass es selten eine saubere Lösung ist, einen bestehenden Zugriff einfach so zu beenden. Nur hin und wieder kommt es vor, dass jenes mehr oder minder unsaubere 3. Anbieter Programm vergisst, die Zugriffe auf Daten ordentlich zu schließen. Daher hat die Funktion schon eine gewisse Existenzberechtigung 😁

Lange Rede kurzer Sinn: Ich hab gewisse Interpretationsschwierigkeiten mit den erwarteten Parametern. Praktischerweise findet sich gleich eine passende Deklaration im Artikel:

[Dllmport("kernel32.dll", SetLastError=true)]
internal static extern bool UnlockFile(IntPtr handle, int offsetLow, int offsetHigh, int countLow, int countHigh);

Leider ist mir nicht so ganz klar, was es mit welchem Parameter auf sich hat. Ich wage einmal eine holprige Interpretation von dem, was ich meine verstanden zu haben:

hFile > Zeiger auf die entsprechende Datei, wie genau wird dieser Handle übergeben?
dwFileOffsetLow / dwFileOffsetHigh > Vermutlich der Einstiegspunkt ab dem "befreit" werden soll?
nNumberOfBytesToUnlockLow / nNumberOfBytesToUnlockHigh > Die Anzahl der zu befreienden Bytes innerhalb der Datei? Lässt sich hier pauschal einfach die ganze Datei "befreien"?

Wäre nett wenn wenn sich jemand unter euch kurz die Mühe machen würde, mir kurz auf die Sprünge zu helfen.

Danke!
Gruß vitafit

18.10.2012 - 19:49 Uhr

Desweiteren kann weder der Explorer noch der dir-Befehl ADS anzeigen.
Daher kann ich auch mit einer für den Nutzer scheinbar 1Byte großen Datei die gesamte Festplatte füllen.
Also: acht geben, wofür man die ADS nutzt und dem Nutzer immer (spätestens bei der Deinstallation) die Möglichkeit gewähren, alle erzeugten ADS auch wieder zu entfernen.

Da muss ich dir wiedersprechen - dir /R offenbart dir sofort, ob ein Stream in der Datei versteckt ist - diese lassen sich auch ohne Probleme (eben im Selbsttest Windows 8 ausprobiert) öffnen 😃

11.09.2012 - 19:20 Uhr

Hallo StelZenlaeufer,

zunächst sorry für die verspätete Antwort - ich hab die letzten Tage ein wenig rumprobiert und mir ziemlich oft den Kopf über dieses Problem zerbrochen. Unterm Strich muss ich sagen, dass ich leider noch keine zufriedenstellende Lösung gefunden habe.

Versteh mich nicht falsch, ich will keines wegs den Eindruck erwecken, als sei ich nicht selbst in motiviert genug um bis zum Erbrechen zu fummeln, aber irgendwie klappt es nicht so richtig. Im Netz findest du ein paar Beispiele, wie du Ansatzweise eine Richttextbox speziell in WPF in ein DataGridView integrierst. Vielleicht denke ich auch noch zu sehr in "Forms", aber so richtig gefällt mir dass alles nicht. Mal davon abgesehen, dass es mir nicht gelungen ist, ein Richttextview selbst zu integrieren, gefällt mir das ganze optisch auch überhaupt nicht.

Um auf den Punkt zu kommen: Ich möchte im grunde eine übersichtliche größentechnisch vorallem großzügig gestaltete "Tabelle" -> sprich ein DataGrid. Trotz der ganzen optimierungen und Einstellungen die du so vornehmen kannst, sieht es irgendwie alles nicht wirklich brauchbar aus.

Daher meine Frage: Wäre es zuviel, wenn ich nach einer kleinen "Anregung" deinerseits fragen würde? Ich kann mein Projekt gerne mal hochladen, wird dir allerdings nicht viel bringen, da du nicht mehr als eine verzogene von den Proportionen her unstimmige Tabelle siehst. Zeig mir doch bitte mal (gerne auch mit ein paar Hilfreichen Codeauschnitten, mit Richtextbox?) wie du sowas angehen würdest. Ich denke ich denke etwas zu eingeschränkt, Brett und Kopf und so 😄

Danke für deine (oder auch gerne eure, ihr seit alle herzlich eingeladen mich zu inspirieren!) Mühe!

Gruß
vitafit

06.09.2012 - 18:49 Uhr

Guten Abend zusammen,

ich stehe aktuell vor einer kleinen Problemserie, bei der es darum gilt, eine ganz normale relationale Datenbank abzubilden. Nehmen wir als Beispiel einmal folgende Tabelle:

(> Siehe Bild Anhang) oder: Klick!

Ich möchte (bzw. muss, ist eine Anwendung für einen etwas älteren Herren der sehr spezielle Wünsche hat) die oben angezeigte Datenbank gerne mit Hilfe von Richtextboxen umsetzen, da ich mit Hilfe dieser relativ einfach den Text formatieren und Bilder einfügen kann.

Zusätzlich muss ich die einzelnen Spalten sortieren können, also Name zum Beispiel A-Z oder Z-A - klar lässt sich einfach mit einer SQL-Query erledigen. Darum soll es hier allerdings garnicht gehen, so lange es keine Auswirkung auf die Wahl des Controlls hat.

Meine Frage einfach mal an die Runde: Wie würdet ihr das Ganze umsetzen? Ich hatte darüber nachgedacht, mehere Richtextboxen zu erzeugen, für jedes Feld, also für jede Spalte 4 Stück, würden wir von der oben gezeigten Tabelle ausgehen. Welches Controll ist eurer Meinung nach hierfür am besten geeignet?

Meine Anforderungen nochmal zusammengefasst:

  • Formatieren von Text und Einfügen von Grafiken (Durch eine Richtextbox abgedeckt...)
  • Sortieren nach jeweils einzelnen Spalten (Wie also Richtextbox in Tabelle integrieren...?)
  • Darstellen meherer Einträge gleichzeitig, daher Richtextboxen

Ich bin mir einfach nicht sicher, ob sich nicht eventuell ein anderes Controll besser dafür eignet? Sollte ich nun doch nicht so sehr auf dem Holzweg sein, wären ein paar Tipps / ein kleiner Stups in die richtige Richtung ganz nett!

PS: Das ganze steht in der WPf-Sektion da ich es mit WPF umzusetzen plane.

Danke für eure Aufmerksamkeit
Mit freundlichen Grüßen
vitafit

06.12.2011 - 19:05 Uhr

Ah dann war ich ja schon nah dran. Danke dir!

06.12.2011 - 18:52 Uhr

Guten Abend zusammen,

eine Kleinigkeit beschäftigt mich seit heute Mittag und ich will einfach nicht auf das WARUM kommen. Es geht um die Interaktionen zwischen verschiedenen Objekten bzw. Instanzen einer Klasse. Aber von Anfang an, meine Ausgangssituation ist wie folgt:
Ich habe eine Klasse klasse1, welche wie folgt aussieht:

class klasse1
    {
        private int i;

        public klasse1(int index)
        {
            this.i = index;
        }

        public void interagiere(klasse1 gegner)
        {
            gegner.test();
        }

        private void test()
        {
            Console.WriteLine(i.ToString());
        }
    }

Ich erstelle in meiner Main-Funktion zwei Instanzen von meiner Klasse:

klasse1 test = new klasse1(1);
klasse1 test2 = new klasse1(2);

und rufe die Methode interagiere (mit dem Parameter test2) auf. Funktioniert.
Auf dem Bildschirm wird eine 2 ausgegeben.

Folgende Fragen stellen sich mir nun:
Die Methode test() ist als private gekennzeichnet und sollte somit nur innerhalb der eigenen Instanz Verfügbar sein. Warum ist es allerdings möglich, auf die gleiche Methode einer anderen Instanz zuzugreifen?
Mein Zwischenstand bisher: Sobald ich 2 Objekte bzw. Instanzen der gleichen Klasse habe, können diese untereinander agieren. Versuche ich dass gleiche Konzept auf zwei verschiedene Klassen und entsprechende Instanzen zu übertragen, funktioniert es nicht. Meine Frage nun: Warum?

Vielen Dank
Mit freundlichen Grüßen
Vitafit

01.11.2011 - 20:57 Uhr

Auf lange Sicht führt aber eindeutig kein Weg an Singleton vorbei.
Ein Singleton ist selten die beste Lösung. Kannst du über
>
nachlesen.

Überzeugt. Die Konstruktor-Lösung muss her halten 😄

01.11.2011 - 20:40 Uhr

Vielen Dank euch beiden, hat mir wirklich geholfen. Werde wohl vorübergehend zu Coffeebgfoidl's Methodik greifen. Auf lange Sicht führt aber eindeutig kein Weg an Singleton vorbei. Danke!

01.11.2011 - 20:05 Uhr

Guten Abend zusammen,

ich habe derzeit mit einem vermutlich hausgemachten (nur in meinem Kopf?) vorhandenem Problem zu kämpfen. Ich möchte ich Objekt einer selbst geschriebenen Klasse in einem Timer erstellen. Um kurz zu veranschaulichen was ich damit meine:


void timer_Tick(object sender, EventArgs e)
{
  Challenge test1 = new Challenge();
  test1.run();
}

Problem dabei ist, dass Challenge nur exakt einmal erstellt werden darf (ungeachtet welche Logik dahinter steht und wie meine Klasse aussieht). Leider will es mir nicht gelingen, eine passende If-Kontrollstrutkur zu formulieren. Mein erster Gedanke war, dass ich ein Objekt vom Typ Object vordefiniere und später dann einfach caste. Ich würde also einfach prüfen, ob test1 vom Typ System.Object ist und dann entsprechend den cast vornehmen. Dabei treten die beiden Probleme auf, dass das Visual Studio es nicht zulässt, die Run-Methode aufzurufen, sofern sich die Initialisierung in einer Kontrollstruktur befindet. Hinzu kommt, dass zum Zeitpunkt vor dem Programmstart noch keine Methode Run existiert. Letzteres Problem hätte ich mit einer leeren Methode lösen können, kam mir also aber sehr unsauber vor.

Meine Bitte / Frage also an euch, was habe ich hier für Möglichkeiten?

Danke.

Mit freundlichem Gruß
Vitafit

13.07.2011 - 21:05 Uhr

Guten Abend alle zusammen,

nach etwas anfänglichen Schwierigkeiten ist es mir nun endlich gelungen einen Multithreaded-Server aufzusetzen und ich bin begeistert wie gut das funktioniert 😃

Wo ich allerdings noch hänge ist folgende Thematik: Ich möchte meine verschiedenen Server-Instanzen gerne über eine GUI steuern können um diese zum Beispiel zu beenden. Jetzt laufen die Instanzen allerdings in einem Thread. Ich habe bereits grob von der Thematik mit dem Invoke gehört, wie es allerdings genau funktioniert, ist mir nicht ganz klar. Außerdem bin ich auch noch überfragt, wie ich dass mit der Zuordnung lösen soll. Falls nicht ganz klar ist was ich machen will: Sobald eine neue Instanz für einen Server erstellt wird, soll diese in einem Listview auftauchen über den ich anschließend zum Beispiel die Instanz bzw. den Thread beenden kann. Wie ich natürlich grundsätzlich mit einem Listview umgehe ist mir klar 😃

Hier mein aktueller Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Net.Sockets;
using System.IO;

namespace server_thread
{
    class Program
    {
        static void Main(string[] args)
        {
            TcpListener serverSocket = new TcpListener(8888);
            TcpClient clientSocket = default(TcpClient);
            int counter = 0;

            serverSocket.Start();
            Console.WriteLine(" >> " + "Server gestartet");

            counter = 0;
            while (true)
            {
                counter += 1;
                clientSocket = serverSocket.AcceptTcpClient();
                Console.WriteLine(" >> " + "Client Nummer:" + Convert.ToString(counter) + " connected!");
                handleClinet client = new handleClinet();
                client.startClient(clientSocket, Convert.ToString(counter));
            }

            clientSocket.Close();
            serverSocket.Stop();
            Console.WriteLine(" >> " + "exit");
            Console.ReadLine();
        }
        
        public class handleClinet
        {
            TcpClient clientSocket;
            string clNo;

            public void startClient(TcpClient inClientSocket, string clineNo)
            {
                this.clientSocket = inClientSocket;
                this.clNo = clineNo;
                Thread.CurrentThread.Name = "server";  // Falls es irgendwie hilft bei der Wiedererkennung?
                Thread ctThread = new Thread(doChat);
                ctThread.Start();
            }

            private void do_something()
            {
                // Hier werden dann Nachrichten zum Server gesendet usw.
            }     
        } 
    }
}

Vielen Dank schon mal für eure Antworten!

29.05.2011 - 16:51 Uhr

Ich empfehle dir Zertifizierungen abzulegen. So hast du größere Chancen auf Projekte. Zusätzlich schadet eine Internetpräsenz nicht. Schreib deine Fähigkeiten rein, schreib über programmiertechnische Probleme. Mach dich bekannt.

Was sind das für Zertifikate? Gibt es da bezahlbare auch zum Beispiel für Azubis mit einem etwas kleineren Geldbeutel? (Hintergrund ist der, dass ich derzeit eine Ausbildung im Servicebereich mache, sprich nichts in Sachen Anwendungsentwicklung. Nach Abschluss plane ich allerdings, mich in der Richtung zu bewerben. Was hab ich für Möglichkeiten an Zertifikaten usw.?

17.05.2011 - 22:29 Uhr

Der einzige Build der bei mir nicht meckert, ist die Version 2 Portable aber wirkliche Ergebnis sehe ich dabei nicht 😉
Naja, ich suche dann mal weiter...

17.05.2011 - 22:22 Uhr

Welche Version des API Monitors nutzt du?

17.05.2011 - 21:55 Uhr

Danke, habe die letzte Version getestet - Scheint kein .NET zu supporten?

17.05.2011 - 21:26 Uhr

Hallo zusammen,

danke erstmal für die Antworten. Das mit den eigenen Controls usw. habe ich auch schon festgestellt / gelesen / vermutet. Allerdings bin ich mir sicher, dass es einen Lösungsweg geben muss. Der Grund warum ich eine solche Software schreiben möchte, ist der das eine alte Software die genau diese Funktion bereit stellt, dies nun nicht mehr tut, da Sie in ein Webinterface umgezogen ist.
Ich habe leider keinerlei Kenntnisse um hier ein Reverse Engineering oder ähnliches durchzuführen. F8 ist in Firefox nicht belegt. Ich habe allerdings festgestellt, dass die andere Software überall funktioniert. Egal in welchem Programm. Drücke ich zum Beispiel in Firefox F11 (während die alte Version des anderen Programmes läuft) passiert genau das, was passieren soll. Nichts weiter. Obwohl Firefox normalerweise mit F11 in den Vollbildmodus wechselt.
Bei meinem Hook verhält es sich eher so, dass Firefox dann direkt in den Vollbildmodus wechselt. Vielleicht hilft das ja irgendwem hier für einen Ideen-Ansatz ich bin nämlich langsam leer davon...

Danke!

16.05.2011 - 18:39 Uhr

Guten Abend alle zusammen,

ich habe ein kleines Problem was mich nun schon seit etlichen Stunden beansprucht und mir keine Ruhe lässt. Leider bin ich noch zu keiner Lösung gekommen.
Grundsätzlich nutze ich folgenden KeyboardHook (Danke hier nochmal an Ayke für den tollen Hook!):
KeyboardHook, MouseHook, WindowHook [HookInput]

Mein Ziel ist es, beim drücken der Taste F8 einen Sendkey mit der Kombination STRG + C auszulösen. Anschließend soll ein markierter Text (das hat der Nutzer schon getan bevor er die Taste gedrückt hat) aus der Zwischenablage kopiert werden. Das funktioniert auch grundsätzlich:

private void key_press(object sender, KeyEventArgs e)
{
            try
            {
                SendKeys.SendWait("^(C)");
                zwischenablage = Clipboard.GetText();     n
              }
            catch { /*this.Close();*/  }
            e.Handled = true;
}

Problem dabei ist, es funktioniert im Notepad und überall da, wo ich ein Text-Eingabe-Feld habe. In dem Moment, wo ich allerdings in einem Browser oder einem anderen Programm einen Teil eines Textes markiere und dann F8 drücke, funktioniert es nicht. Hat jemand eine Erklärung / Idee wieso sich das so unterschiedlich verhält?
SendKeys ist denke ich hier das Problem oder?

15.05.2011 - 13:52 Uhr

Danke für deine Antwort,
ich werde es testen und Rückmedung geben.

15.05.2011 - 12:14 Uhr

Guten Morgen allerseits,

ich arbeite gerade an einem all zu häufig bekanntem Problem. Dem Focus von Fenstern. Ich habe nun 3 Stunden und mehr damit verbracht, dieses Forum, Google und sonstige Quellen nach einer funktionierenden Lösung zu durchsuchen. Ich nutze Windows 7. Alle Lösungsansatze mit Win32API (SetForGroundWindow usw...) inklsuvie diverser verzweifelter .NET Methoden:


this.Focus();                               // Focus auf Form setzen
                this.TopMost = true;
                this.textBox1.Focus();                      // Focus auf Text setzen
                this.textBox1.Select();               
                this.ActiveControl = this.textBox1;
                this.BringToFront();
                this.textBox1.BringToFront();
                this.textBox1.Focus();
                this.textBox1.ScrollToCaret();  

schlugen viel. Ich bin mir relativ sicher, dass die Art und Weise wie ich sie angewendet habe, richtig war. Schließlich ist es mehr als ausreichend dokumentiert und von den vielen Beispielen wollen wir garnicht reden. Nichts desto trotz funktioniert es nicht. Mein Ziel ist folgendes:

Ich prüfe im Moment einen globalen Keyboard-Hook welcher tadellos funktioniert. In dem Moment wo ich eine Taste-Drücke, soll die TextBox1 auf meinem Form in den absoluten Focus geraten. Das tut sie grundsätzlich ja auch, erkannbar daran, dass der schwarze Strich blinkt. Der Focus liegt aber immer noch auf meinem anderen Fenster. Testweise meistens Notepad. Ich gebe also aktiv immer noch in Notepad Text ein. Ich wollte erst einfach über den Globla-Hook die Enter/Escape-Geschichten abfangen, macht aber im Nachhinein meines erachtens nach keinen Sinn. Ich kopiere den markierten Text, wenn ich also in nem Notepad etwas makriere und ENTER drücke dann ist es weg. Also nicht Sinn und Zweck der Übung.
Jetzt kommt ihr ins Spiel, wie bekomme ich den Focus vernünftig gelöst unter Windows 7? Ist übrigends nur eine Vermutung, muss nicht zwingend etwas mit Windows 7 zutun haben.

Danke!