Kleines Tool



  • Schönen guten Abend

    Nach einer sehr langen Abwesenheit, nicht nur von diesem Board sondern auch der Programmierung bin ich wieder mal hier - wer hätte es geahnt - mit einer Frage.

    Und zwar möchte ich mich aus beruflichen Gründen mal wieder etwas mit der Anwendungsentwicklung beschäftigen. Dazu möchte ich mir ein kleines Tool schreiben was eigentlich gar nicht so viel können muss.
    Er muss in Spalte 1 eine 7-8 Zeichen lange kette speichern die mit einem Buchstaben beginnt und mit einer 6 oder 7 stellen langen Zahl weiter geht. Der Buchstabe ist recht wichtig für eine Spätere Auswertung. Spalte 2 enthält eine 10 stellige Zahl. Spalte 3 einen Flag ob Zusatzinformationen vorhanden sind.

    Die Zusatzinformationen sollen in einem zusätzlichen Fenster erzeugt werden. Dieses Feld soll sich mit der Zeit entwickeln. Bisher würde reichen wenn es sowas wie ne Textarea und 2 Eingabezeile enthält.

    Navigation zwischen den Feldern muss zwangsläufig über Tastenkürzel oder automatisch gehen.

    Was wirklich wichtig ist, dass das Programm so lange wie es läuft, aber auch nur so lange wie es läuft, über eine Taste, am besten eine F-1bis12 Taste die nicht vom IE genutzt wird den Fokus bekommen kann.
    Außerdem sollte sich das Programm an den linken Bildschirmrand andocken lassen und dann die gesamt Höhe einnehmen.

    Was jetzt schwer zu erklären ist. Wenn es links angedockt ist, soll der rechte Rand des Programms der neue Bildschirmrand sein. Heißt wenn ich ein anderes Programm an den oberen Bildschirmrand ziehe sollte es im Vollbild alles ausfüllen bis an den rand des Programmes.

    Die eingegebenen Daten sollen auch gespeichert werden. Da gezwungener Maßen Excel VBA und Access eine Rolle in meinem Beruf spielen werden, würde ich jedenfalls Access als DB gerne einfließen lassen.

    Die Frage wäre jetzt, mit welcher Sprache realisiere ich das am besten. Wirklich gelernt habe ich nur C und Java. In Java komme ich wenigstens mit der Grafik zurecht. Davon habe ich in anderen Sprachen keine Ahnung. Wie schwer ist sowas in C++ / C# zu lernen. Könnte Java meine Anforderungen überhaupt erfüllen? Wie sieht es beim Umgang mit Access aus?

    Hoffe das war so weit alles verständlich. Sonst update ich das gerne auch noch mal.

    MfG Sqwan



  • Die Andock-Geschichte wirst du vermutlich über OS-spezifische APIs machen müssen. D.h. wenn du es in Java machen willst, dann müsstest du JNI o.Ä. verwenden. Was als umständlich verrufen ist (ich selbst hab' damit keine Erfahrung).

    In C# wäre es leichter. C# hat viele auf Windows zugeschnittene Dinge bereits im Framework, und was fehlt lässt sich über PInvoke machen. PInvoke macht zwar im Prinzip das selbe wie JNI (man kann damit Native Code aufrufen). Ist aber sehr mächtig und recht angenehm zu verwenden. => Wird wahrscheinlich viel einfacher sein als mit JNI.

    Und wenn du Java schon kannst, sollte der Einsieg in C# nicht SO schwer sein. Vom Grundprinzip her sind sich die beiden Sprachen sehr sehr ähnlich. Und die ganzen jüngeren "fancy" Spracherweiterungen von C# (LINQ, async/await, ...) musst du ja nicht verwenden.

    Sqwan schrieb:

    Hoffe das war so weit alles verständlich.

    Man kann ungefähr erahnen in welche Richtung das gehen wird. Ist aber höchst verwirrend geschrieben und alles andere als klar.
    Lies es selbst nochmal. Und frag dich dabei nach jedem Satz was der für jemanden bedeuten würde, der nur das lesen kann was du da geschrieben hast, und sonst genau nix über dich oder dein Vorhaben weiss.
    z.B.

    Dazu möchte ich mir ein kleines Tool schreiben was eigentlich gar nicht so viel können muss.
    Er muss in Spalte 1 eine 7-8 Zeichen lange kette speichern die mit einem Buchstaben beginnt und mit einer 6 oder 7 stellen langen Zahl weiter geht. Der Buchstabe ist recht wichtig für eine Spätere Auswertung. Spalte 2 enthält eine 10 stellige Zahl. Spalte 3 einen Flag ob Zusatzinformationen vorhanden sind.

    WTF? Was für Spalten? Spalten in einem Table? In einem Textfile? CSV File? Was für Buchstaben? Was für Zahlen? Wovon redest du überhaupt?
    Einiges davon wird dann im weiteren etwas Klara, aber ... huiuiuiui.



  • hustbaer schrieb:

    WTF? Was für Spalten? Spalten in einem Table? In einem Textfile? CSV File? Was für Buchstaben? Was für Zahlen? Wovon redest du überhaupt?
    Einiges davon wird dann im weiteren etwas Klara, aber ... huiuiuiui.

    Gedanken über die Spalten habe ich mir noch nicht wirklich gemacht.
    Es muss am ende jedenfalls ähnlich einer Tabelle werden. Könnte ungefähr so aussehen:

    A123456 - 1234567890 - X
    B1678949 - 2345678901 - x
    C134567 - 3456789012 -
    D0357546 - 4567890123 -
    E156848 - 5678901234 - X

    Diese Werte müssen im Programm eingetragen werden. Das X ist der flag der Markieren soll ob im zweiten Fenster Zusatz Informationen eingetragen wurden.

    So weitere Erklärungen später. Muss zum Airport.

    Danke schon mal für die hilfreiche Antwort!

    MfG Sqwan



  • Okay, dann Ergänze ich das ganze noch einmal.
    Der Enduser, also Ich, möchte in diesem Programm eingaben machen.
    Und zwar Surft er Garde so schön im IE rum als er eine Message bekommt.
    Er drückt also auf z.B. F8 und kommt so in die erste Zeile seines Programms.

    Dort gibt er wenigstens die ID ein. z.B. G159753.
    Abhängig vom Inhalt der Message fügt er dann noch eine Nummer hinzu (auch erste Zeile aber zweite spalte). Nummer könnte 13379876540 sein.
    Damit ist dieser Datensatz eigentlich schon komplett. Aber manchmal enthält die Message Zusatzinformation. Der User drückt also Strg+N und ein neues Fenster kommt hoch. Dort kann er eine zusätzliche ID hinzufügen, noch eine nummer mit anderer Bedeutung und freien Text. Mit Strg+E schließt er das Zusatzfenster wieder. Nun drückt er Strg+S und die gesamte erste Zeile wird gespeichert, zusammen mit den Zusatzinformationen und eine neue erste Zeile wird erzeugt, und die andere alte Zeile eins wird die zweite Zeile.

    Da der User, also Ich, bald nicht mehr der Infra-Esel sein wird, braucht er bald Access, weshalb er wenn das möglich ist die Datensätze gerne in Access speichern würde. Und da der User bald viel viel enger mit dem Entwickler zusammen arbeitet als diesem lieb ist, würde er gerne seine Entwickler-Fähigkeiten aus Ausbildung und Studium nochmal auffrischen.

    Hilft das noch mal zum Verständnis oder habe ich es verschlimmbessert?

    MfG Sqwan



  • Uff.
    Also was du auf jeden Fall erreicht hast, ist, dass ich mir Denke "schwindelige Sache".

    Und ich verstehe ein paar deiner Anfordernungen nicht. z.B. wieso "so lange wie es läuft, aber auch nur so lange wie es läuft"? Nimmt man halt nen Shortcut der von sonst nix gebraucht wird. Also z.B. Ctrl+Alt+irgendwas.
    Und das mit dem Andocken genau so.
    Und warum du nicht einfach Excel nimmst versteh ich auch nicht.

    Aber naja. Ist deine Entscheidung - wenn du sowas programmieren willst, dann mach ruhig.

    Inetwa kann man sich denke ich jetzt vorstellen was du umsetzen möchtest. Meine Empfehlung bleibt C# (bzw. ganz bleiben lassen bzw. fertige Tools verwenden, aber das ist wohl nicht die Antwort die du willst.)



  • Derzeit nutze ich tatsächlich Excel für genau das.
    Such nur ne Aufgabe um in meinem zukünftigen Job den Entwickler besser zu verstehen. Habe einfach zu lange nichts mehr Entwickelt.
    Auch erhoffe ich mir von einem Programm eine insgesamt schönere Darstellung.
    Grade freier Text ist in Excel immer doof. Auch wenn ich mir da schon was gebastelt habe.

    Lese mich grade mal auf http://www.guidetocsharp.de/ ein wenig ein. Ob ich es dann wirklich umsetzte kann ich dann noch entscheiden. Vllt baue ich auch mein Excel VBA aus.


Log in to reply