virtuelle pfade

nr8

Grünschnabel
hallo.

ich wollte fragen ob vb virtuelle pfad kann.
wenn ich zb. in einer picturebox ein bild reinladen will und nicht den ganzen pfad angeben will dann sag ich einfach nur pb_bla(i).picture = loadpicture("..\images\asdf.png")
dies hat einmal funktioniert. jetzt hab ich den rechner einmal neugestartet und jetzt geht das ganze nicht mehr.

woran kann das liegen oder wie genau mach ich das ich virtuelle pfade verwenden kann.

danke
 
Hi.

Das was du meinst nennt sich relative (im Gegensatz zu absoluten) Pfadangaben. Und selbstverständlich kann VB die auch.

Vermutlich befindest du dich nur im falschen Verzeichnis wenn du dein Programm aufrufst und die Datei kann dann nicht gefunden werden. Wenn du das Programm über eine Verknüpfung aufrufst kannst du das Arbeitsverzeichnis in den Eigenschaften festlegen.

Gruß
 
ich ruf das programm auf und ein verzeichnis drunter ist ein verzeichnis mit den namen "images". die exe liegt also ein verz über den bildern und wenn ich dann "..\images\meinbild.jpg" angeben geht es nicht.

das komisch ist das es heute schon mal gegangen ist und ich hab nichts verändert daran...
 
Das Arbeitsverzeichnis ist nicht immer das Verzeichnis wo sich das Programm befindet. Wie rufst du denn dein Programm auf?

Du kannst dir ja mal (z.B. in Form_load) das Arbeitsverzeichnis ausgeben lassen:
Code:
MsgBox curdir

Gruß
 
Wenn du das Programm über VB startest ist das Arbeitsverzeichnis normalerweise sowas wie c:\programme\microsoft visual studio\vb98 o.ä.

Lass dir einfach das Verzeichnis in einer MsgBox ausgeben dann weißt du woran du bist.

Gruß
 
weil ich im moment im linux bin :) und es heute wie ich die exe gestartet hab nicht gegangen ist.

aber ich werde es noch testen.
danke
 
Alternativ kannst du auch mittels App.Path das Verzeichnis herausfinden, in dem sich die Exe befindet. Und dann bastelst du dir einfach einen absoluten Pfad draus:
Visual Basic:
Pfad = App.Path & "\blablub\"
Beachte dabei aber, dass App.Path ein \-Zeichen anhängt, wenn sich die Exe-Datei direkt auf der obersten Ebene auf der Festplatte befindet (also z.B. auf "C:\")
 
Zurück