Entwickler-Ecke
Dateizugriff - Externe Textdatei öffnen mit definiertem Pfad...Plz Help ^^
Hatebreeder - Mo 18.11.02 15:25
Titel: Externe Textdatei öffnen mit definiertem Pfad...Plz Help ^^
also ich hab folgendes vor: 2 buttons, auf einem wählt man das verzeichnis das fürs prog benötigt wird (soll inis editieren)
Quelltext
1: 2: 3: 4: 5: 6:
| procedure TForm1.BtDefineClick(Sender: TObject); var dir: string; begin if SelectDirectory('Wählen Sie ein Verzeichnis!', '', dir) then LbPath.caption:=dir; end; |
auf dem zweiten button soll dann in diesem verzeichnis die datei bla.ini geöffnet werden...ich habe das hier versucht aber es klappt nicht:
Quelltext
1: 2: 3: 4: 5: 6:
| procedure TForm1.BtOpenClick(Sender: TObject); var Path: string; begin Path:=LbPath.caption + '\bla.ini'; ShellExecute(Handle, 'open', 'Path', nil, nil, SW_SHOWNORMAL); end; |
er kann die datei nicht öffnen, da er nach der dati 'Path' sucht...die '' kann ich nicht entfernen, da es in ShellExecute so festgelegt ist...
Hoffe ihr versteht mein Problem habs eilig darum schreib ich bisserl unverständlich ^^
greetz
Der Michel - Mo 18.11.02 15:35
Hallo,
hmm... also wenn ich dich richtig verstehe müßte das hier
Quelltext
1:
| ShellExecute(Handle, 'open',PChar(Path), nil, nil, SW_SHOWNORMAL); |
eigentlich die Lösung sein. ;-)
Gruß,
Michel
JeanvanHees - Mo 18.11.02 16:23
Schau mal in den FAQ für die textdatei zu öffnen.
Ist übrigens die Opendialog component nicht ein schöneres alternativ für das selectieren des files?
Hatebreeder - Mo 18.11.02 17:33
super, danke michael das war die lösung !
@jeanvanhees mit opendialog ist nicht gut, weil er eben veschiedene files aus einem folder öffnen soll...
Hatebreeder - Mo 18.11.02 19:54
ganz dumme frage:
kann ich den path irgendwie speicher?also ich wollte mal wissen wie ^^
thx
Delete - Mo 18.11.02 20:16
Wie speichern? Temporär im Programm oder in einer Datei auf der Festplatte?
Hatebreeder - Mo 18.11.02 20:34
in einer externen datei auf der platte...zb settings.txt oder so
Delete - Mo 18.11.02 20:36
Informier dich mal hier im Forum und in der Hilfe über TInifile.
Palmetshofer - Mo 18.11.02 20:56
Um zu Speichern:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.BtnSaveClick(Sender:TObject); var List: TStrings; dir: String; begin if SelectDirectory('Wählen Sie ein Verzeichnis!', '', dir) then LbPath.caption:=dir; List := TstringList.Create; List.Add(dir + '\bla.ini'); List.SaveToFile('C:\Windows\ProgrammSettings.txt'); end; |
Um zu Laden:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TForm1.BtnSaveClick(Sender:TObject); var List: TStrings; dir: String; begin List.LoadFromFile('C:\Windows\ProgrammSettings.txt'); dir := List.Strings[0]; ShellExecute(Handle, 'open', PChar(dir), nil, nil, SW_SHOWNORMAL); end; |
Ich hoffe ich hab mich net verschrieben! Ich schätze es wird auch einen anderen weg geben aber dir ist glaube ich net schlecht!
Du musst nur schaun dass beim neuen speichern eventuell die Stinglist 'gecleart' wird sonst stimmt der Index Integer nicht!
MfG Matthias
Hatebreeder - Mo 18.11.02 20:56
ok super thx, hat mir seh geholfen !
Delete - Mo 18.11.02 21:00
Wo ist der Ressourcen-Schutz? :roll:
Hatebreeder - Mo 18.11.02 21:04
so hab ích das jetzt:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| procedure TLauncher.MiSaveClick(Sender: TObject); begin{1} ini := TIniFile.Create('C:\Dokumente und Einstellungen\Anthony\Desktop\Launcher\settings.ini'); try ini.WriteString('Settings','Path',Path); finally ini.Free; end;{1} end;
procedure TLauncher.MiLoadClick(Sender: TObject); begin{1} ini := TIniFile.Create('C:\Dokumente und Einstellungen\Anthony\Desktop\Launcher\settings.ini'); try Path := ini.ReadString('Settings','Path',''); finally ini.Free; end;{1} end; |
wie muss ich die zeile ini := TIniFile.Create('C:\Dokumente und Einstellungen\Anthony\Desktop\Launcher\settings.ini'); ändern, damit er statt dem ganzen pfad einfach das verzeichnis wo auch die exe drin is nimmt?
sorry 4 being stupid ^^
Delete - Mo 18.11.02 21:06
ParamStr(0), ExtractFilepath.
Hatebreeder - Mo 18.11.02 21:10
kannste mir bidde ma die genaue zeile dann sagen? *duck*
thx nochma für deine geduld mit nem newbie ^^
Delete - Mo 18.11.02 21:35
ParamStr(0) liefert dir den Pfad plus Anwendungsnamen und ExtractFilepath extrahiert dir den Pfad aus dieser Angabe. Dann mußt du nur noch deinen Dateinamen dranhängen.
Hatebreeder - Di 19.11.02 11:56
ok funzt nu riesen thx nochma
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!