Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   DOS Eingabemasken (https://www.delphipraxis.net/120914-dos-eingabemasken.html)

Hansa 19. Sep 2008 00:31

Re: DOS Eingabemasken
 
der erste Screen ist (fast sicher) Object Professional von TurboPower. Nr.2 und 3 sind Turbo-Vision bzw. die damalige BP-Pascal IDE. OP hat ein ID-System für die Menüpunkte.

Sharky 19. Sep 2008 07:35

Re: DOS Eingabemasken
 
Zitat:

Zitat von Hansa
der erste Screen ist (fast sicher) Object Professional von TurboPower. Nr.2 und 3 sind Turbo-Vision bzw. die damalige BP-Pascal IDE. OP hat ein ID-System für die Menüpunkte.

Alle drei könnten mit OP von TurboPower gemacht sein. Ich hatte das selber mal in einem Kassen-/Lagersystem verwendet.

Ist ja glaube ich inzwichen frei erhältlich.

alzaimar 19. Sep 2008 08:17

Re: DOS Eingabemasken
 
Turbovision ist das -glaube ich- doch nicht. Ich hab früher sehr viel damit gemacht, und die Bilder 2 und 3 haben nur einen 90%igen Wiedererkennungseffekt. Bild 1 gar nicht. Ich glaube nicht, das die Units unter BDS kompilieren, soweit ich weiss wurde sehr viel mit Assembler rumhantiert und direkt in den Bildschirmspeicher geschrieben. Ich meine, es vor Jahren mal versucht zu haben.

Darf man fragen, was Du anstellen willst? Du könntest doch mit TP und TV selbst solche Geschichten programmieren...

Übrigens ist es mit den Eingabefeldern sehr einfach in TV gelöst:
Jeder Dialog füllt ein Record aus. Jedes Feld des Records entspricht einem Eingabefeld. Jedes Eingabefeld definiert die Länge der von ihm beschriebenen Daten und ist dafür zuständig diese auch im korrekten Format (String, Real, Integer, Byte etc.) zu liefern bzw. abzuholen. Eine Methode des Dialogs kopiert den zu befüllenden Record in die einzelnen Eingabefelder bzw. deren selbstverwalteten Datenpuffer. Eine andere Methode ruft nacheinander die Schreibmethode der Eingabefelder auf und übergibt jeweils einen Zeiger. anschließend wird der Zeiger um den vom Eingabefeld definierten Offset erhöht.

Delphi-Quellcode:
Procedure TDialog.SetData (Var aRecord);
Begin
  ForEach Control in Controls Do Begin
    Control.SetData (aRecord);
    Inc (aRecord, Control.Buffersize);
  End
End;

Procedure TDialog.SetData (Var aRecord);
Begin
  ForEach Control in Controls Do Begin
    Control.GetData (aRecord);
    Inc (aRecord, Control.Buffersize);
  End
End;
Jeder Dialog hat auch seine Eventhandler, ähnlich einem WndProc. Leider finde ich keinen Code mehr dafür.

Der Screen wird über ein Insanz der 'Desktop'-Klasse verwaltet. Um einen Dialog anzuzeigen, ruft man auf:
Delphi-Quellcode:
Desktop^.ExecView (MyDialog);
So, mehr ist aus meinem BB (Brainbackup) nicht mehr rauszuholen. Hoffe, das hilft ein wenig.

Luckie 19. Sep 2008 08:23

Re: DOS Eingabemasken
 
Zitat:

Zitat von alzaimar
Darf man fragen, was Du anstellen willst? Du könntest doch mit TP und TV selbst solche Geschichten programmieren...

Ich wollte eine minimal Version meiner Adress-Datenbank machen, die irgendwie etwas "geekig" aussehen sollte. Allerdings, glaube ich, wird das ganze doch etwas aufwendiger als gedacht.

mschaefer 19. Sep 2008 08:23

Re: DOS Eingabemasken
 
Irgendwie komme ich aus dem Staunen nicht heraus, dass sowas nochmal wieder gefragt ist :mrgreen:

Luckie, was möchtest Du damit machen: Einen kleinen Bildschirm bedienen oder die alte Dos Tastatursteuerung emulieren. Viele von den Menues könnte man ja per ListView nachbauen, wie beim TotalCommander.

PS: Adressen braucht mnan doch immer wieder...

Grüße // Martin

webcss 19. Sep 2008 09:04

Re: DOS Eingabemasken
 
Also, ich hab auf meiner platte noch TOT aka. Technojocks Object Toolkit, ein paket mit dem man schöne (nach damaligen gesichtspunkten :-D ) Eingabemasken zimmern konnte. Hab's halt weil ich noch ein UraltKassensystem von 1989 betreue. Bei Interesse einfach melden...

Mavarik 19. Sep 2008 09:26

Re: DOS Eingabemasken
 
Nur damit ich Dich richtig verstehe!

Du willst in einem Win32 Form einen DOS Bildschirm simulieren?

Wenn JA, da habe ich eine CRT Unit die das macht. Inkl. Font usw...
Läuft schon ab Delphi 1.0...

Müsste "nurmal" :gruebel: die alten Backups suchen...

Grüsse Frank :coder:

Luckie 19. Sep 2008 09:29

Re: DOS Eingabemasken
 
Nein, es sollte natürlcih ein Konsolenprogramm werden.

Mavarik 19. Sep 2008 09:49

Re: DOS Eingabemasken
 
Zitat:

Zitat von Luckie
Nein, es sollte natürlcih ein Konsolenprogramm werden.

Wenn es sowieso ein DOS Bildschirm seien soll... Was ist dann die Frage? :gruebel:
CRT Unit....

Angel4585 19. Sep 2008 09:56

Re: DOS Eingabemasken
 
Na er möchte ein Menü unter DOS in welchem er mit Tab oder was auch immer navigieren kann mit Delphi in einem Konsolenprogramm machen


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:21 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz