Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.
itemscope itemtype="https://schema.org/QAPage"

[Delphi] Wczytywanie obrazka z dowolnej ściezki.

sorell 20 Maj 2010 21:33 3038 4
  • [Delphi] Wczytywanie obrazka z dowolnej ściezki.

    #1
    Poziom 8  

    Witam. A więc mam pytanie jak można napisać, po naciśnięciu przycisku wczytywał się wybrany obrazek.
    Jak narazie mam takie coś:

    Code:

    procedure TForm3.Button6Click(Sender: TObject);
    begin
    Image2.Picture.LoadFromFile('C:\Nauka\Zdjecia\alfabet\fF.jpg');
    image2.Show;
    end;


    I właśnie chciałbym żeby obrazek do programu sie wczytywał nie zależnie na jakiej partycji, czy folderze się znajduje.
    Dokładniej chodzi mi o to, aby jak np. teraz mam program na dysku C, ale nie zawsze bedzie w tej pozycji ( przykładowo zaniose to do kumpla i będe chiał odpalić ten program na dysku E:\program\ i żeby normalnie działało)

    Ścieżka:
    Code:

    \Nauka\Zdjecia\alfabet\fF.jpg

    jest stała, tyle powiem.

    Dodam jeszcze, że jest kilka naście takich zdjęć więc dlatego używam tej funkcji.

    0 4
  • #2
    Użytkownik usunął konto  
  • #3
    Poziom 42  

    To wystarczy właśnie tak zapisać, jak napisałeś tą ścieżkę. W ten sposób odwołasz się względnie. Gdyby zaszła dziwna sytuacja, że katalogiem roboczym nie jest katalog programu (a więc i dyskiem), wówczas wykonaj instrukcję pobierającą literę dysku z pliku uruchomieniowego (Bodajże ExtractDriveLetter(ParamStr(0)))

    0
  • Pomocny post
    #4
    Poziom 25  

    Możesz co najmniej na trzy sposoby właściwie, najzwyczajniej:

    Code:
        Image1.Picture.LoadFromFile('podfolder\plik.jpg');

    lub (. to katalog bieżący)
    Code:
        Image1.Picture.LoadFromFile('.\podfolder\plik.jpg');

    lub (chyba najpewniejszy)
    Code:
    var
    
        dir: String;
    begin
        dir := ExtractFilePath(Application.ExeName);
        Image1.Picture.LoadFromFile(dir + 'podfolder\plik.jpg');

    Przypisanie dir wstawiałem zawsze do OnFormCreate.

    PS
    Mniemam, że image2 ma visible := false skoro wywołujesz metodę Show - inaczej byłoby to bezsensowne.

    1
  • #5
    Poziom 8  

    Tak ma false, ponieważ ma sie pojawiac dopiero po naciśnięciu przycisku. Ok sprawdzwe jak bede w domu jak to działa. Dzieki.

    Jak bede mial jeszcze jakies pytania to napisze :)

    0