Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 13-05-2003, 20:38
I-brahimovic
I-brahimovic is offline
Hallo mensen, ik zit weer met een probleempje met Visual Basic. Ben nog maar een beginner, dus hopelijk houden jullie het simpel

Wat ik wil doen is het volgende: ik maak een tekstbestand aan op harde schijf (vanuit Visual Basic, da's nog geen probleem). Maar wat ik nu wil is naar dit tekstbestand een regel schrijven die tussen aanhalingstekens staat ("Bijvoorbeeld deze zin", zoiets moet dan naar een tekstbestand). Maar als je een zin schrijft in Visual Basic, moet je 'm zoiezo al tussen dubbele aanhalingstekens zetten. Doe je het nog een keer dus ""Bijvoorbeeld deze zin"" dan krijg je (uiteraard) een error.

Even snel uit m'n hoofd moet het zoiets zijn:

Open "C:\tekstbestand.txt" For Output As #1

Print #1, ""Bijvoorbeeld deze zin"" (dit gaat dus niet )

Close #1


Hopenlijk begrijpen jullie dit een beetje...

Alvast bedankt allemaal!
Met citaat reageren
Advertentie
Oud 13-05-2003, 20:54
deathz0rz
deathz0rz is offline
"""Bijvoorbeeld deze zin"""

logisch, niet? als je nl. "ik zeg "" blaat"

dan komt er ik zeg " blaat te staan. dus ""="

k?
__________________
Ooit. Dan.
Met citaat reageren
Oud 13-05-2003, 21:04
Verwijderd
Hoe voer je de zin in? Via een textbox?
Met citaat reageren
Oud 13-05-2003, 21:24
deathz0rz
deathz0rz is offline
Citaat:
Henri schreef op 13-05-2003 @ 22:04:
Hoe voer je de zin in? Via een textbox?
hij heeft het over ""Bijvoorbe....

dus het zal wel in de code zijn
__________________
Ooit. Dan.
Met citaat reageren
Oud 14-05-2003, 08:54
Marcade
Avatar van Marcade
Marcade is offline
Eitje

Open "C:\tekstbestand.txt" For Output As #1

Print #1, chr(34) + "Bijvoorbeeld deze zin" + chr(34)

Close #1
Met citaat reageren
Oud 14-05-2003, 12:49
dafelix
Avatar van dafelix
dafelix is offline
Citaat:
Marcade schreef op 14-05-2003 @ 09:54:
Open "C:\tekstbestand.txt" For Output As #1

Print #1, chr(34) + "Bijvoorbeeld deze zin" + chr(34)

Close #1
netter is

Code:
Open "C:\tekstbestand.txt" For Output As #1 

Print #1, chr(34) & "En-tekens gebruiken" & chr(34)

Close #1
__________________
$karma++;
Met citaat reageren
Oud 14-05-2003, 12:50
dafelix
Avatar van dafelix
dafelix is offline
Citaat:
dafelix schreef op 14-05-2003 @ 13:49:
netter is

Code:
Open "C:\tekstbestand.txt" For Output As #1 

Print #1, chr(34) & "En-tekens gebruiken" & chr(34)

Close #1
Met + wil die soms nog wel eens optellen, met '&' plaktie het aanelkaar
__________________
$karma++;
Met citaat reageren
Oud 14-05-2003, 13:30
Marcade
Avatar van Marcade
Marcade is offline
Citaat:
dafelix schreef op 14-05-2003 @ 13:50:
Met + wil die soms nog wel eens optellen, met '&' plaktie het aanelkaar
Je hebt volkomen gelijk.

Nutteloos info; voor optellen van grote strings kan je beter *nog* een andere methode gebruiken
Met citaat reageren
Oud 14-05-2003, 13:31
Marcade
Avatar van Marcade
Marcade is offline
Ik bedenk me trouwens net.

WRITE #1 plakt er automatisch quotes omheen.

WRITE #1, "Blah" levert geloof ik "Blah" op in de textfile.

..

geloof ik .. ik gebruik WRITE *nooit* ..
Met citaat reageren
Oud 14-05-2003, 14:17
dafelix
Avatar van dafelix
dafelix is offline
Citaat:
Marcade schreef op 14-05-2003 @ 14:31:
Ik bedenk me trouwens net.

WRITE #1 plakt er automatisch quotes omheen.

WRITE #1, "Blah" levert geloof ik "Blah" op in de textfile.

..

geloof ik .. ik gebruik WRITE *nooit* ..
volgens MSDN bestaat write niet maar je kan hem wel gewoon gebruiken in VB... raar
hmm nouwja moet de topicstarter maar ff testen
__________________
$karma++;
Met citaat reageren
Oud 14-05-2003, 15:07
deathz0rz
deathz0rz is offline
Citaat:
dafelix schreef op 14-05-2003 @ 15:17:
volgens MSDN bestaat write niet maar je kan hem wel gewoon gebruiken in VB... raar
hmm nouwja moet de topicstarter maar ff testen
misschien niet meer in VB.net, in 6 iig wel
__________________
Ooit. Dan.
Met citaat reageren
Oud 14-05-2003, 17:56
I-brahimovic
I-brahimovic is offline
Bedankt voor de reacties allemaal, was er na een tijdje (zonder op het forum te kijken) zelf al uitgekomen Ik zal ook de andere tips uit het topic (zoals dat write) eens proberen.
Met citaat reageren
Oud 15-05-2003, 18:56
I-brahimovic
I-brahimovic is offline
* up * Want ik heb weer een probleempje

Ik wil nu dat ik vanuit mijn .exe programmaatje, een ander bestand open. Dat kan een .gif, .jpg of een andere .exe zijn (om maar eens wat voorbeelden te noemen) maar ik kan maar niet vinden hoe dat moet. Experts hier, laat je horen
Met citaat reageren
Oud 15-05-2003, 21:18
deathz0rz
deathz0rz is offline
Citaat:
I-brahimovic schreef op 15-05-2003 @ 19:56:
* up * Want ik heb weer een probleempje

Ik wil nu dat ik vanuit mijn .exe programmaatje, een ander bestand open. Dat kan een .gif, .jpg of een andere .exe zijn (om maar eens wat voorbeelden te noemen) maar ik kan maar niet vinden hoe dat moet. Experts hier, laat je horen
Open "C:\binary.bin" For Binary As #1

Get #1 ....

Close #1

bedoel je dat?
__________________
Ooit. Dan.
Met citaat reageren
Oud 15-05-2003, 21:33
I-brahimovic
I-brahimovic is offline
Citaat:
deathz0rz schreef op 15-05-2003 @ 22:18:
Open "C:\binary.bin" For Binary As #1

Get #1 ....

Close #1

bedoel je dat?
Weet het niet, want Visual Basic pakt dat Get #1 .... niet. Mijn doel is dus om vanuit mijn .exe een ander programma/plaatje/document te starten.
Met citaat reageren
Oud 16-05-2003, 00:11
Preaper
Avatar van Preaper
Preaper is offline
Citaat:
dafelix schreef op 14-05-2003 @ 13:50:
Met + wil die soms nog wel eens optellen, met '&' plaktie het aanelkaar
Wat een onzin Daar heb ik nou nog nooit last van gehad.
__________________
█████████████████████99%
Met citaat reageren
Oud 16-05-2003, 08:15
Verwijderd
Citaat:
I-brahimovic schreef op 15-05-2003 @ 22:33:
Weet het niet, want Visual Basic pakt dat Get #1 .... niet. Mijn doel is dus om vanuit mijn .exe een ander programma/plaatje/document te starten.
Wooha.. (ShellExecute)
Met citaat reageren
Oud 16-05-2003, 09:56
Marcade
Avatar van Marcade
Marcade is offline
Citaat:
Preaper schreef op 16-05-2003 @ 01:11:
Wat een onzin Daar heb ik nou nog nooit last van gehad.
& is gewoon netter omdat het bedoeld is voor het concateneren van strings. + word gebruikt om binary op te tellen.

Ikzelf heb er ook nooit last van gehad in Visual Basic; maar wel in andere talen.
Met citaat reageren
Oud 16-05-2003, 09:57
Marcade
Avatar van Marcade
Marcade is offline
Citaat:
I-brahimovic schreef op 15-05-2003 @ 22:33:
Weet het niet, want Visual Basic pakt dat Get #1 .... niet. Mijn doel is dus om vanuit mijn .exe een ander programma/plaatje/document te starten.
BINARY .. GET word gebruikt wil je letterlijk een bestand openen en het lezen. Je kan dit gebruiken om bestanden te kopieeren bv.

Wat jij wil is idd Shell("filenaam") of de uitgebreidere routine van ********.

Er is trouwens al eerder een VB post erover geweest?
Met citaat reageren
Oud 16-05-2003, 15:56
I-brahimovic
I-brahimovic is offline
Wederom bedankt allemaal. Klopt het als ik zeg dat het commando "Shell" alleen werkt bij .exe-files? Wat ik wil is namelijk meer dan alleen .exe's openen, maar dit gaat denk ik niet met Shell? Overigens werkt Shellexecute wel, maar die code die je daarvoor nodig hebt is moeilijk en ik als beginner begrijp dat niet, laat staan dat ik het onthoud. Stel ik wil een .jpg openen, kan dat dan alleen met ShellExecute?
Met citaat reageren
Oud 16-05-2003, 22:04
deathz0rz
deathz0rz is offline
Citaat:
I-brahimovic schreef op 16-05-2003 @ 16:56:
Wederom bedankt allemaal. Klopt het als ik zeg dat het commando "Shell" alleen werkt bij .exe-files? Wat ik wil is namelijk meer dan alleen .exe's openen, maar dit gaat denk ik niet met Shell? Overigens werkt Shellexecute wel, maar die code die je daarvoor nodig hebt is moeilijk en ik als beginner begrijp dat niet, laat staan dat ik het onthoud. Stel ik wil een .jpg openen, kan dat dan alleen met ShellExecute?
volgens mij kan dat met Shell() ook hoor...
__________________
Ooit. Dan.
Met citaat reageren
Oud 16-05-2003, 23:29
Verwijderd
Citaat:
I-brahimovic schreef op 16-05-2003 @ 16:56:
Wederom bedankt allemaal. Klopt het als ik zeg dat het commando "Shell" alleen werkt bij .exe-files? Wat ik wil is namelijk meer dan alleen .exe's openen, maar dit gaat denk ik niet met Shell? Overigens werkt Shellexecute wel, maar die code die je daarvoor nodig hebt is moeilijk en ik als beginner begrijp dat niet, laat staan dat ik het onthoud. Stel ik wil een .jpg openen, kan dat dan alleen met ShellExecute?
Dan maak je de code kleiner. Even uit mijn hoofd (heb hier geen VB meer):

Code:
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
  (ByVal hWnd As Long, ByVal lpOperation As String, _
  ByVal lpFile As String, ByVal lpParameters As String, _
  ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Dit is de import van de shell32.dll.

En dan ergens in je code:

Code:
ShellExecute(0, "open", sFile, "", "", 1)
De eerste parameter is de handle van je owner window. Het "open" geeft aan dat de shell het bestand moet openen, ongeacht het type. sFile is het bestand. De parameter daarna dient voor extra parameters (bijv als je een programma met commandline args wil starten). Vervolgens krijg je de map waarin je het wil openen, kun je leeg laten. De 1 staat voor SW_SHOWNORMAL. Dus laat het geopende bestand in normale toestand zien.

2 regels om te onthouden
Met citaat reageren
Oud 17-05-2003, 13:30
I-brahimovic
I-brahimovic is offline
Citaat:
deathz0rz schreef op 16-05-2003 @ 23:04:
volgens mij kan dat met Shell() ook hoor...
Als ik invoer Private Sub Form_Load()
Shell ("D:\Mijn Documenten\Plaatje1.jpg")
End Sub

Krijg ik de volgende error: Run-time error '5':

Invalid procedure call or argument.

********: bedankt, ik zal het eens proberen...

Ik vind het verdomd moeilijk... En ik maar denken dat Visual Basic goed was om mee te beginnen.

Ben ik nou zo dom of zijn jullie nou zo slim?
Met citaat reageren
Oud 17-05-2003, 16:54
deathz0rz
deathz0rz is offline
Citaat:
I-brahimovic schreef op 17-05-2003 @ 14:30:
Als ik invoer Private Sub Form_Load()
Shell ("D:\Mijn Documenten\Plaatje1.jpg")
End Sub

Krijg ik de volgende error: Run-time error '5':

Invalid procedure call or argument.
je moet ook
x=Shell ("D:\Mijn Documenten\Plaatje1.jpg")
doen, of zonder haakjes (maar dat werkt ook niet volgens mij...)

Citaat:
Ben ik nou zo dom of zijn jullie nou zo slim?
beide?
__________________
Ooit. Dan.
Met citaat reageren
Oud 17-05-2003, 17:32
I-brahimovic
I-brahimovic is offline
Hehe, het is me eindelijk gelukt... en ik ben trots op mezelf
Met heel veel gegoogle en geforum lukt het me nu om wat te openen vanuit Visual Basic. Dat "Shell" werkt volgens mij niet, of ik doe iets heel erg fout. Ook als ik x= ... doe krijg ik nog steeds een foutmelding. Maar wat ******** zei, werkte toch. Via de API-viewer kun je gewoon een deel van de code al invoeren, dan hoef je alleen nog maar te doen:

Dim sFile As String
sFile = "pad"
Call ShellExecute(0, "Open", sFile, "", "", 1)

Daarmee werkt het, dus allemaal bedankt voor de hulp
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 20:46.