Entwickler-Ecke
Dateizugriff - Dateien kopieren
TimonWorld - So 10.08.03 11:53
Titel: Dateien kopieren
:D Hallo @all
Ich bin gerade dabei ein Setupprogramm zu programieren, weis jemand wie man da Dateien u. Programme kopiert????
wäre echt net :lol:
Delete - 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 [
http://www.nullsoft.com/free/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 - So 10.08.03 13:19
Im EDH stehts auch gut beschrieben wie man Dateien kopiert.
knuffel - 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.
Delphi-Quelltext
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 - So 10.08.03 18:12
1. An
MathiasSimmack: Bei Delphi 6 Personal lag kein InstallShield bei. :cry:
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 - So 10.08.03 20:18
binde die unit shellapi mit ein
Anonymous - 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.
Delete - 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.
Anonymous - So 10.08.03 20:43
Titel: Re: Dateien kopieren
| TimonWorld hat folgendes geschrieben: |
:D Hallo @all
Ich bin gerade dabei ein Setupprogramm zu programieren, weis jemand wie man da Dateien u. Programme kopiert????
wäre echt net :lol: |
scheinbar will er selbst eins programmieren. WEnn er will, lass ihn doch!
Delete - 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.
Anonymous - 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 - 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.
Delete - Do 14.08.03 09:47
Microsoft Installer bspw. Kostet auch nichts, wenn man bereit ist, sich mit den Tools von Microsoft zu befassen. :roll: (Download der Doku und Tools im PSDK -> Windows Installer SDK).
recall - 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.
Delete - Do 14.08.03 14:52
Satire ist was anderes. Aber ich nehm´s dir nicht übel - du lernst das auch noch.
TimonWorld - So 17.08.03 11:16
Was meint Matthias mit 'Download der Doku und Tools im PSDK -> Windows Installer SDK' ???
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!