Bie?żący katalog-Jak uzyskać?

0

Witam
Jestem baaardzo poczatkujący i pytanie jest pewnie banalne ale nie umiem sobie poradzić:
mam przycisk na który jak klikne to otwiera sie okienko wskaż katalog wskazuje go i jest ok. Sciezkę dostępu do tego katalogu wyświetlam w polu Edit. ( ponieważ ścieżka ta jest zawarta w FolderName:String)
Jak zrobić aby podana scieżak była ścieżką <ort>bierzącą </ort>a nie tą z której odpaliłem program.
Chce dalej zrobić tak, że jeżeli we wskazanej ścieżce jest plik txt o okreslonej nazwie to aby zaczytywała sie zawartosc pliku txt np do memo i wiem jak zrobic.

PJ

0

Chcesz zrobić tak aby przy odpaleniu programu (OnCreate Formy) pokazywała się w Edicie ścieżka do jakiegoś pliku txt zamiast do ścieżka z plikami od programu?
No to chyba z góry musisz ustalić w źródle ścieżkę do tego pliku lub zrobić jakieś wyszukiwanie tego pliku na dysku i potem jak znajdzie to niech poda ścieżkę tego pliku do Edita :)

0

Nie - chodzi mi o to żeby progam pobierał sciezke dostępu z pola edit ( np c:\folder1\folder2\folder3 ) i aby to była już scieżka ort! w działaniu dalszego programu. Czyli zmieniam sciezke w polu edit a program szuka czy w katalogu podanym w polu edit jest plit np dane.txt i jak jest to zaczytuje te dane do memo.

PJ

0

ExtractFileDir - z kompletnej sciezki pliku pobiera jedynie nazwe katalogu w ktorym znajduje sie - np: C:\windows\system

ExtractFileDrive - podaje litere dysku

ExtractFileExt - rozszerzenie pliku

ExtractFileName - nazwa pliku

ExtractFilePath - to samo co ExtractFileDir tyle ze dodaje na koncu "" - np: C:\Windows\system\

ExtractShortPathName - zwraca skrocona sciezke - np: C:\progra1\MyComp1\MyApp.exe

p.s. poszukaj sobie na forum o wyszukiwaniu...

0
Memo1.Lines.LoadFromFile(Edit1.text+'dane.txt');

gdzie: w edit1 będzie ścieżka dostępu zakończona znakiem
dane.txt - nazwa pliku do wczytania

Moim zdaniem lepiej skorzystać z OpenDialog (prykłady były na forum i w faq). OpenDialog o ile się nie mylę zmienia ścieżkę na stałe, czyli robi to o czym pisałeś.

0

Czyli zmieniam sciezke w polu edit a program szuka czy w katalogu podanym w polu edit jest plit np dane.txt i jak jest to zaczytuje te dane do memo.

var
  SR: TSearchRec;
  Found : Integer;

  procedure Listing(StartPath: string);
  
    function IsDir(Value : string) : string;
    begin
      if Value[Length(Value)] <> '\' then
        Result := Value + '\'
      else
        Result := Value;
    end;

  begin
    Found := FindFirst(IsDir(StartPath) + '*.*', faDirectory, SR);
    while Found = 0 do
    begin
      Application.ProcessMessages;
      if not Boolean(SR.Attr and faDirectory) then
        if SR.NAME = 'dane.txt' then
        begin
          // Ładowanie do memo
          Exit;
        end;
      Found := FindNext(SR);
    end;
    FindClose(SR);
  end;  
0

Wstaw na formę komponent FileListBox1. Ten komponent będzie Ci pokazywał pliki które znajdują się folderze z podanej ścieżki. W tym komponencie w zakładce Properties ustaw Mask na *.txt (domyślnie jest .) i będziesz miał pokazane pliki TXT tylko. Daj jakiś button i wstaw do niego to:

filelistbox1.ApplyFilePath(edit1.Text);

gdzie edit1.text to Edit, w którym wyświetlasz ścieżkę do folderu. Wypróbuj to.
Musisz teraz napisać kodzik, że jaki klikniesz na jakiś plik TXT w tym FileListBox'ie to odczyta go w Memo. Jeśli chcesz automatycznie żeby odczytywał to zrób to chyba w OnKeyPress tego FileListBox'a. Jak będziesz miał problem to pytaj :)

Widze że już odpowiedzili Ci:) ok git

0

Wielkie dzieki za pomoc
Juz widze kilka rozwiązań bede <ort>prubował </ort>wieczorkiem.
Co to OpenDialog to nie chce z tego korzystać. Poniewaz ja chce zrobić cos takiego.
Mam sporo dodatków do gry FS2002 ( tj samoloty ) Kazdy w innym katalogu. Chce w każdym katalogu umieścic plik Opis.txt ( a wnim zapisac dane techniczne danego samolotu ) otaz plik fot.jpg ( zdjecie samolotu )
Później wskazując katalog chce aby wyswietliła mi sie zawartosc pliku Opis.txt. oraz obok zdjęcie.
I teraz juz jakos sobie poradze.
A moze zna ktos sposób jak wskazując jeden katalog wyswietliły sie tylko katalogi podrzedne ( 1 piętro w dół ) nie głebiej?

1 użytkowników online, w tym zalogowanych: 0, gości: 1