![]() |
Kopieren bzw verschieben von dateien
Liste der Anhänge anzeigen (Anzahl: 1)
Danke fürs lesen.
Also ich würde gerne einen Ordner mit Unbekanntem Namen ABER mit dem inhalt von der info.txt innendrinn in ein in einem Edit Feld gelegenem Pfad verschieben zurzeit ist mein code hier so:
Delphi-Quellcode:
Mein problem ist ganz unten im Quellcode.
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, ExtDlgs; type TForm1 = class(TForm) MainMenu1: TMainMenu; File1: TMenuItem; Saveas1: TMenuItem; Savedirectionfile1: TMenuItem; Help1: TMenuItem; Howtouse1: TMenuItem; About1: TMenuItem; Edit1: TEdit; Label1: TLabel; Label2: TLabel; SaveDialog1: TSaveDialog; OpenDialog1: TOpenDialog; Button1: TButton; procedure About1Click(Sender: TObject); procedure Saveas1Click(Sender: TObject); procedure Savedirectionfile1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Steampath: TStringList; mysteampath: Textfile; Form1: TForm1; implementation {$R *.dfm} procedure TForm1.About1Click(Sender: TObject); begin UNWICHTIG, RAUSGENOMMEN end; procedure TForm1.Saveas1Click(Sender: TObject); begin // Öffnen der txt Datei mit dem Pfad, damit man es nicht immer neu schreiben muss try steampath.LoadFromFile('mysteampath.txt') except showmessage ('Error opening the file!') end; try edit1.Text := steampath.text; except showmessage ('Error opening the file!') end; end; procedure TForm1.Savedirectionfile1Click(Sender: TObject); begin // Speichern der TXT Datei try Steampath.text := Edit1.text; except showmessage ('Error saving the file!'); end; try steampath.SaveToFile('mysteampath.txt') except showmessage ('Error saving the file!'); end; end; procedure TForm1.FormCreate(Sender: TObject); begin steampath := Tstringlist.create; end; procedure TForm1.Button1Click(Sender: TObject); begin // Hier ist mein Problem, denn * und edit1.Text sind 2 inkompatible Typen steampath.text := edit1.text; if fileexists ('*/info.txt') then movefile ('*', edit1.text) end; end. Danke im voraus :) :bounce1: |
Re: Kopieren bzw verschieben von dateien
Ich glaube nicht, dass FileExists mit Wildcards zurecht kommt. Du musts schon irgendwie sehen, dass du den vollständigen Pfad angibst.
|
Re: Kopieren bzw verschieben von dateien
Zitat:
Also dann bräuchte ich aber irgendwas was den Dateipfad der Exe einsieht. Wie geht das denn? |
Re: Kopieren bzw verschieben von dateien
Die Exe inklusive Pfad steht in ParamStr(0) bzw Application.Exename
Mit ExtractFilePath() kannst du daraus den Pfad auslesen |
Re: Kopieren bzw verschieben von dateien
Zitat:
also hab ichs mal versucht mit Extractfilepath('project1.exe'); aber da ging nix außerdem habe ich das jetzt so umgeändert, das er nichtmehr sucht, sondern das man den Pfad angeben muss. Folgendes problem:
Delphi-Quellcode:
[Error] Unit1.pas(98): Incompatible types: 'TCaption' and 'PAnsiChar'
steampath.text := edit1.text;
if fileexists (edit2.text + '/info.txt') then movefile (edit2.text, edit1.text + '\addons') [Error] Unit1.pas(98): Incompatible types: 'TCaption' and 'PAnsiChar' zeile 98 ist die mit movefile ich hab echt keine Ahnung was ich jetzt machen soll |
Re: Kopieren bzw verschieben von dateien
Du hast auch nicht gelesen was ich geschrieben habe
Delphi-Quellcode:
MoveFile erwartete Pointer (PChar) auf die Strings.
Pfad := ExtractFilePath( ParamStr(0));
Delphi-Quellcode:
s1 := edit2.text; s2 := edit1.text + '\addons';
movefile ( PChar( s1), PChar (s2)); |
Re: Kopieren bzw verschieben von dateien
Zitat:
|
Re: Kopieren bzw verschieben von dateien
Was genau verstehst du daran nicht?
|
Re: Kopieren bzw verschieben von dateien
Ich habe nicht verstanden wo der Pfad stehen soll und vorallem in welcher Art.
Hör zu ich bin neu bei Delphi, ich habe nicht soviel Erfahrung. |
Re: Kopieren bzw verschieben von dateien
ParamStr(0) enthält den Dateinamen inklusive Pfad!
Und mit ExtractFilePath() kannst du daraus den Pfad extrahieren! Also wie geschrieben:
Delphi-Quellcode:
liegt die Exe auf C:\Programme und Einstellungen\Mein Programm und heist Project1.exe
Path := ExtractFilePath( ParamStr(0));
steht in ParamStr(0) C:\Programme und Einstellungen\Mein Programm\Project1.exe und in Path dann nur der Pfad inklusive Backslash (C:\Programme und Einstellungen\Mein Programm\) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:57 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 by Thomas Breitkreuz