2 Stimmen

Wie soll ich meine Daten speichern?

Ich habe zwei Strukturen wie folgt:

public struct KeyLog
{
    Keys key;
    DateTime time;
}

public struct MouseLog
{
    MouseEvents mouse;
    Point coordinates;
    DateTime time;
}

Für jeden Tastendruck und Mausklick möchte ich diese Daten speichern, aber ich weiß nicht, welcher Weg am effizientesten ist, um sie zu speichern/behandeln. Gibt es bessere Möglichkeiten, die Daten zu verarbeiten - ich bin mir nicht sicher, ob es besser ist, beide in einer Struktur zu vereinigen?

Bearbeiten: Ich arbeite an einer Tastatur- und Mausstatistik-Anwendung, die die Anzahl der Tastendrücke und Mausklicks sowie welcher Knopf gedrückt wurde, wo und wann für meinen Computer speichern soll und ich möchte diese Daten jedes Mal speichern, wenn eine Taste gedrückt wird. Nicht unbedingt jedes Mal auf die Festplatte schreiben, aber zumindest in den Speicher speichern, bis ich sie auf die Festplatte speichern möchte.

Bearbeiten: Ich dachte, dass wenn ich die beiden Strukturen getrennt halte, ich nicht zu viele redundante Daten erzeugen werde, und dann kann ich sie einfach suchen/sortieren, wenn ich sie getrennt halte. Was denkst du?

0 Stimmen

Ich gehe davon aus, dass in Ihrer Anwendung die Felder öffentlich sind?

0 Stimmen

Wo möchtest du diese Daten speichern? In einer Textdatei, einer Datenbank?

0 Stimmen

Was bedeutet Speichern? Meinst du damit das Schreiben auf eine Festplatte?

0voto

EKS Punkte 5403

Ich würde es in einer Struktur speichern, da es als Programmierer wahrscheinlich Zeit sparen wird. Es wird einfacher sein, besonders wenn Sie die Datei später speichern/laden. Es gibt wenig zu gewinnen, indem Sie die von Ihnen beschriebenen Strukturen verwenden.

Und wenn das zu einem Leistungsproblem werden sollte, profilieren Sie den Code, sehen Sie, wo Engpässe sind, und beheben sie dann.

0voto

Hamish Grubijan Punkte 10258

Müssen Sie sich um Unicode kümmern oder kann das ASCII sein? Ich würde sagen, XML ist dein Freund. Mischen Sie die beiden nicht, sondern erstellen Sie beide Klassen, die beide Kinder eines abstrakten EventLogs sind. Die EventLog-Klasse muss Sie zur Implementierung einer toString()-Methode zwingen, vielleicht auch ein paar andere Methoden. Haben Sie dann eine Liste von EventLogs, bei der jedes EventLog entweder ein KeyLog oder ein MouseLog ist. Ich frage mich, ob Sie das Rad neu erfinden ...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X