Probleem programma van txt naar .bas veranderen

pluspower

Junior lid
Lid geworden
18 jan 2020
Berichten
58
Waarderingsscore
5
Punten
8
Leeftijd
80
Ongeveer meer dan 30 jaar geleden heb ik een programma ontworpen in BASIC op een MSX-computer (16bit). Daarna ben ik overgeschakeld op een 32 bit computer en gebruikte ik het programma Q basic. Ook daar werkte het programma prima. Jaren daarna heb ik het programma.bas gecompileerd met Quick basic zodoende werd het een programma.exe. Tot de dag van vandaag werkt het nog prima op een computer met Windows XP en ook met behulp van DOSbox ook op Windows 10. Om het toen te kunnen doorsturen via internet moest ik de extensie veranderen van programma.bas naar programma.txt. Het originele in .bas ben ik kwijt. Weet iemand hoe ik bijgevoegd programma terug in .bas kan omzetten???????
 

Bijlagen

  • maurits.txt
    133,4 KB · Weergaven: 12

erikdenhouter

Vaak hier
Lid geworden
14 jun 2019
Berichten
892
Waarderingsscore
66
Punten
28
Leeftijd
63
Dé-compilen noemen ze dat, het omzetten van een hogere programmeertaal in een lagere. Maar die programma's zijn niet 'populair', want dat geeft code van de grote schrijvers bloot. Dus of dat je lukt....
Weet je zeker dat je de bron (.bas) kwijt bent ?

Kijk hier bij het eerste antwoord:
Dat bericht is 7 jaar oud, dus misschien is er inmiddels meer te vinden.

Zoek dus zelf verder met
décompiler bas exe basic -visual
(Dat '-visual' kan je er beter zo bij zetten om alle Visual Basic décompilers weg te filteren)
 
Laatst bewerkt:

Veng

Elite lid
Lid geworden
27 nov 2012
Berichten
5.902
Waarderingsscore
62
Punten
48
Even voor mijn begrip want ik ben geen programeur. Je hebt alleen de extensie veranderd en niet geconverteerd. Waarom werkt het dan niet als je de extensie terug op ".bas" zet?
 

erikdenhouter

Vaak hier
Lid geworden
14 jun 2019
Berichten
892
Waarderingsscore
66
Punten
28
Leeftijd
63
Hij heeft de .bas (het in Qbasic geschreven bronbestand) jaren geleden al gecompileerd naar een .exe, dat is te zien in het z.g. .txt bestand, wat helemaal geen tekstbestand is, maar een .exe in tekstcode (ASCII). Als het een .bas bronbestand zou zijn zou je de opdrachten als een normale tekst (zoals in .b.v. een script of batchbestand) kunnen begrijpen. Hij heeft van de .exe een tekstbestand gemaakt om geen toeters en bellen te laten rinkelen bij het versturen via e-mail. Ent toen dus... het bronbestand weggegooid :confused:
 

Veng

Elite lid
Lid geworden
27 nov 2012
Berichten
5.902
Waarderingsscore
62
Punten
48
Ik snap het. Ik had beter moeten lezen. Ik verkeerde in de veronderstelling dat hij één stap terug wilde en miste het woordje "originele"
Maare, de-compileren is volgens mij omzetten van machinetaal naar een hogere taal, niet het omgekeerde. Slip of the tongue;)!
 

erikdenhouter

Vaak hier
Lid geworden
14 jun 2019
Berichten
892
Waarderingsscore
66
Punten
28
Leeftijd
63
Daar heb je gelijk in, geen slipje, maar wel een dom foutje.

machinetaal is de laagste taal. Dat zijn de instructies die de processor direct begrijpt.
assembleertaal is (net iets) hoger dan machinetaal.
Basic, C++, Fortran, etc. zijn hoger dan machinetaal.

Gekscherend gezegd is het besturingssysteem de hoogste computertaal, want ook daarin kan je je computer enigszins programmeren.

Om een hogere taal om te zetten naar machinetaal moet je compileren.
Om een machinetaal (zoals die .exe) om te zetten naar een hogere taal (basic) moet je dé-compileren.
 

Veng

Elite lid
Lid geworden
27 nov 2012
Berichten
5.902
Waarderingsscore
62
Punten
48
Ik heb helaas geen aanleg om te programmeren. Dat bleek al tijdens mijn opleiding toen ik met een stapel ponskaarten aan de gang moest. Gelukkig greep de operator in anders had de lijnprinter nu nog blanco vellen papier staan te spuwen:worried:. Via 7 wk P800 en nog wat specialistische cursussen werd bewaarheid dat ik me beter op iets anders kon richten.
 

pluspower

Junior lid
Lid geworden
18 jan 2020
Berichten
58
Waarderingsscore
5
Punten
8
Leeftijd
80
Beste erikdenhouter bedankt voor de link die u doorstuurde. Ik bestudeer deze nog en dat zal nog veel tijd vergen.
Beste Veng. Aanvankelijk dacht ik ook dat een oplossing zou zijn om de extensie terug naar .BAS te zetten, omdat ik destijds ook veranderd had van .BAS naar .TXT Ik dacht 30 jaar geleden maar het kan zelfs meer dan 40 jaar geleden zijn. Ik en nog enkele vrienden gebruiken het al vele jaren en wou er verbeteringen aanbrengen.
 

erikdenhouter

Vaak hier
Lid geworden
14 jun 2019
Berichten
892
Waarderingsscore
66
Punten
28
Leeftijd
63
Nou, dit zou ik in je Verkenners zoekbalk invullen om naar elke .bas op je systeem te zoeken:

*.bas

Doe dat in de Verkenner bij 'Deze PC', en ga dan even boodschappen doen. Wie weet.
Aanvankelijk dacht ik ook dat een oplossing zou zijn om de extensie terug naar .BAS te zetten, omdat ik destijds ook veranderd had van .BAS naar .TXT
Ik denk niet dat dat een .bas was, want e-mail had daar geen restricties op, wel op de .exe, omdat dat een direct uitvoerbaar programma is. Voor de .bas heb je minstens de interpreter (Qbasic.exe) nodig om te kunnen werken.
 

boertje125

Gewaardeerd
Lid geworden
19 jul 2005
Berichten
1.696
Waarderingsscore
32
Punten
48
Leeftijd
50
opnieuw omzetten naar een leesbaar bestand dat werk gaat vaak nog wel maar dat wordt nooit zoals je orgineel was

zoek eens exe2bas (wel eerst programma.txt veranderen naar programma.exe)
 

pluspower

Junior lid
Lid geworden
18 jan 2020
Berichten
58
Waarderingsscore
5
Punten
8
Leeftijd
80
Hier ingesloten heb ik hetzelfde programma in .BAS Maar ook dat is met speciale tekens en krijg het niet aan de praat. Ben ik hier iets meer vooruit??
 

erikdenhouter

Vaak hier
Lid geworden
14 jun 2019
Berichten
892
Waarderingsscore
66
Punten
28
Leeftijd
63
Je bedoelt wat je in je eerste bericht bijgevoegd hebt ? Dat is naar mijn mening de .exe.


Zo ziet een stukje basic bronbestand (.bas) er bijvoorbeeld uit, een soort begrijpelijke maar symbolische taal:

=====================================
SUB pause
tmtimer! = TIMER

SELECT CASE tm!
CASE IS < 0 ' 2) TM!= -SECONDS, NOT interruptable
tm! = ABS(tm!)
DO UNTIL TIMER - tmtimer! > tm!
IF TIMER - tmtimer! < 0 THEN tmtimer! = tmtimer! - 86400
LOOP
CASE IS > 0 ' 3) TM!= SECONDS, interruptable
DO UNTIL TIMER - tmtimer! > tm! OR LEN(INKEY$)
IF TIMER - tmtimer! < 0 THEN tmtimer! = tmtimer! - 86400
LOOP
END SELECT

tm! = 0

END SUB
=====================================

Wat je vooral ook niet moet doen is het bewerken van een exe in Kladblok of andere teksteditor. Zodra je het zou opslaan ben je het programma kwijt, dan is het beschadigd.
 

pluspower

Junior lid
Lid geworden
18 jan 2020
Berichten
58
Waarderingsscore
5
Punten
8
Leeftijd
80
Als ik het goed begrepen heb moet ik proberen om
het huidige programma.EXE om te zetten naar programma.BAS
Is zoiets mogelijk???
 

Veng

Elite lid
Lid geworden
27 nov 2012
Berichten
5.902
Waarderingsscore
62
Punten
48
.exe omzetten in .bas is het decompileren waar erik het over heeft. Niet gemakkelijk dus. Daarvoor heb je een dedicated decompiler nodig.
Ik denk dat je de meeste kans hebt op een oplossing via een MSX community.
b.v. File-Hunter.com Die lui zijn blijkbaar nog actief.
(Ik ben overigens zelf ook met MSX begonnen maar hoor de baas van Sinclair nog zeggen: "MSX, dat wordt niks" En hij kreeg gelijk. Reden was blijkbaar dat MSX al met een achterstand in technologie begon. Heb nog veel software op een hd staan, emulator en spelletjes. Of ze werken weet ik niet)
 
Laatst bewerkt:

pluspower

Junior lid
Lid geworden
18 jan 2020
Berichten
58
Waarderingsscore
5
Punten
8
Leeftijd
80
Zoals u kon zien zocht ik een oplossing om een programma.exe terug om te zetten naar .bas. Volgens jullie informatie was dat onbegonnen werk. Mijn oorspronkelijk programma.bas kon ik wel inlezen met Qbasic maar vertoonde onleesbare tekens. Het opstarten lukte evenmin.
Maar eigenaardig genoeg werkt hetzelfde programma.bas wel met FreeBASIC. Doch ik kan de opmaak van mijn programma niet zien. Is daar soms een oplossing voor???
 

erikdenhouter

Vaak hier
Lid geworden
14 jun 2019
Berichten
892
Waarderingsscore
66
Punten
28
Leeftijd
63
... Maar eigenaardig genoeg werkt hetzelfde programma.bas wel met FreeBASIC. Doch ik kan de opmaak van mijn programma niet zien.
Hoe bedoel je "werkt wel met FreeBASIC" ? Gebruik je dan FreeBASIC als een interpreter zoals je met QBasic doet ? En je kan dus niet de broncode zien, dus ook niet editten ?
 

pluspower

Junior lid
Lid geworden
18 jan 2020
Berichten
58
Waarderingsscore
5
Punten
8
Leeftijd
80
Ter verduidelijking: Ik heb geprobeerd mijn programma.bas in te lezen met verschillende basic-programma's. Soms kon ik de inhoud zien die bestond uit vreemde tekens en uitvoeren (Run) lukte helemaal niet. Nu met FreeBasic werkt het uitvoeren van het programma wel. Maar de opmaak die ik destijds invoerden kan ik niet zien. Het enige dat ik weet is dat mijn programma.exe er een is van 16 bit. Ondertussen zoek ik nog verder tot ik de juiste versie van basic heb gevonden.
 

erikdenhouter

Vaak hier
Lid geworden
14 jun 2019
Berichten
892
Waarderingsscore
66
Punten
28
Leeftijd
63
Even opgemerkt: Qbasic is een 16 bit programma, en je hebt maximaal een 32bit Windows nodig om op te kunnen draaien. Op 64bit Windows is het draaien van Qbasic niet mogelijk, tenzij je tussenoplossingen installeert.
Freebasic echter is zelf 32bit, en ook verkrijgbaar voor 64bit, maar ik denk dat bij 64bit ook 32bit executables gecompileerd worden.
Dit lees ik bij FreeBASIC website:

"Windows 32bit
Unless you already have a source code editor or IDE, you should install one too, as FreeBASIC itself does not include one. An IDE can be used to write and save .bas files and to launch the FreeBASIC Compiler to compile them."
Blijkbaar heb je apart toch een broncode editor van iemand anders nodig.

Mijn ervaring stokt hier, ik kan namelijk niet begrijpen in welke taal dat bestand nu eigenlijk staat als deze ook door de compiler van FreeBASIC draait. Als het een .exe is, dan is deze namelijk al gecompileerd, en als het een .bas is zou Qbasic (en anderen) hem in basic broncode moeten kunnen weergeven.
 
Laatst bewerkt:

pluspower

Junior lid
Lid geworden
18 jan 2020
Berichten
58
Waarderingsscore
5
Punten
8
Leeftijd
80
Al maanden probeerde in een programma.bas in te lezen met qbasic. Dat lukte maar niet tot iemand met kennis van zaken me de opmerking maakte dat het programma.bas in werkelijkheid een programma.exe was. 20 jaar geleden had ik blijkbaar geknoeid met de extensie. Ik kan nog altijd niet begrijpen dat ik dat niet eerder opmerkte.
Dus probleem is opgelost.
 

Veng

Elite lid
Lid geworden
27 nov 2012
Berichten
5.902
Waarderingsscore
62
Punten
48
Zo zie je maar. Never ever give up.
 

Nieuwste berichten

Bovenaan Onderaan