Hallo, ihr LIeben,
ich hab hier ein Thema, das nicht ganz so einfach zu vermitteln ist. Aber ich versuch es mal, ich hoffe, ihr habt ein bissl Geduld mit mir.
Ich arbeite auf Großrechnern unter zOS . Dort gibt es eine Dialog Umgebung, die ihren Ursprung in den 70er Jahren hat und ISPF heißt (Interactive System Productivity Facility). Die Umgebung ist rein Text orientiert (also keine Grafik). Es gibt 80 Spalten und 24 Zeilen, also genau 1.920 Zeichen In dieser Umgebung gibt es auch einen ISPF Editor ... mit dem kann man Programme und Jobs etc. editieren. Das ist ein Full Screen Editor, d.h. man kann Zeichen auf dem Bildschirm einfach übertippen.
Was ungewöhnlich ist: Vor jeder Zeile gibt es eine Prefix Area, die zunächst mal eine Nummerierung enthält, wo man aber auch sogenannte Prefix Kommandos eingeben kann, z.b. "C" für Copy und "A" für After. Diese Nummerierung ist aber NICHT Bestandteil der Daten, die wird nur zum Editieren dynamisch generiert und hinterher beim Safe verworfen. Ich habe mal einen Screenshot angehängt.
Es gab PC Programme, die diesen Editor unter Windows nachgebildet haben, z.B. SPFPC ... leider laufen die unter Windows 7 nicht mehr.
Weil dieser Editor aber sehr hübsche Features hat, würde ich jetzt gern unter Windows 7 das Dingens nachbauen. Und dabei würde ich jetzt euren Rat brauchen.
Mir geht es darum, welche Control man dafür am besten verwendet.
Folgende Eigenschaften werden benötigt:
1. Die Daten müssen zeilenweise editierbar sein. Es muss einen Einfügemodus- und einen Überschreibungsmodus geben.
2. Die Position des Text Cursors (Zeile / Spalte) muss angezeigt werden.
3. Die Pfeiltasten müssen ebenso wie der Maus Zeiger zum Positionieren geeignet sein und natürlich muss die Anzeige der Cursor Position (Zeile / Spalte) automatisch aktualisiert werden.
Ein gutes Beispiel für diese Funktionalität ist der Editor des VB Visual Studios. So etwa soll das funktionieren!
Versucht habe ich folgendes:
1. Eine ListView mit zwei Spalten (Prefix und Text) - das klappt aber nicht, weil man die Daten nicht überschreiben kann.
2. Eine DataGridView mit zwei Spalten. Das klappt zwar prinzipiell aber es gibt eine Menge von Problemen, die ich nicht lösen kann!
Wenn man die Daten überschreiben will, geht die Zelle in den "Edit Mode". Da wird die Zelle mit einer dynamisch generiertenTextbox überlagert, die später wieder abgebaut wird. Wenn man jetzt herausfinden will, wo sich der Text Cursor befindet, muss man "Kopfstände" machen (z.B. Event Handler dynamisch definieren). Die Abfrage der Cursor Position ist super hakelig ...und nicht in allen Fällen zu realisieren.
3. Zwei mulitiline Textboxes (eine für den Prefix, eine für den Text)
Das führt sofort zu Problemen hinsichtlich der Synchronisation der beiden Controls. Denn wenn ich eine Text Zeile einfüge, muss ich ja auch die Prefix Area entsprechend updaten.
....
Vielleicht überfordere ich das Forum damit. Aber hat jemand eine zündende Idee, wie man diese Sache KONZEPTIONELL am besten angeht ? Mit einem ungünstigen Ansatz kann man sich hier schnell verlieren, wie ich schmerzhaft festgestellt habe ...
LG
Peter
ich hab hier ein Thema, das nicht ganz so einfach zu vermitteln ist. Aber ich versuch es mal, ich hoffe, ihr habt ein bissl Geduld mit mir.
Ich arbeite auf Großrechnern unter zOS . Dort gibt es eine Dialog Umgebung, die ihren Ursprung in den 70er Jahren hat und ISPF heißt (Interactive System Productivity Facility). Die Umgebung ist rein Text orientiert (also keine Grafik). Es gibt 80 Spalten und 24 Zeilen, also genau 1.920 Zeichen In dieser Umgebung gibt es auch einen ISPF Editor ... mit dem kann man Programme und Jobs etc. editieren. Das ist ein Full Screen Editor, d.h. man kann Zeichen auf dem Bildschirm einfach übertippen.
Was ungewöhnlich ist: Vor jeder Zeile gibt es eine Prefix Area, die zunächst mal eine Nummerierung enthält, wo man aber auch sogenannte Prefix Kommandos eingeben kann, z.b. "C" für Copy und "A" für After. Diese Nummerierung ist aber NICHT Bestandteil der Daten, die wird nur zum Editieren dynamisch generiert und hinterher beim Safe verworfen. Ich habe mal einen Screenshot angehängt.
Es gab PC Programme, die diesen Editor unter Windows nachgebildet haben, z.B. SPFPC ... leider laufen die unter Windows 7 nicht mehr.
Weil dieser Editor aber sehr hübsche Features hat, würde ich jetzt gern unter Windows 7 das Dingens nachbauen. Und dabei würde ich jetzt euren Rat brauchen.
Mir geht es darum, welche Control man dafür am besten verwendet.
Folgende Eigenschaften werden benötigt:
1. Die Daten müssen zeilenweise editierbar sein. Es muss einen Einfügemodus- und einen Überschreibungsmodus geben.
2. Die Position des Text Cursors (Zeile / Spalte) muss angezeigt werden.
3. Die Pfeiltasten müssen ebenso wie der Maus Zeiger zum Positionieren geeignet sein und natürlich muss die Anzeige der Cursor Position (Zeile / Spalte) automatisch aktualisiert werden.
Ein gutes Beispiel für diese Funktionalität ist der Editor des VB Visual Studios. So etwa soll das funktionieren!
Versucht habe ich folgendes:
1. Eine ListView mit zwei Spalten (Prefix und Text) - das klappt aber nicht, weil man die Daten nicht überschreiben kann.
2. Eine DataGridView mit zwei Spalten. Das klappt zwar prinzipiell aber es gibt eine Menge von Problemen, die ich nicht lösen kann!
Wenn man die Daten überschreiben will, geht die Zelle in den "Edit Mode". Da wird die Zelle mit einer dynamisch generiertenTextbox überlagert, die später wieder abgebaut wird. Wenn man jetzt herausfinden will, wo sich der Text Cursor befindet, muss man "Kopfstände" machen (z.B. Event Handler dynamisch definieren). Die Abfrage der Cursor Position ist super hakelig ...und nicht in allen Fällen zu realisieren.
3. Zwei mulitiline Textboxes (eine für den Prefix, eine für den Text)
Das führt sofort zu Problemen hinsichtlich der Synchronisation der beiden Controls. Denn wenn ich eine Text Zeile einfüge, muss ich ja auch die Prefix Area entsprechend updaten.
....
Vielleicht überfordere ich das Forum damit. Aber hat jemand eine zündende Idee, wie man diese Sache KONZEPTIONELL am besten angeht ? Mit einem ungünstigen Ansatz kann man sich hier schnell verlieren, wie ich schmerzhaft festgestellt habe ...
LG
Peter
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „Peter329“ ()