Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Software & Hardware (https://forum.scholieren.com/forumdisplay.php?f=20)
-   -   [Visual Basic] Tekst naar .txt bestand schrijven (https://forum.scholieren.com/showthread.php?t=475773)

I-brahimovic 13-05-2003 20:38

[Visual Basic] Tekst naar .txt bestand schrijven
 
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!

deathz0rz 13-05-2003 20:54

"""Bijvoorbeeld deze zin"""

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

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

k?

Henri 13-05-2003 21:04

Hoe voer je de zin in? Via een textbox?

deathz0rz 13-05-2003 21:24

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

Marcade 14-05-2003 08:54

Eitje

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

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

Close #1

dafelix 14-05-2003 12:49

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


dafelix 14-05-2003 12:50

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

Marcade 14-05-2003 13:30

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. :o

Nutteloos info; voor optellen van grote strings kan je beter *nog* een andere methode gebruiken

Marcade 14-05-2003 13: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* ..

dafelix 14-05-2003 14:17

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

deathz0rz 14-05-2003 15:07

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

I-brahimovic 14-05-2003 17:56

Bedankt voor de reacties allemaal, was er na een tijdje (zonder op het forum te kijken) zelf al uitgekomen :cool: Ik zal ook de andere tips uit het topic (zoals dat write) eens proberen.

I-brahimovic 15-05-2003 18:56

* up * Want ik heb weer een probleempje :o

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 :p

deathz0rz 15-05-2003 21:18

Citaat:

I-brahimovic schreef op 15-05-2003 @ 19:56:
* up * Want ik heb weer een probleempje :o

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 :p

Open "C:\binary.bin" For Binary As #1

Get #1 ....

Close #1

bedoel je dat?

I-brahimovic 15-05-2003 21:33

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.

Preaper 16-05-2003 00:11

Citaat:

dafelix schreef op 14-05-2003 @ 13:50:
Met + wil die soms nog wel eens optellen, met '&' plaktie het aanelkaar
Wat een onzin :confused: Daar heb ik nou nog nooit last van gehad.

Lethalis 16-05-2003 08:15

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)

Marcade 16-05-2003 09:56

Citaat:

Preaper schreef op 16-05-2003 @ 01:11:
Wat een onzin :confused: 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.

Marcade 16-05-2003 09:57

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?

I-brahimovic 16-05-2003 15: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? :confused:

deathz0rz 16-05-2003 22:04

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? :confused:
volgens mij kan dat met Shell() ook hoor...

Lethalis 16-05-2003 23:29

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? :confused:
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 ;)

I-brahimovic 17-05-2003 13:30

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? :(

deathz0rz 17-05-2003 16:54

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? :P

I-brahimovic 17-05-2003 17:32

Hehe, het is me eindelijk gelukt... en ik ben trots op mezelf :D
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 :)


Alle tijden zijn GMT +1. Het is nu 05:37.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.