AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language ExtractFilePath aus einem String mit zwei Dateiangaben

ExtractFilePath aus einem String mit zwei Dateiangaben

Ein Thema von globalenemy · begonnen am 24. Mär 2014 · letzter Beitrag vom 25. Mär 2014
Antwort Antwort
globalenemy

Registriert seit: 24. Mär 2014
10 Beiträge
 
#1

AW: ExtractFilePath aus einem String mit zwei Dateiangaben

  Alt 24. Mär 2014, 20:15
hmm. Ich komm damit leider noch nicht weiter. Ich weiß nicht wie ich den Dateinamen von den Parametern trennen soll.

Der String könnte schließlich auch so aussehen:
Code:
C:\Hey.Hello There\You.exe C:\Ok.Bye Then\You.exe
Ich kann nicht auf Leerzeichen trennen. Ich kann auch nicht auf den Punkt trennen. :\
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.401 Beiträge
 
Delphi 12 Athens
 
#2

AW: ExtractFilePath aus einem String mit zwei Dateiangaben

  Alt 24. Mär 2014, 21:00
Der String könnte schließlich auch so aussehen:
Code:
C:\Hey.Hello There\You.exe C:\Ok.Bye Then\You.exe
Nein, kann es nicht, bzw. sollte es nicht.

Alle ordentlichen Programme, welche Pfade via Parameter übergeben, machen die "..." drumrum, wenn sich Leerzeichen im Pfadnamen befinden.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
globalenemy

Registriert seit: 24. Mär 2014
10 Beiträge
 
#3

AW: ExtractFilePath aus einem String mit zwei Dateiangaben

  Alt 24. Mär 2014, 21:09
Vielen Dank für Eure Antworten! :-*

Mit dem Post von Popov konnte ich mein Problem lösen.

Code:
procedure TForm1.CheckBox1Click(Sender: TObject);
var
  St1: String;
  Int1, Int2: Integer;
begin
  if CheckBox1.Checked = True then
    begin
      if Edit1.Text[1] <> '\' then
        begin
          Edit2.Enabled := True;
          St1 := Edit1.Text;
          Int1 := PosEx(':\', St1, 0);
          Int2 := PosEx(':\', St1, Int1 + 1);
          if Int2 > Int1 then Edit2.Text := ExtractFilePath(Copy(St1, 1, Int2 - 1))
          else Edit2.Text := ExtractFilePath(St1);
        end
      else Edit2.Text := ExtractFilePath(Edit1.Text);
      ActiveControl := Edit2;
    end
  else
    begin
      Edit2.Enabled := False;
      Edit2.Text := ' override working path...';
    end;
end;
"C:\Hey.Hello There\You.exe C:\Ok.Bye Then\You.exe"
= "C:\Hey.Hello There\"
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#4

AW: ExtractFilePath aus einem String mit zwei Dateiangaben

  Alt 24. Mär 2014, 21:12
Wobei es wahrscheinlicher ist, dass es so aussieht:
Code:
"C:\Hey.Hello There\You.exe" "C:\Ok.Bye Then\You.exe"
, denn welchen Sinn macht es beide Pfade einzuschließen. Es sein denn es ist ein Parameter und soll von anderen getrennt sein.
  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
 
#5

AW: ExtractFilePath aus einem String mit zwei Dateiangaben

  Alt 24. Mär 2014, 21:19
Es stellt sich ja nun die Frage, wie überhaupt diese Parameter in das Programm kommen.

Über Delphi-Referenz durchsuchenParamStr und werden zusammengesetzt?
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
Perlsau
(Gast)

n/a Beiträge
 
#6

AW: ExtractFilePath aus einem String mit zwei Dateiangaben

  Alt 25. Mär 2014, 06:44
Es stellt sich ja nun die Frage, wie überhaupt diese Parameter in das Programm kommen.
Über Delphi-Referenz durchsuchenParamStr und werden zusammengesetzt?
Tja, dann wär's wohl echt einfach: Der Name der Programm-Exe steht in ParamStr(0), alle weiteren Parameter in ParamStr(n).
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.749 Beiträge
 
Delphi 2007 Professional
 
#7

AW: ExtractFilePath aus einem String mit zwei Dateiangaben

  Alt 24. Mär 2014, 21:20
Woher kommt denn der String? Als Programmargument, Benutzereingabe, ...? Vielleicht kannst du ja im Vorfeld schon dafür sorgen, dass die beiden Teile getrennt bleiben.
Uli Gerhardt
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz