![]() |
EInoutError: Datei nicht gefunden
Hallo,
ich beschäftige mich gerade mit dem Mystix Texteditor, will den bissl erweitern. Ich will Dateien laden und in diesen an fe3stgelegter Stelle '${xxxxxx} einen Text reinschreiben, an der Position, wo das Dollarzeichen mit den nachfolgenden geschweiften Klammern steht. Mein Problem ist, das das für die erste Datei gelingt (dlgChoosePrj.Itemindex=0) aber für folgende nicht mehr. Wenn zum Beispiel dlgChoosePrj.Itemindex=1 ist oder weitere Optionen mit größerem Itemindex ausgewählt werden. Was muss ich an folgendem Quelltext ändern, damit das Einlesen der *.template immer gelingt?
Delphi-Quellcode:
CurrentDir ist das Verzeichnis des Mystix Editors, meiner Anwendung also.
procedure TMainForm.FileNewExecute(Sender: TObject);
var PathOfTemplate: String; ModulName: String; LineNumber: Integer; NamePos: Integer; begin dlgChoosePrj := TdlgChoosePrj.Create(self); dlgChoosePrj.ShowModal; PathOfTemplate := GetCurrentDir + DirSeparator + 'Templates'; //Pfad meiner Vorlagen ChDir(PathOfTemplate); //hier wird die Exception geworfen!!!! aber nur ab Itemindex von 1 und höher if dlgChoosePrj.ModalResult = mrOk then begin case dlgChoosePrj.ItemIndex of 0: {if IsRegistered('app1.exe') or IsRegistered('app2.exe') then} begin DocumentFactory.CloseAll; DocumentFactory.New; DocumentFactory.Open('app12.template'); DocumentFactory.Documents[DocumentFactory.Count-1].FileName := 'file12.cfg'; LineNumber := 0; while LineNumber < DocumentFactory.Documents[DocumentFactory.Count-1].Editor.Lines.Count do begin //if System.POS('Text-im-File ${zu ersetzender Text}',DocumentFactory.Documents[DocumentFactory.Count-1].Editor.Lines[LineNumber]) > 0 then begin ModulName := ExtractFileName(DocumentFactory.Documents[DocumentFactory.Count-1].FileName); //ModulName := ChangeFileExt(ModulName,''); ModulName := DeleteFileExt(ModulName); ReplaceModulName( '${zu ersetzender Text}', ModulName, LineNumber ); end; Inc(LineNumber); end; DocumentFactory.Documents[DocumentFactory.Count-1].Save; end; 1: if IsRegistered('app3.exe') or IsRegistered('app4.exe') or IsRegistered('app41.exe') then begin DocumentFactory.CloseAll; DocumentFactory.New; DocumentFactory.Open('app34.template'); DocumentFactory.Documents[DocumentFactory.Count-1].FileName := 'app34file.cfg'; LineNumber := 0; while LineNumber < DocumentFactory.Documents[DocumentFactory.Count-1].Editor.Lines.Count do begin //if System.POS('Program ${zu ersetzender Text}',DocumentFactory.Documents[DocumentFactory.Count-1].Editor.Lines[LineNumber]) > 0 then begin ModulName := ExtractFileName(DocumentFactory.Documents[DocumentFactory.Count-1].FileName); //ModulName := ChangeFileExt(ModulName,''); ModulName := DeleteFileExt(ModulName); ReplaceModulName( '${zu ersetzender Text}', ModulName, LineNumber ); end; Inc(LineNumber); end; DocumentFactory.Documents[DocumentFactory.Count-1].Save; In diesem Unterverzeichnis existiert ein weiteres mit dem Namen Templates, wo alle Voralgen gespeichert und auch vorhanden sind . |
AW: EInoutError: Datei nicht gefunden
Würdest du das mal debuggen und uns verraten wo der Fehler auftritt?
|
AW: EInoutError: Datei nicht gefunden
Zitat:
[edit]War vielleicht eher das gemeint?
Delphi-Quellcode:
[/edit]
PathOfTemplate := ExtractFilePath(ParamStr(0)) + 'Templates';
|
AW: EInoutError: Datei nicht gefunden
Zitat:
Zitat:
[EDIT] Deddys Hinweis ist bereits die Lösung! [/EDIT] |
AW: EInoutError: Datei nicht gefunden
Zitat:
Für Dich wäre es aber besser, wenn Du wirklich mal den Debugger angeworfen hättest. Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz