Speichern auf fremdem Desktop

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
camper3000
Beiträge: 31
Registriert: Fr 8. Jan 2010, 16:29

Speichern auf fremdem Desktop

Beitrag von camper3000 »

Ich habe bzw. will ein Programm schreiben mit dem man *.txt-Dateien auf dem Desktop anderer Benutzer schreiben kann.
Mein bisheriger Quellcode sieht so aus:

Code: Alles auswählen

procedure TForm1.Button1Click(Sender: TObject);
var sl: TStringList;
begin
  If application.messagebox('Datei mit diesen Einstellungen Senden?','Senden?',4)=iDnO Then begin //Bestätigung
     exit;
  end;
  If pos('.txt',edit2.text)<>0 Then begin                                                                                 //Erstellen des korrekten Pfades
  ort:='C:\Dokumente und Einstellungen\'+edit3.text+'\Desktop\'+edit2.text;
  end
  Else begin
  ort:='C:\Dokumente und Einstellungen\'+edit3.text+'\Desktop\'+edit2.text+'.txt';
  end;
  sl:=TStringList.Create; //Objekt erzeugen
 
  try  //try-finally hilft, das Objekt auch dann freizugeben, wenn ein Fehler auftritt
    sl.add('Von: '+username+' An: '+edit3.text+' Betreff: '+edit1.text);       //Erstellen der Kopfzeile
    sl.add('');
    for i:=0 to memo1.lines.count-1 do begin                       //Erstellen der Nachricht
    sl.add(memo1.lines.strings[i]);
    end;
    If not(memo2.lines.count=0) Then begin
    sl.add('-----------');
    for i:=0 to memo2.lines.count-1 do begin                        //Signatur anfügen
    sl.add(memo2.lines.strings[i]);
    end;
    end;
    sl.SaveToFile(ort); //Datei speichern
  finally
    sl.free; //Objekt wieder freigeben
  end;
  application.MessageBox('Die Datei wurde gesendet.','Gesendet!',MB_OK);
end;
Wenn ich das Programm starte und alle Angaben mache zeigt es mir immer an:
Unable to create file "Pfad"
Press OK to ignore and risk data corruption.
Press Cancel to kill the program.

Ich habe Admin-Rechte.
Komischer weise kann ich auf meinem eigenen Desktop Dateien erstellen.
Meine Fragen:
Weshalb kann ich keine Dateien auf einen Fremdem Desktop speichern, obwohl ich Admin-Rechte habe und Dateien auf meinem Desktop erstellen kann?
Gibt es eine Möglichkeit dies zu tun, und wenn ja, welche?

Danke schon mal im Vorraus
Gruß
camper3000
Auch wenn man einen Hammer hat, ist nicht jedes Problem ein Nagel.

camper3000
Beiträge: 31
Registriert: Fr 8. Jan 2010, 16:29

Re: Speichern auf fremdem Desktop

Beitrag von camper3000 »

Gibt´s jemand da draußen der mir helfen kann, und wenn nicht sagt bitte das euch das unter unglücklichen Umständen dieses Problem unbekannt ist.
Gruß
camper3000
Auch wenn man einen Hammer hat, ist nicht jedes Problem ein Nagel.

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Re: Speichern auf fremdem Desktop

Beitrag von Targion »

Welche Windows-Version? Welcher Pfad genau?

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6770
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Speichern auf fremdem Desktop

Beitrag von af0815 »

camper3000 hat geschrieben:Gibt´s jemand da draußen der mir helfen kann, und wenn nicht sagt bitte das euch das unter unglücklichen Umständen dieses Problem unbekannt ist.
Doch ein wenig Info welche Version von BS aber:

*) Stimmt das was in der Variable 'ort' ist -> Sprich ist der Pfad wirklich korrrekt
*) Probiere es mit einem Pfad OHNE Leerzeichen aus
*) Geht es mit dem Dateipfad+Namen unter DOS ?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten