Zitat von
n0b0dy:
hm aso meinst du das.
na dann eben ParamCount > 1.
hast schon recht
ich mach das immer inner schleife, und hab mir darüber noch keine gedanken gemacht. *g*
die läuft dann von 1 to ParamCount.
also haste recht1
Wie jetzt? Die beiden Absätze widersprechen sich irgendwie. Im einen gibst du mir recht und sagst, daß ParamStr(0) mitgezählt wird, im nächsten sagst du, deine Schleife läuft von 1 bis ParamCount. Sollte ParamStr(0) aber mitgezählt werden bekommst du ne
Exception. Also wenn, dann bis ParamCount-1
@sysadmin:
Aber so, wie du das jetzt gelöst hast, ist es eigentlich auch nicht sinnvoll. Was machst du, wenn dein Programm zwar mit einem Parameter gestartet wird, dieser aber komplett unsinnig ist?
Besser wäre es, erst zu überprüfen, ob ParamCount > 1 ist (oder 0, falls ParamStr(0) nicht mitgezählt wird), und dann zu testen, ob die Datei überhaupt existiert. Evtl wäre es auch noch besser, den Parameter in "s zu packen, damit er auch auf jeden Fall als 1 Parameter erkannt wird.
(Edit: Wobei ich ja auch nicht der erste bin, der das hier sagt )
Delphi-Quellcode:
if (ParamCount > 1) and (FileExists(ParamStr(1))) then
ShellExecute(application.Handle, 'print', PChar('"' + ParamStr(1) + '"'), nil, nil, SW_Show);