Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi netzwerklaufwerk übers internet (https://www.delphipraxis.net/33136-netzwerklaufwerk-uebers-internet.html)

Döner 2. Nov 2004 09:45


netzwerklaufwerk übers internet
 
hallo
welche mölichkeiten gibt um ein Netzwerklaufwerk übers internet zu verbinden
ich weiß es gibt VPN aber welche gibt es noch?
es soll dateien geöffnet werden können und denn ganzen anderen krammß
Mfg döner

SubData 2. Nov 2004 09:48

Re: netzwerklaufwerk übers internet
 
\\IP-Adresse...

Döner 2. Nov 2004 09:59

Re: netzwerklaufwerk übers internet
 
erstens bin ich in einem eigenen Netzwerk (das eine internet verbindung hat) (dürfte doch probleme geben?)
und zweiten was ist mit der sicherheit ;
döner

SubData 2. Nov 2004 10:04

Re: netzwerklaufwerk übers internet
 
Dass du dich in einem eigenen Netzwerk befindest dürfte keinen Unterschied machen...
Wenn es dir um Sicherheit geht dann solltest du aber VPN benutzen... Ne andere Methode fällt mir jedenfalls nicht ein.

Je nachdem was du genau vor hast kannste natürlich auch Terminal Server oder ähnliche Lösungen verwenden das wäre dann aber kein Netzlaufwerk :)

shmia 2. Nov 2004 10:09

Re: netzwerklaufwerk übers internet
 
Zitat:

Zitat von Döner
welche mölichkeiten gibt um ein Netzwerklaufwerk übers internet zu verbinden
ich weiß es gibt VPN aber welche gibt es noch?
es soll dateien geöffnet werden können und denn ganzen anderen krammß

NFS (= Network File System)
Du brauchst sowohl NFS-Clients als auch einen NFS-Server.
Fast immer musst du dafür bezahlen, aber es gibt auch Freeware.
http://www.novatech.net/jgaa/protoco...#nfsforwindows

Harry M. 2. Nov 2004 10:28

Re: netzwerklaufwerk übers internet
 
einnetzlaufwerk verbinden

via console net use %LW%: \\%IP%\%FREE%$ %PASS% /user:%USER%

oder (jedoch ohne pass)

Code:
function ConnectDrive(_drvLetter: string; _netPath: string; _showError: Boolean;
  _reconnect: Boolean): DWORD;
var
  nRes: TNetResource;
  errCode: DWORD;
  dwFlags: DWORD;
begin
  { Fill NetRessource with #0 to provide uninitialized values }
  { NetRessource mit #0 füllen => Keine unitialisierte Werte } 
  FillChar(NRes, SizeOf(NRes), #0);
  nRes.dwType := RESOURCETYPE_DISK;
  { Set Driveletter and Networkpath } 
  { Laufwerkbuchstabe und Netzwerkpfad setzen } 
  nRes.lpLocalName := PChar(_drvLetter);
  nRes.lpRemoteName := PChar(_netPath); { Example: \\Test\C }
  { Check if it should be saved for use after restart and set flags } 
  { Überprüfung, ob gespeichert werden soll } 
  if _reconnect then
    dwFlags := CONNECT_UPDATE_PROFILE and CONNECT_INTERACTIVE
  else
    dwFlags := CONNECT_INTERACTIVE;

  errCode := WNetAddConnection3(Form1.Handle, nRes, nil, nil, dwFlags);
  { Show Errormessage, if flag is set } 
  { Fehlernachricht aneigen } 
  if (errCode <> NO_ERROR) and (_showError) then
  begin
    Application.MessageBox(PChar('An error occured while connecting:' + #13#10 + 
      SysErrorMessage(GetLastError)),
      'Error while connecting!',
      MB_OK);
  end;
  Result := errCode; { NO_ERROR } 
end;

function ConnectPrinterDevice(_lptPort: string; _netPath: string; _showError: Boolean;
  _reconnect: Boolean): DWORD;
var
  nRes: TNetResource;
  errCode: DWORD;
  dwFlags: DWORD;
begin
  { Fill NetRessource with #0 to provide uninitialized values } 
  { NetRessource mit #0 füllen => Keine unitialisierte Werte } 
  FillChar(NRes, SizeOf(NRes), #0);
  nRes.dwType := RESOURCETYPE_PRINT;
  { Set Printername and Networkpath } 
  { Druckername und Netzwerkpfad setzen } 
  nRes.lpLocalName := PChar(_lptPort);
  nRes.lpRemoteName := PChar(_netPath); { Example: \\Test\Printer1 } 
  { Check if it should be saved for use after restart and set flags } 
  { Überprüfung, ob gespeichert werden soll } 
  if _reconnect then
    dwFlags := CONNECT_UPDATE_PROFILE and CONNECT_INTERACTIVE
  else
    dwFlags := CONNECT_INTERACTIVE;

  errCode := WNetAddConnection3(Form1.Handle, nRes, nil, nil, dwFlags);
  { Show Errormessage, if flag is set } 
  { Fehlernachricht aneigen } 
  if (errCode <> NO_ERROR) and (_showError) then
  begin
    Application.MessageBox(PChar('An error occured while connecting:' + #13#10 + 
      SysErrorMessage(GetLastError)),
      'Error while connecting!',
      MB_OK);
  end;
  Result := errCode; { NO_ERROR } 
end;

function DisconnectNetDrive(_locDrive: string; _showError: Boolean; _force: Boolean;
  _save: Boolean): DWORD;
var
  dwFlags: DWORD;
  errCode: DWORD;
begin
  { Set dwFlags, if necessary } 
  { Setze dwFlags auf gewünschten Wert } 
  if _save then
    dwFlags := CONNECT_UPDATE_PROFILE
  else
    dwFlags := 0;
  { Cancel the connection see also at [url]http://www.swissdelphicenter.ch/en/showcode.php?id=391[/url] } 
  { Siehe auch oben genannten Link (Netzlaufwerke anzeigen) } 
  errCode := WNetCancelConnection2(PChar(_locDrive), dwFlags, _force);
  { Show Errormessage, if flag is set } 
  { Fehlernachricht anzeigen } 
  if (errCode <> NO_ERROR) and (_showError) then
  begin
    Application.MessageBox(PChar('An error occured while disconnecting:' + #13#10 + 
      SysErrorMessage(GetLastError)),
      'Error while disconnecting',
      MB_OK);
  end;
  Result := errCode; { NO_ERROR } 
end;


{Beispiel / Example:}

procedure TForm1.Button1Click(Sender: TObject);
begin
 ConnectDrive(NetLW.Text, '\\'+Host.Text+'\'+Freigabe.Text, True, True);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  DisconnectNetDrive(NetLW.Text, True, True, True);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:28 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