Bilder

Hallo an alle…

Also da ich nun Fast fertig bin hab ich mir gedacht ich baue noch n Feature ein damit die leute nich immer die Bilder zu den zugehörigen maschinen suchen müssen :smile:

Umgebung:
Alle bilder liegen in einem Ordner.
Dateinamen:
Artikelnummer-NAME.*
bsp.:
80000209-Gelenkkopf.pdf
80000210-Gelenkkopf.jpg
usw.

Also dacht ich mir:
mit der „Dir“ funktion aus VB die Dateinamen holen (netzlaufwerk) oder alternativ dazu was bei vielen datein schneller ist mit der api funktion.

Die Frage die ich nun habe, wie sage ich der funktion das sie nur Bilder mit der nummer im bsp „80000209“ nehmen soll. Ich weiss das es in Perl geht und wie usw mit regular expressions usw. Aber ich weiss nich wie in VB. Und obs da villeicht ne elegante lösung gibt.

Hoffe da hat wer ne idee :smile: Grüße vom digi :smile:

Hi Digi,

Also da ich nun Fast fertig bin hab ich mir gedacht ich baue
noch n Feature ein damit die leute nich immer die Bilder zu
den zugehörigen maschinen suchen müssen :smile:

Umgebung:
Alle bilder liegen in einem Ordner.
Dateinamen:
Artikelnummer-NAME.*
bsp.:
80000209-Gelenkkopf.pdf
80000210-Gelenkkopf.jpg
usw.

Also dacht ich mir:
mit der „Dir“ funktion aus VB die Dateinamen holen
(netzlaufwerk) oder alternativ dazu was bei vielen datein
schneller ist mit der api funktion.

Die Frage die ich nun habe, wie sage ich der funktion das sie
nur Bilder mit der nummer im bsp „80000209“ nehmen soll. Ich
weiss das es in Perl geht und wie usw mit regular expressions
usw. Aber ich weiss nich wie in VB. Und obs da villeicht ne
elegante lösung gibt.

Hoffe da hat wer ne idee :smile: Grüße vom digi :smile:

Was hast Du dann mit der Liste der Bilder vor? Anzeigen? Damit der User aussuchen und klicken kann?

Dann nimm dafür einfach das ‚FileList‘ Steuerelement, das kennt die Eigenschaft ‚Pattern‘.

Mit

File1.Pattern = "80000209\*.\*" 

bekommst Du dann alle Dateien aufgelistet, deren Namen mit 80000209 anfangen.

Gruß, Rainer

Gute idee hat aber nicht funktioniert ^^ :smile: ich habs so gemacht :

Die gute alte API ^^

Private Sub Form\_Load()
 Dim bFolder As String
 Dim bFile As String
 Dim bArtName As String
 Dim bFolderAll As String
 Dim i As Long
 Dim bVar As String

 bFolder = "PFAD ZUM ORDNER OHNE \*.\*"

 bVar = ArtikelNr & "\*.\*"
 For i = BilderListe.ListCount - 1 To 0 Step -1
 Call SendMessage(BilderListe.hwnd, LB\_DELETESTRING, i, ByVal 0)
 Next
 Call SendMessage(BilderListe.hwnd, LB\_DIR, 0&, ByVal bFolder & bVar)
End Sub

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi digi,

Call SendMessage(BilderListe.hwnd, LB_DIR, 0&, ByVal bFolder & bVar)

wenn’s funktioniert, ist es ja gut. Aber dafür SendMessage? Du schießt mit Kanonen auf Spatzen.

Gruß, Rainer

Ja ich schieß gern mit kanonen auf spatzen :smiley: ne ma im ernst … zum füllen bräucht ich ne schleife. Und das dauert doppelt solang bis die alles gemacht hat. Mit API ist der inhalt sofort da. Und zum leeren von der DirListBox geht soweit ich weiss auch nur das. Ist ja egal es geht.

Aber mein Nächstes Problem.

Ich will n ThumbNail mit der GDI erstellen und wenn man dann auf das Bild Clickt soll das übermäßig große auf gehen ^^ muss mir nur noch überlegen wie ich das mit den PDFs mache… (gibts da sowas wie ne PDF Vorschau?)
Das habe ich nach nem Tipp von
http://www.activevb.de/tipps/vb6tipps/tipp0664.html

Es funktioniert auch soweit wunderbar.

Private Sub ThumbnailsSetzen()
 Dim tBildName(9) As String
 Dim i As Integer
 Dim tPrcnt As Long ' Thumbnail Größe Reduziert in %
 Dim a As Integer
 Dim tBild As String
 tPrcnt = 10

 'For i = BilderListe.ListCount - 1 To 0 Step -1
 'Call SendMessage(BilderListe.hwnd, LB\_DELETESTRING, i, ByVal 0)
 tBildName(1) = bFolder & BilderListe.List(1)
 tBildName(2) = bFolder & BilderListe.List(2)
 tBildName(3) = bFolder & BilderListe.List(3)
 tBildName(4) = bFolder & BilderListe.List(4)
 tBildName(5) = bFolder & BilderListe.List(5)
 tBildName(6) = bFolder & BilderListe.List(6)
 tBildName(7) = bFolder & BilderListe.List(7)
 tBildName(8) = bFolder & BilderListe.List(8)
 tBildName(9) = bFolder & BilderListe.List(9)

 'Debug.Print tBildName(i)
 'Next

 Picture1.Picture = CreateThumbnailFromFile(tBildName(1), tPrcnt)
 'Picture2.Picture = CreateThumbnailFromFile(tBildName(2), tPrcnt)
End Sub

Ich wollts erst mit ner schleife durchlaufen usw. naja worums geht:
Sobald ich die Kommentierung vor Picture2.Picture vergnehme und somit 2 Bilder (Thumbnails) drinne stehen, kommt der Fehler:
„Out of Memory GDI+ Error 3“
Dann bestätige ich mit OK und er geht in meine „ThumbNail Galerie“ wo dann nur ein Bild drinne ist. Und Zwar in Picture1.Picture.

jmd ne idee warum das so ist? Und wie ich das villeicht ändern kann?

grüße vom digi :smile:

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Was ich gerade Festgestellt habe:
Wenn ich einen Bildnamen Explizit angebe also „C:\Bild.jpg“
Und das bei beiden Bildern dann schreibt er 2 bilder in diese Picture1 und 2.
Warum gehts nich bei Variablen?
Ist doch im Prinzip genau das selbe oder?!?!

Ohhhh man bin ich selten Dämlich ^^ …
Mir ist gerade in den sinn gekommen, dass Listen wie array und auch Grids mit 0 beginnen und nicht mit 1 ^^ also ist es klar das er mich angemault hat :smiley:

Hat sich gegessen funktioniert :smiley:

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi digi,

Hat sich gegessen funktioniert :smiley:

schön, was Du alles erledigst, während ich mal Einkaufen fahre. :smile:

Gruß, Rainer

Siehste ma was ich alles leiste ^^ … Soo … danke auf jeden fall ^^ …
Funktioniert alles wunderbar ich sag doch ich packs :smiley:

Grüße vom digi …

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]