AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Funktion erstellen

Ein Thema von Andreas L. · begonnen am 19. Jul 2004 · letzter Beitrag vom 21. Jul 2004
Thema geschlossen
Seite 3 von 6     123 45     Letzte »    
Rackergen2

Registriert seit: 13. Jul 2004
99 Beiträge
 
Delphi 7 Enterprise
 
#21

Re: Funktion erstellen

  Alt 19. Jul 2004, 19:56
Delphi-Quellcode:
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)<>'.infthen destfile:=destfile+'.inf';
    sl.SaveToFile(destfile);
    s1.free;
  except
    result:=false;
  end;
end;

end.
So besser?
 
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#22

Re: Funktion erstellen

  Alt 19. Jul 2004, 20:44
if copy(destfile,length(destfile-4),4)<>'.infthen destfile:=destfile+'.inf'; Gefällt mir so besser:

if not Pos('.inf', destfile) > 0 then destfile := destfile + '.inf'; Aber das spielt ja auch keine große Rolle.

Edit:

Unde du solltest es irgendwie so machen:

Delphi-Quellcode:
...

try

  ...

finally
  sl.Free;
 
Benutzerbild von p0w3r5tr34m3r
p0w3r5tr34m3r

Registriert seit: 18. Aug 2003
Ort: Monheim am Rhein
153 Beiträge
 
RAD-Studio 2009 Pro
 
#23

Re: Funktion erstellen

  Alt 19. Jul 2004, 20:56
geht das nich auf ohne stringliste ??? inifiles ???

der aufbau is ja eigentlich der selbe oder ?
Florian Cülter
ich bin ein notorischer alles-klein-schreiber!

der 100. Beitrag nach 3 Jahren 25 Wochen und einem Tag
 
Benutzerbild von S2B
S2B

Registriert seit: 1. Feb 2004
Ort: Aachen
1.268 Beiträge
 
#24

Re: Funktion erstellen

  Alt 19. Jul 2004, 21:24
Klar geht das mit ini-Dateien! 8)
Simon Praetorius
Gruß
S2B
 
Rackergen2

Registriert seit: 13. Jul 2004
99 Beiträge
 
Delphi 7 Enterprise
 
#25

Re: Funktion erstellen

  Alt 19. Jul 2004, 22:49
Zitat von Matze:
if copy(destfile,length(destfile-4),4)<>'.infthen destfile:=destfile+'.inf'; Gefällt mir so besser:

if not Pos('.inf', destfile) > 0 then destfile := destfile + '.inf'; Aber das spielt ja auch keine große Rolle.
Denkste! Lass mal die Datei so heißen: 'C:\test\test.inf.txt' Du musst schon dafür sorgen, dass das .inf hinten ist... höchstens so:

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)<>'.infthen destfile:=destfile+'.inf';

  try
    sl.SaveToFile(destfile);
  except
    result:=false;
  end;

  s1.free;
end;
 
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#26

Re: Funktion erstellen

  Alt 20. Jul 2004, 08:27
Hmm, stimmt, an so einen "Sonderfall" habe ich nicht gedacht.

Nur sollte man noch die Resourcenschutzblöcke einbauen:

Delphi-Quellcode:
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) <> '.infthen destfile := destfile + '.inf';
    try
      sl.SaveToFile(destfile);
    except
      result:=false;
    end;
  finally
    sl.free;
  end;
end;
Ich hab auch noch den ein oder anderen Fehler verbessert, dein Code lies sich nicht kompilieren.

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.
 
Rackergen2

Registriert seit: 13. Jul 2004
99 Beiträge
 
Delphi 7 Enterprise
 
#27

Re: Funktion erstellen

  Alt 20. Jul 2004, 10:45
Zitat von Matze:
Delphi-Quellcode:
...
  sl.add('[autorun]');
  sl.add('OPEN=' + app);
  sl.add('ICON=' + icon);
  if copy(destfile, length(destfile) - 4, 4) <> '.infthen destfile := destfile + '.inf';
  ...
Warum hast du das in einer try-Klausel? Daran kann doch nix schief gehen...

Delphi-Quellcode:
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)<>'.infthen destfile:=destfile+'.inf';

  try
    sl.SaveToFile(destfile);
  except
    result:=false;
  end;

  sl.free;
end;
Und "den einen oder anderen Fehler" kann ich auch nicht erkennen, nur dass du da noch Leerzeichen reingeklatscht hast...

EDIT: und das -4, aber wo ist "der andere Fehler"?

PS: Wie ich diese ganze Leerzeichensetzung hasse...
 
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#28

Re: Funktion erstellen

  Alt 20. Jul 2004, 11:15
Hi,

wie wärs hiermit?

Delphi-Quellcode:
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;
mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
 
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#29

Re: Funktion erstellen

  Alt 20. Jul 2004, 11:21
@Rackergen2: Jo, des war glaub der einzige Fehler.

@Mirage: Cool!
 
Rackergen2

Registriert seit: 13. Jul 2004
99 Beiträge
 
Delphi 7 Enterprise
 
#30

Re: Funktion erstellen

  Alt 20. Jul 2004, 15:31
Zitat von mirage228:
wie wärs hiermit?

Delphi-Quellcode:
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;
Das ist doch Schwachsinn. Was sollen die ersten 3 Zeilen in einem try? Wenn, dann so:
Delphi-Quellcode:
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;
Aber das käme sowas von das gleiche raus... dann doch lieber meine Funtion oben...
 
Thema geschlossen
Seite 3 von 6     123 45     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz