Springen naar inhoud


- - - - -
VB6 SOLVED

Probleem Dubbel Extensie Bij Het Saven Van Een Textfile



  • Log in a.u.b. om te beantwoorden
Er zijn 8 reacties in dit onderwerp

#1 houthalen

houthalen

    Senior Developer

  • Leden
  • PipPipPip
  • 174 berichten
    Laatst bezocht 18 jul 2020 12:18

Geplaatst op 21 januari 2014 - 20:32

dag aan iedereen.
Ik ben lang bezig (een paar maanden zeker ) met een probleem waar ik geen oplossing kan vinden.
Met onderstaande  kan ik twee textboxen saven (ed daarna weer laden) in een textfile samen met 1 afbeelding
De afbeelding  krijgt, bij het saven, dan dezelfde naam van de textfile.
Dus als de textfile gesaved wordt als  Test.txt dan krijgt ook de afb (of zou toch krijgen)  de naam test.bmp
Alles werkt goed, of, bijna goed.
Ik heb opgemerkt dat de naam van de afbeelding niet als Test.bmp wordt gesaved, maar als Test.txt.bmp.
Het wordt dus een extensie teveel toegevoegd  (txt) en ik kan niet vinden waar of hoe kan dat voorkomen.
Kan iemand onder jullie vinden waar de fout zit?
Het werkt bijn perfect, maar wordt een dubbel extensie toegevoegd.
dank u
HouthalenCode:
Private Sub load_Click()
Dim Slash As String
CommonDialog2.Filter = "Tekst|*.txt"
If Right(App.Path, 1) <> "\" Then Slash = "\"
CommonDialog2.InitDir = App.Path & Slash & "Archief"
CommonDialog2.FileName = App.Path & Slash & "Archief" & "\*.txt"
CommonDialog2.ShowOpen
Call LoadText(CommonDialog2.FileName)
End Sub
Private Sub LoadText(file As String)
Text2.Text = "": Text3.Text = ""
Dim H As Integer
Dim L As String
H = FreeFile
Open file For Input As #H
While Not EOF(H)
	 Line Input #H, L
	 Text3.Text = Replace(L, ",", vbCrLf)
	 Line Input #H, L
	 Text2.Text = Replace(L, ",", vbCrLf)
Wend
Close #1
Close #H
Image3.Picture = LoadPicture(CommonDialog2.FileName & ".bmp")
End Sub
Private Sub save_Click()
Dim Slash As String
CommonDialog2.Filter = "Tekst|*.txt"
If Right(App.Path, 1) <> "\" Then Slash = "\"
CommonDialog2.InitDir = App.Path & Slash & "Archief"
CommonDialog2.FileName = App.Path & Slash & "Archief" & "\*.txt"
CommonDialog2.ShowSave
Call SaveText(CommonDialog2.FileName)
End Sub
Public Sub SaveText(file As String)
Open file For Output As #2
Dim txtbox3 As String
txtbox3 = Replace(Text3.Text, vbCrLf, ",")

Dim txtbox2 As String
txtbox2 = Replace(Text2.Text, vbCrLf, ",")

Print #2, txtbox3
Print #2, txtbox2
SavePicture Image3.Picture, CommonDialog2.FileName & ".bmp"
Close #2
End Sub





#2 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 05 feb 2020 07:09
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 21 januari 2014 - 20:49

Je probleem zit hem in deze regel, zoals je zegt er word een dubbel extensie geplaatst.:
Code:
SavePicture Image3.Picture, CommonDialog2.FileName & ".bmp"

Ik heb het niet getest maar dit zou je eventueel kunnen oplossen met.:
Code:

Dim VolledigeNaam As String = CommonDialog2.FileName
Dim VolledigeNaamZonderExtensie As String = Replace(VolledigeNaam, "txt", "bmp") 'met of zonder . even testen.
SavePicture Image3.Picture, VolledigeNaamZonderExtensie



#3 houthalen

houthalen

    Senior Developer

  • Leden
  • PipPipPip
  • 174 berichten
    Laatst bezocht 18 jul 2020 12:18

Geplaatst op 21 januari 2014 - 21:07

Ik heb het direct getest, PascalBianca. Ik was al blij want
het leek te werken maar...
De afb wordt wel correct gesaved (ik kan ze zien in de map ARCHIEF) maar als ik
de file open dan wordt GEEN afb geladen in de venster  ! Toch raar.
In de map ARCHIEF is wel de afb aanwezig maar wordt niet geladen...

Toch raar..

#4 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 05 feb 2020 07:09
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 21 januari 2014 - 21:39

Nou nee , eigenlijk niet raar.
Want in je laad code , doe eigenlijk weer hetzelfde.
Code:
Image3.Picture = LoadPicture(CommonDialog2.FileName & ".bmp") 

Als je dezelfde code probeert , uiteraard even de benamingen iets aanpassen, zal die ook werken.
Code:
Dim VolledigeLaadNaam As String = CommonDialog2.FileName
Dim VolledigeLaadNaamZonderExtensie As String = Replace(VolledigeLaadNaam, "txt", "bmp") 'met of zonder . even testen.
Image3.Picture = LoadPicture(VolledigeNaamZonderExtensie)

M.v.g.

#5 houthalen

houthalen

    Senior Developer

  • Leden
  • PipPipPip
  • 174 berichten
    Laatst bezocht 18 jul 2020 12:18

Geplaatst op 21 januari 2014 - 22:12

Nee, nog niet

#6 houthalen

houthalen

    Senior Developer

  • Leden
  • PipPipPip
  • 174 berichten
    Laatst bezocht 18 jul 2020 12:18

Geplaatst op 21 januari 2014 - 22:27

Hier mijn volledig code met uw tips

Code:
Private Sub LoadText(file As String)
	Text2.Text = "": Text3.Text = ""
	Dim H As Integer
	Dim L As String
	H = FreeFile
	Open file For Input As #H
	While Not EOF(H)
		Line Input #H, L
		Text3.Text = Replace(L, ",", vbCrLf)
		Line Input #H, L
		Text2.Text = Replace(L, ",", vbCrLf)
	Wend
	Close #1
	Close #H
Dim VolledigeLaadNaam As String
VolledigeLaadNaam = CommonDialog2.FileName
Dim VolledigeLaadNaamZonderExtensie As String
VolledigeLaadNaamZonderExtensie = Replace(VolledigeLaadNaam, "txt", "bmp") 'met of zonder . even testen.
Image3.Picture = LoadPicture(VolledigeNaamZonderExtensie)

	'Image3.Picture = LoadPicture(CommonDialog2.FileName & ".bmp")
End Sub



Code:
Dim VolledigeNaam As String
VolledigeNaam = CommonDialog2.FileName
Dim VolledigeNaamZonderExtensie As String
VolledigeNaamZonderExtensie = Replace(VolledigeNaam, ".txt", ".jpg") 'met of zonder . even testen.
SavePicture Image3.Picture, VolledigeNaamZonderExtensie
'SavePicture Image3.Picture, CommonDialog2.FileName & ".bmp"
Close #2
End Sub


#7 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 05 feb 2020 07:09
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 22 januari 2014 - 05:15

Je vermelde dat het save gebeuren wel werkte maar je laad gebeuren niet.
Kijk eens goed naar de beide regels in beide codes, die ik je had gegeven , vooral naar die wat wel werkte met het stukje ".txt", ".jpg" en dan kijken naar het stukje voor het laden ;)

#8 houthalen

houthalen

    Senior Developer

  • Leden
  • PipPipPip
  • 174 berichten
    Laatst bezocht 18 jul 2020 12:18

Geplaatst op 22 januari 2014 - 09:39

Gevonden. Nu werkt wel!
Code:
Dim VolledigeLaadNaam As String
VolledigeLaadNaam = CommonDialog2.FileName
Dim VolledigeLaadNaamZonderExtensie As String
VolledigeLaadNaamZonderExtensie = Replace(VolledigeLaadNaam, ".txt", ".jpg") 'met of zonder . even testen.
Image3.Picture = LoadPicture(VolledigeLaadNaamZonderExtensie)



Bedankt, Pascal.
Probleem opgelost (na paar maanden!)dankzij u
houthalen

#9 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 4382 berichten
    Laatst bezocht 05 feb 2020 07:09
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 22 januari 2014 - 16:55

Graag gedaan.





Ook met taq VB6 SOLVED voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


[VB6 SOLVED] Untitled 1

Met dank aan J├╝rgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)