Wyjaśnię najpierw całą sytuację.
Mam OpenDialog, którym wybiera się plik graficzny.
- Kod: Zaznacz cały
if(OpenDialog1->Execute())
{
String plik = OpenDialog1->FileName;
}
Wykonywane są też inne operacje, ale to w tym momencie nie jest ważne.
Jest też inny Button, przeprowadza operacje na pliku. Wszystko jest dobrze, pod warunkiem gdy nie wybierze się pliku w OpenDialogu. Bo gdy skorzysta się z OpenDialogu, to wszystkie operacje są wykonywane w takim katalogu, w którym jest wskazany plik. Lokalizacje bezwzględne pomagają niestety tylko w części, gdyż korzystam z dodatkowych aplikacji dosowych.
- Kod: Zaznacz cały
String fifafs = ExtractFilePath(ParamStr(0))+"fifafs.exe";
String katalog = dir->Text;
String create = " -createbig \""+katalog+"\\data\\zdata_98.big ""\" \"";
Execute(fifafs, create.c_str(), NULL);
Ten powyższy kod zadziała też po wybraniu pliku, bo można spokojnie podać lokalizację pliku na którym się operuje czyli w tym wypadku :
- Kod: Zaznacz cały
\""+katalog+"\\data\\zdata_98.big ""\"
Problem pojawia się gdy program dosowy wymaga wczytania pliku tekstowego z listą plików do importu, gdyż wtedy wyszukuje tych plików tam, gdy został wskazany plik w OpenDialogu.
Tak więc moje pytanie: Czy można zmienić z powrotem katalog z którego są wszystkie operacje wywoływane?