• Anhang: adr.zip Inhalt der Zip: adr.com (in *asm geschrieben)

    Moin zusammen.

    Das ich einmal unter Andere Programmiersprachen etwas poste, hätte ich nicht gedacht. Aber ich habe ein großes Anliegen.

    Die Datei ADR.com arbeitet auf alten PC's einwandfrei, nur ich habe sie schon unter Windows 7 nicht mehr zum laufen bekommen und jetzt unter Windows 10 auch nicht.
    Sie wurde in den 1990ern geschrieben und leider ist der Schreibe nach langer Krankheit (ich war seit 25 Jahren mit ihm befreundet) verstorben.

    Gibt es eine Möglichkeit das ich das Programm irgendwie unter WIndows 10 nutzen kann und wenn ja, wo finde ich eine Beschreibung.

    Vielen Dank schon an dieser Stelle.

    Download gelöscht.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    Einmal editiert, zuletzt von Alina (30. September 2023 um 21:39)

  • Du machst folgendes:

    1) lade den dos box emulator unter https://www.dosbox.com/download.php?main=1

    herunter

    2) Öffne die install exe mit 7zip und entpacke das ganze in ein Verzeichnis deiner Wahl

    3) Starte die dosbox.exe (das ganze läuft portabel muss nicht instaliert werden)

    4) Mounte das Verzeichnis (entsprechend Anweisung) in dem deine ADR.com liegt

    5) rufe die

    6) Dauert 3 Minuten --> läuft

    7) Ich habe das Program ADR com noch nie gesehen kann also nicht beurteilen ob es auch richtig läuft...

    8) LG

    9) Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • Hi Alina,

    das Programm ist eigentlich selbsterklärend und funktioniert einwandfrei. Mehr als die angegebenen "Menüpunkte" gibt es nicht. :rtfm:

    Mit der Pagedown-Taste wird ein neuer "Datensatz" angelegt, in Anlehnung an die damals üblichen Karteikarten.

    Als "Datenbank" wird eine Textdatei erstellt mit FIXEN Feldlängen!

    Das ist (aus heutiger Sicht) insofern etwas verwunderlich, als das 1992, bei der Erstellung dieses Programms, um jedes Byte Speicherplatz gekämpft wurde!

    Der Grund ist, dass die Feldlänge in der Eingabemaske beschränkt war! Die "Zeichen", incl. der Leerzeichen bis zum Ende des Eingabefeldes, wurden Zeichen für Zeichen in die Datei geschrieben...maximal 255 Zeichen passen in einen "Datensatz" (aka Zeile der Textdatei).

    Jede Zeile in der Textdatei beschreibt einen "Datensatz".

    Und wer meint, die einzelnen "Adressfelder" würden in Variablen geschrieben, der täuscht sich gewaltig!

    Die einzelnen Zeichen wurden, und werden auch im Programm, direkt aus dem Bildschirmspeicher, also dem Userinterface, ausgelesen und in die Datei geschrieben. :Glaskugel:

    Man kann/darf dem Autor aber keinen Vorwurf machen, damals war das "State of the art"....ich weiß von was ich Rede, als ich "damals" anfing, in Programmen variable Feldlängen zu benutzen und zu fordern, und die Daten auf dem Datenträger zusammenzufassen und das auch noch in "professionellen" Umgebungen, da wurde ich massiv angegriffen.

    Und heute?! Da MUSST du bei der Erstellung einer Datenbank (immer noch) FIXE (maximale) Feldlängen angeben...soviel zu "Fortschritt" in 50 Jahren Softwareentwicklung. :rock:

    Wenn du willst, kannst du gerne ein Transferprogramm in AutoIt schreiben, um eine bestehende Adressdatenbank in das ADR-Format zu konvertieren und dann mit ADR zu benutzen :party:

    Ich habe mir mit einem Debugger/Disassembler den (Maschinen-)Code angeschaut, das ist (nicht verwunderlich) SEHR Oldschool^^. Ich bin mir sicher, dass das Programm mit einem Assembler geschrieben wurde.

    Dabei habe ich auch einen Hinweis/Tag/Unterschrift direkt am Anfang des Codes des Autors O. (Oliver) Zupan gefunden: Den String @<CLS+INV

    Sagt dir das etwas?

    Übrigens ist das Programm sehr "modular" aufgebaut, ich denke dass man es durchaus in eine "moderne" *.EXE konvertieren könnte.

    Der (ggf. kommentierte) Sourcecode wäre da natürlich besser geeignet als die Ausgabe des Disassemblers...Die Frage stellt sich, wer sich diese Arbeit antuen will....

    Da lädt man doch lieber die schicke, mit Maus bedienbare und "bunte", Gigabytes große Adress-Software mit "professioneller" Datenbank :theke:

    ICH habe schon damals das Userinterface in BASIC geschrieben und nur die geschwindigkeitskritischen Programmteile in Assembler. Das mache ich heute, 40 Jahre später, noch genau so! Nur mit AutoIt und Assembler....der "guten alten Zeiten" wegen :Face: 8o

    ciao
    Andy


    "Schlechtes Benehmen halten die Leute doch nur deswegen für eine Art Vorrecht, weil keiner ihnen aufs Maul haut." Klaus Kinski
    "Hint: Write comments after each line. So you can (better) see what your program does and what it not does. And we can see what you're thinking what your program does and we can point to the missunderstandings." A-Jay

    Wie man Fragen richtig stellt... Tutorial: Wie man Script-Fehler findet und beseitigt...X-Y-Problem

    3 Mal editiert, zuletzt von Andy (27. September 2023 um 05:03)

  • Andy.

    Ja, Oli war ein sehhhhhhhr guter Freund und lebt ja leider nicht mehr.
    Alles was Du oben geschrieben hast, habe ich schon irgendwo gewöhrt.

    Er war begeistereter ASM Programmierer und da, wo er seit seiter Jugend
    schwer krank war.
    Ich würde es auch zu seinen Ehren noch weiter nutzen. MAn kann sich noch
    eine Bat schreiben, habe ich früher gemacht, damit ich z. B. an Geb.-Tage
    erinnert werde.


    DANKE allen für ihre HIlfe.

    Alina

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Hallo Alina,

    eine vollständige Adress-Datenbank in 4.256 Byte und sogar mit Suchfunktion - was für ein wunderbares Programm!

    Direkt unter Windows 11 funktioniert es nicht, Andy hat ja schon erklärt, woran das liegt.

    In der DOSBox funktioniert es ganz hervorragend, wenn Du zwei Punkte beachtest:

    1) Das Programm schreibt seine Daten unbedingt in C:\ADRESSEN\ADRESSEN.00

    Also in der DOSBox vor dem Start von ADR.com "MOUNT C: ..." eintippen.

    (Ja, man kann die ADR.com mit einem Hex-Editor auf ein anderes Verzeichnis umpatchen, aber das MOUNT-Kommando ist viel einfacher)

    Das MOUNT-Kommando kannst Du in die Konfigurationsdatei für die DOSBox im Abschnitt [autoexec] eintragen, dann wird das Verzeichnis beim Start der DOSBox automatisch gemountet.

    2) Das Programm verwaltet genau 256 Adresskarten von 1 bis 256

    Wenn ich über 256 hinaus oder vor die erste Karte blättern will, dann verschwinden alle konstanten Texte. Mit F10 kann man dann das Programm beenden und anschließend wieder neu starten, dann ist alles wieder gut, denn alle Erfassungen werden ja automatisch gespeichert.

    Noch'n Tipp, wenn Du für die ADRESSEN.00 ein AutoIt-Transfer-Programm schreiben willst: Die DOS-Programme verwenden den Zeichensatz "OEM-850", den kann AutoIt nicht direkt erzeugen, aber Andy hat eine Anregung im englischen Forum beschrieben:

    Convert text string from codepage 437 or 850 to 1252?
    I am writing a script that reads a text file created by an old MS-DOS application that uses codepage 437 (in North America) or 850 elsewhere. I want to convert…
    www.autoitscript.com

    Noch'n Tipp, wenn die Schrift im DOSBox-Fenster zu klein ist: Mit ALT-ENTER kann man auf Vollbild-Modus umschalten, hinterher mit ALT-ENTER wieder zurück auf den Fenster-Modus.

    Getzabba!

    Jepp

  • eine vollständige Adress-Datenbank in 4.256 Byte und sogar mit Suchfunktion - was für ein wunderbares Programm!

    :klatschen:

    Eigentlich wäre es doch ein schönes Autoit-Projekt, solche "Schätzchen" direkt (in bspw. der DOSBox) per "Doppelklick" aufrufbar zu machen. nicht erst DOSBox herunterladen und installieren, mit der autoexec.bat kämpfen, DOS-Programm installieren uswusf. sondern das alles automatisiert. Ein "Paket" erstellen, dass nach Doppelklick nach einigen Sekunden das DOS-Programm laufen lässt.... :/

    Für solche User wie bspw. Alina, die sich mit Emulatoren (zu Recht (!) ) nicht mehr herumschlagen wollen, sondern einfach "nur" das Programm anschauen wollen. :Glaskugel:

    Jepp, was hat dich hierher verschlagen?

  • Andy

    eine Super Idee... aber wie setzen wir das um?

    Nehmen wir als Ausgangsbasis Alinas Programm..

    Ich kriege das zwar in der Dos Box zum laufen ..... aber weiter?

    Wie meinst Du Deinen Vorschlag?

    Autoit Script schreiben mit:

    1) Dos Box starten

    2)Parameter setzen

    3) Dos Programm starten?

    4) Autoit Programm beenden

    So in der Art?


    LG

    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • So, Stand ist, es löuft mit der DosBox perfekt.

    Jepp

    Ja, ADR.COM ist ein wunderbares Programm. Ich habe einige hundert Adressen so gespeichert.

    Das mit dem Speicherpfad kann ich evtl. ändern. Da hat er mir damals gezeigt wo was über einen

    Hexediter oder so zu bearbeiten ist. Da müsste ich aber uralte Textdateien mal durchsuchen.

    Ja das mit dem Mounten habe ich mir bereits gedacht, da er ja irgendwoie auf die adr.com zu-

    greifen muss.

    Gespeichert wird erst in Adressen.00, danach in Adressen01 usw.

    Ja, ein Transferprogramm könnte evtl. hilfreich sein. Aber derzeitig habe ich dazu keine Zeit.

    Vielen Dank für Eure Hilfe. Ihr diskutiert noch? Ich lasse es dann als "unerledigt". Okay?

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    Einmal editiert, zuletzt von Alina (30. September 2023 um 21:38)