Toon posts:

[VB6.0] Command-Statement gebruiken

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een proggie gemaakt, en dat wil ik nu laten testen maar ik wil de gebruikers de mogelijkheid geven om de programmacode te wijzigen at Run-time.

Nu heb ik in een boek gelezen dat dat can met hat commando 'Command'.

Voorbeeld:
code:
1
Command = "resultaat = msgbox("Hallo",vbOKCancel)"


Maar dit werkt niet, kan iemand mij een hint geven hoe dit wel zou moeten lukken of heb ik dit commando verkeerd begrepen?.

  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 15-08 11:47

Sponge

Serious Game Developer

Daar heb ik nog nooit van gehoord :)

Command wordt dacht ik gebruikt voor command-line parameters, zoals

"c:\prince\prince.exe megahit" 8)7

Bijvoorbeeld:

http://www.experts-exchan...ual_Basic/Q_20181592.html

Overigens voor eigen programma code te maken/wijzigen @ runtime kun je:
* Microsoft Script Control Gebruiken
* Gaan prutsen met CallByName
* Eigen script taal maken

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Als je de code die je hier hebt staan probeert werkt dat inderdaad niet. Kijk eens GOED kijkt naar de dubbele quotes en waar je die plaatst...

Na de openingshaak van de MsgBox zet je een dubbele quote die het eerste gedeelte afsluit als string. Vervolgens komt er hallo. Hallo is, uiteraard, een onbekend commando.

Of het uberhaupt met dit Command-commando kan werken weet ik niet, maar dat kan het in ieder geval niet op deze manier. :P

My personal website


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

@41.6C.6D.61.72: True! De help van VB 6.0 is er redelijk duidelijk over:
Returns the argument portion of thecommand line used to launch Microsoft Visual Basic or an executable program developed with Visual Basic.
Dat wordt dus anders knutselen...

My personal website


Verwijderd

Topicstarter
;( Da's jammer, ik dacht dat je misschien wel op die manier een variabele code zou kunnen maken.

/me zal dan toch iets anders moeten bedenken aangezien niet al zijn debuggers VB hebben draaien.

[ Voor 89% gewijzigd door Verwijderd op 07-03-2003 09:23 ]


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

LOL @ reactie van Bukker...
Lekker droog

Als je een klein beetje kunt uitleggen wat je precies wilt is het misschien een idee om daar eens een voorbeeldje van te geven, zodat er hier misschien mensen zijn die je een (andere) oplossing kunnen aandragen om je uitdaging aan te gaan...

My personal website


Verwijderd

41.6C.6D.61.72 schreef op 07 March 2003 @ 08:54:
Daar heb ik nog nooit van gehoord :)

Command wordt dacht ik gebruikt voor command-line parameters, zoals

"c:\prince\prince.exe megahit" 8)7

Bijvoorbeeld:

http://www.experts-exchan...ual_Basic/Q_20181592.html

Overigens voor eigen programma code te maken/wijzigen @ runtime kun je:
* Microsoft Script Control Gebruiken
* Gaan prutsen met CallByName
* Eigen script taal maken
Prince of persia :D

Maar het is wel correct, je veronderstelling

Verwijderd

Topicstarter
OZ-Gump schreef op 07 March 2003 @ 09:24:
LOL @ reactie van Bukker...
Lekker droog

Als je een klein beetje kunt uitleggen wat je precies wilt is het misschien een idee om daar eens een voorbeeldje van te geven, zodat er hier misschien mensen zijn die je een (andere) oplossing kunnen aandragen om je uitdaging aan te gaan...
Okee, het zit zo:

Ik had een opdracht voor school (GEEN FLAMES, LEES VERDER)
Dit ging over een proggie waarmee de gebruiker zijn kwartaalwinst kon uitrekenen. In de opdracht moest ik de kosten en uitgavenposten benoemen, dit heb ik gedaan, uurtje werk ingelevert, 7. Niks aan de hand maar omdat ik zelf niet tevreden was over het programma heb ik het uitbereid zodat de gebruiker zijn posten kan benoemen en uitbereiden.

Om te kijken of dit programma ook een beetje reëel in het gebruik is wilde ik het laten testen door een aantal kennisen, maar die hebben niet allemaal VB dus kunnen de source-files niet openen. Om dit probleem op te lossen wilde ik de code per object in een text-box zetten zodat deze door de gebruiker kan worden gewijzigd wanneer deze ergens iets vind dat niet klopt.

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Als ik dit hoor krijg ik het gevoel dat je dus de naamgeving van de kosten en uitgaveposten dynamisch wil maken? Als ik daar over na ga denken (auw) denk ik aan de volgende opties:

1. Sla de namen op in de registry. Bepaal vooraf een max aantal entries, en zorg ervoor dat elke lege entrie een default-waarde heeft, zodat je weet dat die niet gebruikt wordt.

2. Gebruik een ini-file met dezelfde gedachte als de registry.

3. Sla de posten op in een database. Zo kun je runtime bekijken hoeveel posten er zijn en deze gebruiken.

Ikzelf denk dat je mensen niet aan de code moet laten komen. Verstandiger lijkt me op te werken met een loopje en dan bijvoorbeeld een array te vullen met alle waardes die je nodig hebt. En dan dus niet zelf keihard de namen coden, maar variabelen gebruiken waarmee je verwijst naar de posten die opgegeven zijn.

Tis een wazig verhaal geworden (gedachtekronkels zijn ook best moeilijk uitleggen soms...) maar ik hoop dat het iets is waar je iets mee kunt. Let us know, OK?

[ Voor 1% gewijzigd door OZ-Gump op 07-03-2003 10:07 . Reden: zinsbouw van lik-me-vestje ]

My personal website


Verwijderd

Topicstarter
Ik weet dat je in ASP een dBase-connectie zo kunt maken:

ASP.NET Visual Basic:
1
2
3
4
5
6
set dbase = "ADODB.Recordset"
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=dbase.mdb;"
strSQL = "SELECT tblkosten.* from tblKosten;"
dBase.Open strSQL, strCon, adOpenDynamic, adLockOptimistic
    'Bewerkingen om waarden weg te schrijven
dBase.Close


In Visual Basic maak ik er dit van:
Visual Basic .NET:
1
2
3
4
5
6
7
8
Dim dBase As Adodc
Dim strCon As String
Dim strSQL As String
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\dbase.mdb;"
strSQL = "SELECT tblkosten.* from tblKosten;"
dBase.Recordset.Open strSQL, strCon, adOpenDynamic, adLockOptimistic
    'Bewerkingen om waarden weg te schrijven
dBase.Recordset.Close


Maar op een of andere manier werkt het niet, ik moet nog wat declareren volgens VB, wat zie ik over het hoofd?

[ Voor 15% gewijzigd door Verwijderd op 07-03-2003 11:36 ]


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 26-06 10:37

OZ-Gump

terug van weggeweest

Hey Bukker, volgens mij loop jij al lang genoeg op GoT rond om te weten dat dit niet echt een probleemomschrijving is waarmee je zoden aan de dijk zet.

Mijn glazen bol zegt niks over de melding dat het op de een of andere manier niet werkt. :P

Mijn eerste gok zou zijn: check de references die je project gebruikt en kijk of je alles hebt wat nodig is.

My personal website


  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 15-08 11:47

Sponge

Serious Game Developer

Of maak iets zoals hier gedaan wordt:

http://www.vbexplorer.com/VBExplorer/library/simpledb.asp

Voor een "Echte" database:

http://www.vbexplorer.com/VBExplorer/library/access01.asp
http://www.vbexplorer.com...base_Beginner_ADO_DAO.asp

voor ADO (wat nieuwe is dan DAO afaik), moet je "microsoft ado objects" oid in References aanvinken. (menu Project)
Pagina: 1