Een afb laden met een naam met getal + string

Status
Niet open voor verdere reacties.

satriano17

Gebruiker
Lid geworden
30 sep 2012
Berichten
331
dag
Ik hoop dat mijn vraag duidelijk is

ik heb een map ALLEAFBv vol met afbeeldingen
Elke afb heeft een getal als naam
Bv
1.jpg
2.jpg
...
en die worden geladen goed door dit code
Code:
Dim numafb As String
    numafb = text1.Text 
    Image1.Picture = LoadPicture(App.Path & "\AlleAfb\" & numafb & ".jpg")
maar stel nu dat elke afbeelding een naam heft die een getal en een string bevat

1 - Huis
2 - kamer
.....
30 - Hond
...
130 - kat



hoek kan ik de getal isoleren en laden met het code van boven?

dank U
satriano
 
Laatst bewerkt:
Zo:
Code:
DeString = "30 - Hond"
HetGetal = Split(DeString, " - ")(0)
DeNaam = Split(DeString, " - ")(1)
 
dag Edmoor

Ik heb niet goed begrepen hoe uw tip in mijn laad-code te integreren?

zo?
Code:
Dim numafb As String
    numafb = text1.Text 
   numafb= Split(numafb, " - ")(0)
    Image4.Picture = LoadPicture(App.Path & "\AlleAfb\" & numafb & ".jpg")
 
Laatst bewerkt:
Duidelijker kan ik het niet maken omdat wat dat betreft je voorbeeld niet echt duidelijk is.
Text1.Text is dan bijvoorbeeld 30 - Hond?
 
Nee. Text1.text bevat een getal
1, 2, .....30
Dus text1.text bevat een getal+string

image naam voorbelden:

1 - kat
30 - Hond

120 - huis

ik wil dus de image laden door het nummer te gebruiken die in text.text voorkomt
 
Laatst bewerkt:
Dus de naam van het plaatje is dan dat getal en " - Naam"?

Dan zo:
Code:
Image1.Picture = LoadPicture(App.Path & "\AlleAfb\" & Text1.Text & "*.jpg")
 
Laatst bewerkt:
ja

En zoals je zie wordt de image geladen door het nummer . Ik wil dus geen rekenig houden met de naam

ik ga nu uw voorbeeld testen, maar ik denk dat goed is.
 
Laatst bewerkt:
maar nu is niet meer gesplitst . Het is gelijk aan mijn code

Als bv de image-naam
30 - Hond
moet enkel het 30 gebruiken worden om te laden (als die in text1.text voorkomt)
 
Nee, het is niet gelijk aan jouw code.
Dan heb je het niet goed gelezen.
Code:
Image1.Picture = LoadPicture(App.Path & "\AlleAfb\" & Text1.Text & "[COLOR="#FF0000"]*[/COLOR].jpg")
En met alleen het getal 30 weet VBA natuurlijk niet dat je dan een plaatje met de naam 30 - Hond bedoeld.
 
ja, maar in text1.text komt altijd een getal te staan.

Ik heb nu getest=
wordt niet geladen de plaatje 30 - Hond als in text1.text 30 komt te staan

Als in text.text 30 komt te staan moet de plaatje
30 - Hond
gelaten worden

als in text1.text 1 komt te staan dan moet de plaatje
1 - kat
geladen worden
 
Laatst bewerkt:
Dan mag je met LoadPicture kennelijk geen wildcard gebruiken en zal je dit moeten doen:
Code:
pict = App.Path & "\AlleAfb\" & Dir(App.Path & "\AlleAfb\" & text1.Text & "*.jpg")
Image1.Picture = LoadPicture(pict)
 
nee. Gaat niet

Ik kan niet duidelijker zijn.

Ik heb een map afbeldingen

bv

1 - kat
2 - Huis
...
30 - Hond

In text1.text komt altijd een willekeurige getal te staan
Vervolgens moet een afbeelding geladen worden met de naam dat met dat willekeurige getal begint.
 
Ja. Dat is precies wat ik in #11 laat zien en werkt hier perfect.
 
Code:
pic = App.Path & "\AlleAfb\" & Dir(App.Path & "\AlleAfb\" & text1.Text & "*.jpg")
image1.Picture = LoadPicture(pic)

ik krijg aan 'pic' variable not defined

wat is pic?

ps. ik werk met vb6
 
Laatst bewerkt:
Wat de melding al zegt, pic is een variabele en die heb je nog niet gedefinieerd.
 
Uff. Het is gelukt !!!!
ik moest
Dim pic As String
definieren

Het is opgelost.

Zeer Bedankt Edmoor.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan