AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pfad nimmt String nicht.

Offene Frage von "p80286"
Ein Thema von wallwriht · begonnen am 12. Nov 2011 · letzter Beitrag vom 15. Nov 2011
Antwort Antwort
Seite 1 von 2  1 2      
wallwriht

Registriert seit: 23. Mär 2010
30 Beiträge
 
#1

Pfad nimmt String nicht.

  Alt 12. Nov 2011, 19:52
Hallo zusammen.
Ich habe bei einem Programm eine Datei die ich mit copy kopiere und vorher mit if fileexists prüfe.
Wenn ich den Pfad der Datei als 'C:\ user.......' angebe dann klappt alles wie es soll( bitte verzeiht mir das ih hier nicht das genaue kopiere bin mobil online)
Benutze ich nun meine variable: username die genau den gleichen Inhalt hat , den ich auch benutze wenn ich die Abfrage direkt im Programm eingebe ('C:\' + username+ '....' statt 'C:\Christoph......' ) funktionieren die Befehle nichtmehr. Iffileexist gibt auf einmal false aus obwohl username zumindest unter meinem Benutzer genau dem String 'Christoph' enthält.
Kann mir jemand helfen?
Lg
Christoph
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Pfad nimmt String nicht.

  Alt 12. Nov 2011, 19:55
Den Pfad am Besten als special folder ermitteln
Markus Kinzler
  Mit Zitat antworten Zitat
wallwriht

Registriert seit: 23. Mär 2010
30 Beiträge
 
#3

AW: Pfad nimmt String nicht.

  Alt 12. Nov 2011, 19:56
Den Pfad am Besten als special folder ermitteln
Verzeihung, wie mache ich das? Bekomme den Benutzername als String aus einer Funktion getusername.

Ich brauche NUR den Benutzername als String der Rest ist immer gleich, und es ist ein Ordner den ich denke ich nicht als Special Folder bekomme.

Geändert von wallwriht (12. Nov 2011 um 20:06 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

AW: Pfad nimmt String nicht.

  Alt 12. Nov 2011, 20:07
Schuss ins Blaue: Die Variable username enthält noch das Stringendezeichen (#0) am Ende.

Nichts desto trotz solltest du den Pfad mit genannter Funktion ermitteln. Bei mir gibt es den Ordner C:\Users nämlich nicht (Windows XP).
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#5

AW: Pfad nimmt String nicht.

  Alt 12. Nov 2011, 20:18
such einfach mal nach SHGetSpecialFolderLocation
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Micha88
(Gast)

n/a Beiträge
 
#6

AW: Pfad nimmt String nicht.

  Alt 12. Nov 2011, 20:58
Zum beispiel so (Kopie, nicht mein Code)

Delphi-Quellcode:
uses
 ShlObj, ActiveX, ShellApi;
{ ... }
function GetSpecialFolder(const AFolder: Integer): String;
var
  ItemIDList: PItemIDList;
  hPath: PChar;
  ShellH: IMalloc;
begin
  if SUCCEEDED(SHGetSpecialFolderLocation(Application.Handle, AFolder, ItemIDList)) then
  begin
    try
      hPath:= StrAlloc(max_path);
      try
        if SHGetPathFromIDList (ItemIDList, hPath) then
          Result:=hPath;
      finally
        StrDispose(hPath);
      end;
    finally
     if SHGetMalloc(ShellH) = NOERROR then
       ShellH.Free(ItemIDList);
    end;
  end
  else
    RaiseLastOSError;
end;
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#7

AW: Pfad nimmt String nicht.

  Alt 13. Nov 2011, 09:11
Ich bekomme solche Probleme immer heraus, indem ich mir den entgültigen String (Pfad) genau anschaue.
Also anstatt
Copy ('C:\User\'+username+'\foobar'...) eben ein
Delphi-Quellcode:
DateiPfad := 'C:\User\'+username+'\foobar';
Copy (DateiPfad...)
Dieser Tipp ist zusätzlich (und unabhängig) zu den vorherigen gemeint. Denn richtig richtig ist es nur dann, wenn man sich von Windows den Benutzerpfad geben lässt.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Pfad nimmt String nicht.

  Alt 13. Nov 2011, 09:33
Schau dir mal das hier an

Damit wird der Zugriff sehr simpel
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
wallwriht

Registriert seit: 23. Mär 2010
30 Beiträge
 
#9

AW: Pfad nimmt String nicht.

  Alt 14. Nov 2011, 16:10
Also erstmal nochmal danke an alle, es handelte sich bei mir um ein Formatierungsproblem. Habe den String mal in ein Edit schreiben lassen mit edit1.Text:=username; und dann mit username:=edit1.Text; wieder ausgelesen, dann klappt es bizarrerweise.

Edit: Werde mir die genannten Funktionen mal ansehen um es allgemeingültig hinzubekommen!

Geändert von wallwriht (14. Nov 2011 um 16:13 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.626 Beiträge
 
Delphi 12 Athens
 
#10

AW: Pfad nimmt String nicht.

  Alt 14. Nov 2011, 16:16
Dann kannst Du Dir auch SHGetFolderPath anschauen oder gleich den Code von Sir Rufo nehmen
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 13:08 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