AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke WebDav - Laufwerk - ChatPGT
Thema durchsuchen
Ansicht
Themen-Optionen

WebDav - Laufwerk - ChatPGT

Ein Thema von Satyr · begonnen am 3. Feb 2023 · letzter Beitrag vom 4. Feb 2023
 
Satyr

Registriert seit: 8. Feb 2012
Ort: Essen
305 Beiträge
 
Delphi 10.4 Sydney
 
#1

WebDav - Laufwerk - ChatPGT

  Alt 3. Feb 2023, 17:03
Guten Abend,

schon länger habe ich den Gedanken im Kopf, mir ein kleines Tool zu schreiben das für mein WebDav ein Lokales Laufwerk (kein Netzwekordner) erstellt.

Beschäftigt habe ich mich mit Netzwerk-/Web Programmierung bisher wenig, fast gar nicht, bis auf Links aufrufen, bissel Browserkram.

Neugierig wie ich bin, fragte ich einfach mal ChatPGT wie das geht .
Ich habe eigentlich nicht viel erwartet. ChatPGT hat mir aber Code präsentiert, den ich für schlüssig hielt. Wohl weil ich 95% davon eh nicht verstehe.
Ich kopierte den Code nach Delphi und Überraschung, er "funktionierte".
Also nicht ganz. Es gab keine Errors, das Kompilieren lief problemlos durch. Nur ohne Ergebnis. Es wird kein Laufwerk erstellt, einfach nichts.

Ist der Code von ChatPGT komplett strubbelig aber kompilierbar? Veräppelt ChatPGT mich und der Code bezweckt etwas ganz anderes?
Wäre der Code voller Fehler, hätte es mich nicht gewundert. Das er problemlos kompiliert schon.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

const
  CONNECT_INTERACTIVE = $00000008;
  CONNECT_PROMPT = $00000010;
  CONNECT_REDIRECT = $00000080;
  CONNECT_UPDATE_PROFILE = $00000001;
  RESOURCETYPE_DISK = $00000001;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

function WNetAddConnection2A(lpNetResource: PNetResourceA;
  lpPassword: PChar; lpUserName: PChar; dwFlags: DWORD): DWORD; stdcall;
  external 'mpr.dllname 'WNetAddConnection2A';

function MapWebDAV(const RemotePath, LocalDrive: string;
  const UserName, Password: string): Boolean;
var
  NetResource: TNetResourceA;
  Drive: Char;
begin
  Drive := LocalDrive[1];
  FillChar(NetResource, SizeOf(NetResource), 0);
  with NetResource do
  begin
    dwType := RESOURCETYPE_DISK;
    lpRemoteName := PAnsiChar(RemotePath);
    lpLocalName := PAnsiChar(Drive + ':');
    lpComment := nil;
    lpProvider := nil;
  end;
  Result := WNetAddConnection2A(@NetResource, PChar(Password),
    PChar(UserName), CONNECT_INTERACTIVE or CONNECT_PROMPT or
    CONNECT_UPDATE_PROFILE) = NO_ERROR;
end;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
MapWebDAV('https://nx34493.your-storageshare.de/remote.php/dav/files/Andreas/', 'Z:', 'User', 'PW');
end;

end.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:56 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