Toon posts:

[VB6] code uit textfile laten uitvoeren

Pagina: 1
Acties:
  • 343 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb een stuk VB6-code in een Textfile staan en deze code (die veranderd) wil ik inlezen in VB6.
Vervolgens moet het programma deze code uit kunnen voeren. Maar ik heb eigenlijk totaal geen verstand van visual basic, meer van Delphi. Dus ik ben eraan begonnen, op een gegeven moment kon ik 'eindelijk' de file inlezen in een Textbox, maar het programma de textfile laten uitvoeren, dat lukte niet.
Kan iemand mij hier bij helpen?

Bvd,

Huib

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Je bent op zoek naar een eval() achtige functie?

Maar een betere vraag: Waarom wil je het uberhaupt zo doen? Kun je iets meer uitwijden over het onderwerp?

[ Voor 64% gewijzigd door RobIII op 01-02-2006 15:07 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Als je Delphi kent moet VB een eitje zijn :P. Maar goed je wilt dus dynamisch code gaan uitvoeren. Klinkt alsof je late binding wilt gebruiken, want je wilt at run-time bepalen welke code uitgevoerd moet worden. Hieronder een voorbeeld om dit in VB6 te kunnen doen:
Visual Basic:
1
2
3
Dim x as Object
Set x = CreateObject("TestApp.ClassName")
x.ExecuteMethod()

VB6 gebruikt hier COM voor reflection. Dit betekent dat je een ActiveX DLL zal moeten maken met als naam "TestApp", en een class "ClassName" en een method "ExecuteMethod".

Edit:
Dit is niet helemaal wat je wilt, want je wilt code uit een textfile uitvoeren, maar ik heb het idee dat je neigt naar een verkeerde/ongeschikte oplossing voor hetgene wat je wilt bereiken. Dus zoals RobIII al zegt vertel eens wat je precies wilt.

[ Voor 23% gewijzigd door pjonk op 01-02-2006 15:18 ]

It’s nice to be important but it’s more important to be nice


Verwijderd

Topicstarter
Ik heb de broncode van een motorkaart in Visual basic, en ik heb een software programma geschreven in Delphi, die eigenlijk de motorkaart moet aansturen, maar aangezien ik geen broncode heb voor Delphi, schrijf ik het resultaat van Delphi maar in een txt file, die vervolgens gelezen wordt in VB. Maar dat lezen van die txtfile in Visual Basic, dat lukt dus niet.
Of is het mogelijk om in Delphi VB-code uit te voeren?

Ik hoop dat ik het zo duidelijk heb uitgelegd.

Iedergeval al bedankt voor de snelle reacties

Mvg,

Huib

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Je hebt een 'softwareprogramma' geschreven in Delphi, maar aangezien je geen broncode hebt voor Delphi...? :? En daarom heb je het maar in een txt gezet die wordt gelezen in VB? En een txt file lezen lukt niet? (Want dat zei je in je openingspost van wel: "op een gegeven moment kon ik 'eindelijk' de file inlezen in een Textbox"). En dan wil je VB code uitvoeren in Delphi?

Dude. Ik kan er geen touw aan vastknopen :D

Zeg nou eens gewoon heel simpel wat je wil doen? Je wil een motorkaart aansturen en hebt daarvoor VB code liggen?
Waarom "lees" (met je "brain™" dus) je die code dan niet en schrijf je zelf de Delphi-variant daarvoor? VB code is nogal easy leesbaar, ook al ben je van huis uit een andere taal gewend, en nog easier om te zetten naar een andere taal met wat denkwerk.

Maar eerlijk gezegd klinkt het me in de oren alsof je geen enkele taal "voldoende" machtig bent om hieraan te beginnen. NOFI hoor.

[ Voor 6% gewijzigd door RobIII op 01-02-2006 17:34 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • maurad3r
  • Registratie: Oktober 2004
  • Laatst online: 12-04 13:50
Je weet dus niet hoe VB6 in elkaar steekt: en daarom heb je een delphi programma geschreven dat voor jou VB code maakt en schrijft naar een bestand |:( :?

Verwijderd

Topicstarter
ja die motor kaart aansturing is in VB geschreven doormiddel van het aansturen van Dll`s, en ik heb een programma geschreven in Delphi om waardes naar die kaart te kunnen versturen. Dit doe ik nu door in Delphi die waardes in een tekst file te zetten, met daarin code die VB kan lezen.

Deze code kan ik wel inlezen in VB in een textbox, maar ik kan deze code uit de text file niet laten runnen in VB.
(en ik heb trouwens nooit gezegd dat ik een expert programmeur ben)

Ik weet dus ook niet zeker of dit de beste oplossing is??!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 11:47

Janoz

Moderator Devschuur®

!litemod

Met delphi kun je vast ook wel dll's aanroepen.
Ik weet dus ook niet zeker of dit de beste oplossing is??!
Ik weet zeker dat dit niet de beste oplossing is

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • maurad3r
  • Registratie: Oktober 2004
  • Laatst online: 12-04 13:50
Ah, hetgeen dat je delphi dus laat uitspuwen is geen VB.net code? Het is gewoon een tekstbestand dat je weer in wilt lezen. Ja, als je dit bedoelt dan kan dat natuurlijk:

http://www.freevbcode.com/ShowCode.Asp?ID=4492

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 12-04 09:44
Sowieso hat TS het over VB6 en niet VB.Net. Daarbij komt dat hij gewoon de dll aanroepen moet vertalen naar Delphi, wat me niet een al te moeilijke klus lijkt. ( Denk erom, stdcall )

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • Ciqniz
  • Registratie: Oktober 2002
  • Laatst online: 07-09-2023

Ciqniz

On the move...

:)

Ik denk dat ik het snap...

- Je hebt in Delphi een programma gebouwd dat op een of andere manier data tevoorschijn kan halen
- Die data moet verwerkt worden
- Je weet alleen hoe die data verwerkt moet worden in VB6, niet in Delphi (kant-en-klare broncode)
- Je weet hoe je die data in Delphi naar buiten moet brengen (textfile)
- Je weet hoe de code om die data te verwerken in VB6 er uit moet zien
- Je wilt dat VB6 dynamisch iets met die data kan doen

Vriend,

Als je echt zo vreselijk vast zit aan deze stappen...
Probeer het dan op zijn minst zo te doen:

- Delphi krijgt data
- Delphi slaat data op in text-file als een bepaalde reeks van waardes

Probeer het volgende eens:

- Maak een file aan op de root van je systeem (C:\ in mijn voorbeeld) met de naam "jouwfile.txt"
- Zet in dat bestand het volgende:

code:
1
2
3
4
5
hoi
dit
is
een
test


- Maak een nieuw project in VB6 (standard EXE)
- Zet daar de volgende code in:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub Form_Load()
Dim FF As Integer
Dim tmp As String

FF = FreeFile

Open "C:\jouwfile.txt" For Input Shared As #FF
  While Not EOF(FF)
    Line Input #FF, tmp
    MyFunction (tmp) 'routine waar jouw code in zit die je eerst op wou slaan in je textfile
  Wend
Close #FF
End Sub

Public Function MyFunction(information As String)
  MsgBox information
End Function


Als het goed is als je het project start (F5) krijg je 5 messageboxes achter elkaar met Hoi, Dit, Is...enz. Ik hoop dat je nu wat verder op weg geholpen bent! Zo heb je zelf nog wel wat uit te zoeken over VB enzo, maar weet je in ieder geval zelf ook weer waar je het over hebt :)

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 12-04 09:44
Ik snap het anders ... dus een van ons tweeen heeft het verkeerd.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • Ciqniz
  • Registratie: Oktober 2002
  • Laatst online: 07-09-2023

Ciqniz

On the move...

farlane schreef op vrijdag 03 februari 2006 @ 11:04:
[...]


Ik snap het anders ... dus een van ons tweeen heeft het verkeerd.
Ik denk dat het niet alleen om de dll-calls gaat... Misschien ook wat verwerking om de data heen... Buiten de DLL om misschien? Dat zou betekenen dat hij de VB6 code zou moeten vertalen naar Delphi, waar geen kunst aan is... Maar hij heeft gewoon nog geen ervaring genoeg...

Misschien een tip voor TS:
http://www.hitmill.com/programming/vb/primer.html

Alhoewel je zonder het eerst te proberen er nooit achter komt of je het kunt of niet... Het is gewoon een kwesie van logisch nadenken eigenlijk (het vertalen van VB6 naar Delphi)
Pagina: 1