| Autor |
Beitrag |
Bronstein
      
Beiträge: 578
Erhaltene Danke: 1
WIN XP
Delphi 6 / Delphi 2006 / Delphi XE
|
Verfasst: Do 02.03.06 11:18
Möchte Dateien von einem Rechner zu einem anderen Rechner im Netzwerk verschieben.
Muss updates von Programmen machen, dazu muss ich bei jedem Rechner im selben Verzeichnis einen neuen Order erstellen und in diesen dann ein paar Dateien hineinkopieren. Wie kann ich das lösen. Mit der Komponente IdIcmpClient1 prüfe ich schon über den PING-Befehl ob der Rechner angeschaltet ist.
Wie kann ich aber die Dateien verschieben?
_________________ Es gibt keine dummen Fragen nur dumme Antworten!!!
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Do 02.03.06 11:28
Ist denn das Verzeichnis auf dem fremden Rechner überhaupt für Schreibzugriffe freigegeben?
|
|
Bronstein 
      
Beiträge: 578
Erhaltene Danke: 1
WIN XP
Delphi 6 / Delphi 2006 / Delphi XE
|
Verfasst: Do 02.03.06 11:32
Ja, bin Admin
_________________ Es gibt keine dummen Fragen nur dumme Antworten!!!
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Do 02.03.06 11:38
Moin!
Dann kannst du die normalen Dateifunktionen nutzen, aber mit UNC, geht so:
C:\test.txt auf dem PC "meinPC" ist: \\meinPC\c$\test.txt im Netzwerk.
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
MSCH
      
Beiträge: 1448
Erhaltene Danke: 3
W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
|
Verfasst: Do 02.03.06 11:45
sofern die Admin-Freigaben da sind sollte das funktionieren.
aber eleganter wäre:
stelle deine Updates auf einen Webserver oder ftp-server (der ja in der Regel immer online ist)und lasse
doch die Clients sich selbst die neuesten Daten holen.
das geht wesentlich einfacher als das was du vorhast.
Das einzige was du dann brauchst ist einen ftp/http-client und a bissle Versionshistory, nicht dass
die clients sich immer das letzte Update holen, was sie aber schon haben.
Gebe der Update-funktion dann statt einer festen IP-Adresse einen DNS-Namen, so dass du in der
wahl der IP frei bist und diese auch noch ohne Code-Änderung verändern kannst.
grez
msch
_________________ ist das politisch, wenn ich linksdrehenden Joghurt haben möchte?
|
|
Bronstein 
      
Beiträge: 578
Erhaltene Danke: 1
WIN XP
Delphi 6 / Delphi 2006 / Delphi XE
|
Verfasst: Do 02.03.06 12:16
Super funktioniert perfekt. Danke!!!
Jetzt muss ich aber prüfen ob die Datei bereits geöffnet ist, habe folgende Funktionen mal versucht, aber diese funktionieren nicht:
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:
| function IsFileOpen(const fName: TFileName): Boolean; var HFileRes: HFILE; begin Result := False; HFileRes := CreateFile(PChar(fName), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); Result := (HFileRes = INVALID_HANDLE_VALUE); end;
function IsFileInUse(FileName: string): boolean; var TestFile: HFILE; begin TestFile:=CreateFile(PChar(FileName), GENERIC_READ or GENERIC_WRITE, 0, nil,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
result:=TestFile=INVALID_HANDLE_VALUE; if not result then CloseHandle(TestFile); end; |
Möchte einfach eine Funktion die mir prüft ob eine Datei bereits geöffnet ist oder nicht, dazu true oder false zurückgeben.
Moderiert von raziel: Delphi-Tags hinzugefügt
_________________ Es gibt keine dummen Fragen nur dumme Antworten!!!
|
|
Bronstein 
      
Beiträge: 578
Erhaltene Danke: 1
WIN XP
Delphi 6 / Delphi 2006 / Delphi XE
|
Verfasst: Fr 03.03.06 12:35
Habe noch ein Problem, ich kann die Dateien zwar in Verzeichnisse schieben die freigegeben sind. Gibt es auch eine Möglichkeit auf Ordner zugreifen die nicht freigegeben sind. (Ich bin ja Admin)
Ich glaube mit Batch-Dateien gibt es da eine Möglichkeit
Wenn ich //Rechnername eingebe sehe ich aber nur die Dateien die freigegeben sind.
_________________ Es gibt keine dummen Fragen nur dumme Antworten!!!
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Fr 03.03.06 14:35
Wenn Du Admin bist, kannst Du Dir über die Computer-Verwaltung weitere Ordner ohne Probleme auf dem Fremdrechner freigeben. Weiterhin gibt es für jede Festplatte normalerweise auch immer eine Administrative Freigabe
Freigaben auf Fremdrechnern kann man auch Programmseitig anlegen, falls Du das meinst ... Siehe WNet-API 
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|