![]() |
Re: Funktion erstellen
Delphi-Quellcode:
So besser?
function TForm1.createautorunfile(app : String; icon : String; destfile : String):boolean;
var sl : TStringList; begin result:=true; try sl:=TStringList.create; sl.add('[autorun]'); sl.add('OPEN=' + app); sl.add('ICON=' + icon); if copy(destfile,length(destfile-4),4)<>'.inf' then destfile:=destfile+'.inf'; sl.SaveToFile(destfile); s1.free; except result:=false; end; end; end. |
Re: Funktion erstellen
Delphi-Quellcode:
Gefällt mir so besser:
if copy(destfile,length(destfile-4),4)<>'.inf' then destfile:=destfile+'.inf';
Delphi-Quellcode:
Aber das spielt ja auch keine große Rolle. ;)
if not Pos('.inf', destfile) > 0 then destfile := destfile + '.inf';
Edit: Unde du solltest es irgendwie so machen:
Delphi-Quellcode:
...
try ... finally sl.Free; |
Re: Funktion erstellen
geht das nich auf ohne stringliste ??? inifiles ???
der aufbau is ja eigentlich der selbe oder ? |
Re: Funktion erstellen
Klar geht das mit ini-Dateien! 8)
|
Re: Funktion erstellen
Zitat:
Delphi-Quellcode:
if Pos('.inf', destfile)<length(destfile)-4 then destfile:=destfile+'.inf';
Delphi-Quellcode:
function TForm1.createautorunfile(app : String; icon : String; destfile : String):boolean;
var sl : TStringList; begin result:=true; sl:=TStringList.create; sl.add('[autorun]'); sl.add('OPEN=' + app); sl.add('ICON=' + icon); if copy(destfile,length(destfile-4),4)<>'.inf' then destfile:=destfile+'.inf'; try sl.SaveToFile(destfile); except result:=false; end; s1.free; end; |
Re: Funktion erstellen
Hmm, stimmt, an so einen "Sonderfall" habe ich nicht gedacht.
Nur sollte man noch die Resourcenschutzblöcke einbauen:
Delphi-Quellcode:
Ich hab auch noch den ein oder anderen Fehler verbessert, dein Code lies sich nicht kompilieren. ;)
function TForm1.CreateAutorunFile(app, icon, destfile: String): boolean;
var sl: TStringList; begin result := true; sl := TStringList.create; try sl.add('[autorun]'); sl.add('OPEN=' + app); sl.add('ICON=' + icon); if copy(destfile, length(destfile) - 4, 4) <> '.inf' then destfile := destfile + '.inf'; try sl.SaveToFile(destfile); except result:=false; end; finally sl.free; end; end; Eines darf man nicht vergessen: Wenn ich nun den Pfad und das Icon angebe, so habe ich den kompletten Pfad beider in der Ini, was natürlich Mist ist. Nacher befinden sich die Anwendung und das Icon (im Normalfall) auf der CD, somit stimmen die Pfade nicht mehr! Man musste Icon und Anwendung in den Projektordner geben und dann die relativen Pfade (Anwendung + ggf. Ordnername) in die inf-Datei eintragen. |
Re: Funktion erstellen
Zitat:
Delphi-Quellcode:
Und "den einen oder anderen Fehler" kann ich auch nicht erkennen, nur dass du da noch Leerzeichen reingeklatscht hast...
function TForm1.CreateAutorunFile(app, icon, destfile: String): boolean;
var sl: TStringList; begin result:=true; sl:=TStringList.create; sl.add('[autorun]'); sl.add('OPEN='+app); sl.add('ICON='+icon); if copy(destfile, length(destfile)-4, 4)<>'.inf' then destfile:=destfile+'.inf'; try sl.SaveToFile(destfile); except result:=false; end; sl.free; end; EDIT: und das -4, aber wo ist "der andere Fehler"? ;) PS: Wie ich diese ganze Leerzeichensetzung hasse... |
Re: Funktion erstellen
Hi,
wie wärs hiermit?
Delphi-Quellcode:
mfG
function TForm1.CreateAutorunFile(const App, Icon, DestFile: String): Boolean;
var sl: TStringList; begin Result := False; sl := TStringList.create; try sl.add('[autorun]'); sl.add('OPEN=' + App); sl.add('ICON=' + Icon); sl.SaveToFile(ChangeFileExt(DestFile, '.inf')); Result := True; finally sl.Free; end; end; mirage228 |
Re: Funktion erstellen
@Rackergen2: Jo, des war glaub der einzige Fehler. :wink:
@Mirage: Cool! :thumb: |
Re: Funktion erstellen
Zitat:
Delphi-Quellcode:
Aber das käme sowas von das gleiche raus... dann doch lieber meine Funtion oben... ;)
function TForm1.CreateAutorunFile(const App, Icon, DestFile: String): Boolean;
var sl: TStringList; begin Result := False; sl := TStringList.create; sl.add('[autorun]'); sl.add('OPEN=' + App); sl.add('ICON=' + Icon); try sl.SaveToFile(ChangeFileExt(DestFile, '.inf')); Result := True; finally sl.Free; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:07 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