| Autor |
Beitrag |
TimonWorld
      
Beiträge: 397
|
Verfasst: So 10.08.03 11:53
 Hallo @all
Ich bin gerade dabei ein Setupprogramm zu programieren, weis jemand wie man da Dateien u. Programme kopiert????
wäre echt net 
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 10.08.03 13:12
Ich persönlich würde kein Setup-Programm schreiben. Dazu gibt es genug Alternativen: bei Delphi liegt InstallShield bei, INNOSETUP ist auch zu empfehlen, und ich habe letztens mal mit NSIS rumgespielt und recht gute Erfahrungen gemacht.
Ansonsten, beim Kopieren von Dateien kommt eine von dir wenig geliebte Aufgabe auf dich zu: Lesen! COPYFILE, SHFILEOPERATION.
|
|
Pascal
      
Beiträge: 155
Win 98, Win XP
Delphi 2005, Delphi 5
|
Verfasst: So 10.08.03 13:19
Im EDH stehts auch gut beschrieben wie man Dateien kopiert.
|
|
knuffel
      
Beiträge: 68
WIN XP Prof
D3 Prof, D7 Ent
|
Verfasst: So 10.08.03 13:23
tach! :lol:
ich glaub ich poste hier einfach mal den entsprechenden code, so wie ich es machen würde. DATEI ist der pfad der datei, die du kopieren willst, das zielverzeichnis versteht sich von selbst. das gleiche kannst du auch mit ordnern machen.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, shellapi;
type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private public end;
var Form1: TForm1;
implementation
{$R *.dfm}
function CopyDir(const fromDir, toDir: string): Boolean; var fos: TSHFileOpStruct; begin ZeroMemory(@fos, SizeOf(fos)); with fos do begin wFunc := FO_COPY; fFlags := FOF_FILESONLY; pFrom := PChar(fromDir + #0); pTo := PChar(toDir) end; Result := (0 = ShFileOperation(fos)); end;
procedure TForm1.Button1Click(Sender: TObject); begin if cCopyDir('DATEI', 'ZIELVERZEICHNIS') = True then ShowMessage('Datei kopiert');
end;
end. |
|
|
TimonWorld 
      
Beiträge: 397
|
Verfasst: So 10.08.03 18:12
1. An MathiasSimmack: Bei Delphi 6 Personal lag kein InstallShield bei.
2. An Knuffel: Es funktioniert nich!!!
Das zeigt er unten dann an (in der Fehler-Leiste):
Quelltext 1: 2: 3: 4: 5: 6: 7:
| [Error] Unit1.pas(33): Undeclared identifier: 'wFunc' [Error] Unit1.pas(34): Undeclared identifier: 'fFlags' [Error] Unit1.pas(35): Undeclared identifier: 'pFrom' [Error] Unit1.pas(36): Undeclared identifier: 'pTo' [Error] Unit1.pas(38): Undeclared identifier: 'ShFileOperation' [Error] Unit1.pas(38): Undeclared identifier: 'fos' [Error] Unit1.pas(42): Undeclared identifier: 'cCopyDir' |
Und nun 
|
|
Keldorn
      
Beiträge: 2266
Erhaltene Danke: 4
Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
|
Verfasst: So 10.08.03 20:18
binde die unit shellapi mit ein
_________________ Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
|
|
obbschtkuche
Gast
Erhaltene Danke: 1
|
Verfasst: So 10.08.03 20:38
Wenn du die Dateien nur kopierst, schwindet der Sinn des Setup-programmes irgendwie dahin.
Versuch mal zlib mit einzubinden und dann mit compressbuf(fer???) und decompressbuf(fer?) die Datei noch zu komprimieren / zu dekomprimieren.
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 10.08.03 20:41
Siehst du, TimonWorld, das passiert, weil du nicht in der Lage bist, richtig zu lesen sondern einfach nur Code ohne Sinn und Verstand kopierst. In knuffels Code steht´s eindeutig drin:
| knuffel hat folgendes geschrieben: | Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, shellapi ; | |
Und genau die gleiche Unit ist für den Erfolg mit ShellExecute zuständig. Wenn du die Beiträge aufmerksam gelesen hättest, wüsstest du das mittlerweile auch.
Ansonsten folge bitte den Links zu InnoSetup oder NSIS. Die kosten beide nichts und sind relativ einfach zu bedienen und erfüllen ihren Zweck sehr gut.
|
|
obbschtkuche
Gast
Erhaltene Danke: 1
|
Verfasst: So 10.08.03 20:43
| TimonWorld hat folgendes geschrieben: | Hallo @all
Ich bin gerade dabei ein Setupprogramm zu programieren, weis jemand wie man da Dateien u. Programme kopiert????
wäre echt net  |
scheinbar will er selbst eins programmieren. WEnn er will, lass ihn doch!
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 10.08.03 20:49
Ich bitte dich, ich habe nur meine Meinung geäußert. Ich würde mir die Arbeit nicht machen und ein Setup-Programm schreiben, wenn es genug Alternativen gibt.
Ob er meinem Rat folgt oder nicht, das ist allein seine Sache.
|
|
obbschtkuche
Gast
Erhaltene Danke: 1
|
Verfasst: Mo 11.08.03 16:43
| MathiasSimmack hat folgendes geschrieben: | | Ansonsten folge bitte den Links zu InnoSetup oder NSIS. Die kosten beide nichts und sind relativ einfach zu bedienen und erfüllen ihren Zweck sehr gut. |
Das hört sich aber nicht danach an.
|
|
recall
      
Beiträge: 449
|
Verfasst: Mi 13.08.03 18:43
@MathiasSimmack:
Hmm... aha also dann gib mir mal ein Standard-Setup-Programm,
das folgende gar nicht so abwegige Funktionen hat (so eins brauchte ich, da hab ich mir selber eines geschrieben):
- Installation von DirectX überprüfen (Version).
- Freien Festplattenplatz angeben und benötigt (kennt man ja)
- Bei Bedarf sich Teile aus dem Internet ziehen, wenn die Install-Komponenten nich vollständig sind.
- Diese Install-Kompos sind übrigens gezippt
Also ?
Viele Grüsse.
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 14.08.03 09:47
Microsoft Installer bspw. Kostet auch nichts, wenn man bereit ist, sich mit den Tools von Microsoft zu befassen.  (Download der Doku und Tools im PSDK -> Windows Installer SDK).
|
|
recall
      
Beiträge: 449
|
Verfasst: Do 14.08.03 13:52
OK, wenn das alles kann, dann entschuldige ich mich doch für meine satirische Antwort...
Habs mir jetzt nicht mehr angeschaut, hab ja schon ein Setup-Prg  .
Das hat auch nur 1 1/2 h gedauert  und ich habe was dazu gelernt.
Viele Grüsse.
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 14.08.03 14:52
Satire ist was anderes. Aber ich nehm´s dir nicht übel - du lernst das auch noch.
|
|
TimonWorld 
      
Beiträge: 397
|
Verfasst: So 17.08.03 11:16
Was meint Matthias mit 'Download der Doku und Tools im PSDK -> Windows Installer SDK' ???
|
|