Borland C 3.1 Code mit PureBasic nutzen

Für allgemeine Fragen zur Programmierung mit PureBasic.
Vi-P
Beiträge: 30
Registriert: 18.01.2013 18:56

Borland C 3.1 Code mit PureBasic nutzen

Beitrag von Vi-P »

Hi,
habe ein DOS Programm in C, das ich schrittweise auf Windows migrieren möchte. Das Problem ist, 16Bit mag Windows 10 nicht und wenn ich was neues dazuschreiben will, mit C dauert das ein vielfaches länger als mit PB. Trotzdem schaffe ich eine Komplettmigration zeitlich nicht. Es gibt in dem Programm eine Reihe von Menüfunktionen sowie ein paar kleine Routinen für die Bildschirmausgabe und eine Funktion, die für Tastatureingaben abgefragt wird. Wie ich gesehen habe, kann man C in eine lib compilieren.
1. Hat jemand Erfahrung welcher Compiler sich hier eignet, auch im Hinblick auf die Herkunft des Codes
2. Im C Code werden ja die Bildschirmausgabe aufgerufen, wie bekomme ich diese Aufrufe in das PB Programm. (Habe zwar eine Idee, aber vielleicht gibt es eine bessere Möglichkeit.)
3. Um Tastatureingaben rein zu bekommen, müßte der programminterne Puffer gefüllt werden können, während das Programm im C Teil läuft.
4. Wenn das C Programm auf eine Eingabe wartet, müßte die CPU auf Idle gestellt werden.

Kann mir jemand ein paar Tips geben oder ist das ganze als unrentabel/unmöglich anzusehen.
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Borland C 3.1 Code mit PureBasic nutzen

Beitrag von RSBasic »

16 Bit gibt es schon seit Vista nicht mehr.

Möchtest du eine Konsole (Eingabeaufforderung) schreiben oder eine GUI-Anwendung?
Was möchtest du denn genau machen? Nur Tasten abfragen und was auf den Bildschirm ausgeben? Aber in welcher Form? In einem Fenster oder in einer Konsole?
Oder muss es im DOS lauffähig sein? Wenn ja, dann ist es mit PB nicht möglich, auch mit einer C-Lib nicht, da das von PB erstellte Executable-Format 32 oder 64 Bit ist.

Eine andere Möglichkeit wäre, wenn du dein bereits geschriebenes DOS-Programm in einer DOSBox unter Windows 10 laufen lässt: https://www.chip.de/downloads/DOSBox_13015039.html
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Vi-P
Beiträge: 30
Registriert: 18.01.2013 18:56

Re: Borland C 3.1 Code mit PureBasic nutzen

Beitrag von Vi-P »

Danke RSBasic für die Antwort
Das Programm ist ein Konsolenprogramm, DOS 80x25. Plan wäre, im ersten Schritt das wieder auf einer Console laufen lassen zu können unter aktuellem Windows. Wenn ich neue Funktionen brauche, mache ich mir die mit PB. Wäre schön, wenn man zusätzlich (!) eine GUI hätte, schon zu Migrationszwecken. Möglich wäre es auch, auf einer GUI in einem Fenster die Konsole laufen zu lassen (ist wohl etwas aufwändiger)
In einer Box läuft das Programm zur Zeit allerdings unter XP. Das Problem ist, wenn ich eine neue Funktion hinzufügen will, mit C das ist so nervig, nicht weil ich das nicht könnte, sondern weil ich im Vergleich zu PB ein vielfaches an Zeilen und damit an Zeit brauche.
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Re: Borland C 3.1 Code mit PureBasic nutzen

Beitrag von GPI »

also du musst auf jeden Fall den Code auf 32bit hochheben, anders kommst du nicht wirklich weiter.

Ansonsten schau dir mal RunProgramm() an. Damit kannst du andere Programme aufrufen und die ein/ausgabe übernehmen.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Borland C 3.1 Code mit PureBasic nutzen

Beitrag von Kiffi »

GPI hat geschrieben:Ansonsten schau dir mal RunProgramm() an.
Profi-Tipp: RunProgramm() zwei- bzw. viermal ausführen. Dann hast Du Deine 32 bzw. 64 bit.

<gd&r>
Hygge
Vi-P
Beiträge: 30
Registriert: 18.01.2013 18:56

Re: Borland C 3.1 Code mit PureBasic nutzen

Beitrag von Vi-P »

@Kiffi: Die entscheidende Frage ist nur, muß ich RunProgramm() sequenziell oder rekursiv aufrufen :wink:

Bei der Gelegenheit: von Purebasic gibt es ja 32 Bit und 64 Bit Version, kann die 64 Bit auch 32 Bit C Module aufrufen?

Und das Programm ist interaktiv, also RunProgramm() hilft leider nicht weiter.
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Borland C 3.1 Code mit PureBasic nutzen

Beitrag von ccode_new »

Hallo Vi-P,

hast du den gesamten Quelltext des alten Dos - C - Programm ?

Verwendet das Dos-Programm irgendwelche spezielle (DOS) Hardware-Funktionen ?

Verwendet das Dos-Programm eine spezielle Konsolengrafikbibliothek für DOS ?

..... ?

Als erstes musst du ja mal die Interrupts und alten Funktionen an die modernere Windows-API anpassen (PureBasic bietet da auch schon sehr viel per Standard).

Und so weiter...

Willst du das Programm über Konsolen-GUI wieder neu aufsetzen, oder als Windows (Fenster) - Portierung ?
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Benutzeravatar
Bisonte
Beiträge: 2427
Registriert: 01.04.2007 20:18

Re: Borland C 3.1 Code mit PureBasic nutzen

Beitrag von Bisonte »

Ist halt die Frage : Was macht das Programm / Was soll es können ?
Dann kann man eher sagen klappt ohne Aufwand... mit Aufwand... unmöglich.... so in der Art ;)
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom​​
Vi-P
Beiträge: 30
Registriert: 18.01.2013 18:56

Re: Borland C 3.1 Code mit PureBasic nutzen

Beitrag von Vi-P »

Antworten:
1. C Source ist vollständig vorhanden, außer den compiler libs
2. Spezielle DOS Funktionen habe ich nur für die Textbildschirmausgabe (Dafür gibt es eine Routine, die aufgerufen wird wenn was auf den Bildschirm soll) das Abfangen der Tastatur (Gibt es eine Funktion, die Tastatur Kommandos zurückgibt) und um an Verzeichnisse (findfirst()/findnext(), an mehreren Stellen) kommen. Wenn ich mich nicht irre.
3. Ziel wäre zunächst so viel wie möglich zu übernehmen und das ganze im Texmodus laufen zu lassen.
Benutzeravatar
Captn. Jinguji
Beiträge: 395
Registriert: 07.06.2005 19:47
Computerausstattung: PB 4.73x64, i7, WIN 10x64, ATI NVidia RTX 2070
Wohnort: Witten

Re: Borland C 3.1 Code mit PureBasic nutzen

Beitrag von Captn. Jinguji »

Ich nehme mal an, dass Du den Borland Compiler nicht mehr auftreiben bzw. ans Fliegen bringen kannst ?

Den guten alten WATCOM C-/C++ Compiler gibt's immer noch, und er ist offiziell "free" und kann auch native unter WIN7/64 installiert werden;
ob es native unter WIN 10 geht, weiss ich nicht, aber unter WIN 10 wird's ja wohl auch VMs geben ? (Bin vor 3 Jahren wieder auf 7 zurück gegangen, weil 10 allzu unverschämt war).

Allerdings habe ich noch im Kopf, dass Borland irgend so ein "Unit" Konzept
hatte, das - als ich mal kurz Kontakt dazu hatte - zu keinem anderen C-Compiler passte.

Der WATCOM "kann" auch nicht mit Borland-Units, aber sonst so ziemlich alles (außer 64 Bit) - insbesondere auch 16/32 Bit DOS EXE / libs- erstellen, auch wenn er unter Win 7 64 Bit installiert wird. Test der erstellten SW dann am besten in einer VM mit echtem DOS.

Über wieviel tausend Codezeilen und welchen Zeitrahmen reden wir denn ?
Ist das Kunst hier, oder kann das weg ?
Antworten