Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Datei umbenennen, pfad einlesen! (https://www.delphipraxis.net/146520-datei-umbenennen-pfad-einlesen.html)

skinzone 21. Jan 2010 16:45


Datei umbenennen, pfad einlesen!
 
Hey,
folgendes:
1. Ich möchte ein Zielverzeichnis in ein edit feld eingeben, und dann meinen Screenshot in diesen Pfad speichern! Wie mach ich das!
Wie man einen Screenshot macht weiß ich.
2. Ich möchte diesen Screenshot umbenennen bevor er gespeichert wird!

mfg

Micha88 21. Jan 2010 16:57

Re: Datei umbenennen, pfad einlesen!
 
Zitat:

Ich möcte einen Pfad mit einem Edit feld auslesen
Selbst das verstehe ich schon nicht.

skinzone 21. Jan 2010 16:59

Re: Datei umbenennen, pfad einlesen!
 
Bischen blöd formuliert!

himitsu 21. Jan 2010 17:27

Re: Datei umbenennen, pfad einlesen!
 
Wie machst du denn den Screenshot?
Weil ich verstehe nicht,was du da umbenennen willst.

TEdit + 'nen Button + TSaveDialog und schon kannst du da ein Verzeichnis auswählen.
(damit kann man sich sowas basten, wie diese Upload-Eingabefelter auf Webseiten)

skinzone 21. Jan 2010 17:46

Re: Datei umbenennen, pfad einlesen!
 
Delphi-Quellcode:
procedure ScreenToFile(aFileName: string);
var
  Bitmap: TBitmap;
  Canvas: TCanvas;
begin
  Canvas := TCanvas.Create;
  try
    Canvas.Handle := GetWindowDC(0);
    try
      Bitmap := TBitmap.Create;
      try
        Bitmap.Width := Screen.DesktopWidth;
        Bitmap.Height:= Screen.DesktopHeight;
        Bitmap.PixelFormat := pfDevice;
        BitBlt(Bitmap.Canvas.Handle, 0, 0, Pred(Screen.DesktopWidth), Pred(
        Screen.DesktopHeight), Canvas.Handle, Screen.DesktopLeft,
        Screen.DesktopTop, Bitmap.Canvas.CopyMode);
        Bitmap.SaveToFile(aFileName);
      finally
        Bitmap.Free;
      end;
    finally
      ReleaseDC(0, Canvas.Handle);
    end;
  finally
    Canvas.Free;
  end;
end;


begin
anzahl:=strtoint(e_anzahl.Text);
ziel:=e_ziel.Text;
i:=0;
repeat
    begin
    i:=i+1;
    screentofile('ziel');
    end;
until i = anzahl;

Matze 21. Jan 2010 17:48

Re: Datei umbenennen, pfad einlesen!
 
Ändere doch einfach den eingelesenen Text des Pfad-Edits oder was ist genau dein Problem?

skinzone 21. Jan 2010 18:10

Re: Datei umbenennen, pfad einlesen!
 
Ich glaub ich steh voll auf em Schlauch!
Ich les ja dan pfad ein, der kommt in die var ziel.
Dann möchte ich dass die datei benannt wird, und mit screentofile an dieses Ziel gespeichert wird!

patti 21. Jan 2010 18:19

Re: Datei umbenennen, pfad einlesen!
 
Hey,

also wenn ich dich richtig verstanden habe (bin mir da nicht ganz sicher), dann mach doch folgendes:

Delphi-Quellcode:
var anzahl : integer;
var ordner, pfad : integer;
begin
anzahl := strtoint(e_anzahl.Text);
ordner := IncludeTrailingPathDelimiter(e_ziel.Text);
i:=0;
//
repeat
    inc(i); // erhöht i um 1
    pfad := ordner + 'screenshot' + IntToStr(i) + '.bmp';
    //
    screentofile(pfad);
until i = anzahl;
(ungetestet)

Vielleicht hilft dir das. Bei Fragen darfst du sie gerne stellen ;-)

skinzone 21. Jan 2010 18:45

Re: Datei umbenennen, pfad einlesen!
 
Bin eine rauchen gegangen und dann is es mir eingefallen wie es geht!
Trotzdem danke!
Mfg

Matze 21. Jan 2010 18:45

Re: Datei umbenennen, pfad einlesen!
 
Das gibt aber eine böse Schleife und die Screenshots sind vermutlich weitestgehend identisch. ;)

Ich habe noch gar nicht verstanden, was gemacht werden soll. Mit den Pfad-Funktionen kannst du die deinen Dateinamen in einem Pfad ändern lassen:

Delphi-Quellcode:
function ChangeFilename(Path: string; NewFilename: string): string;
var
  FileExtension: string;
  FilePath: string;
begin
  FilePath := ExtractFilePath(Path);
  FileExtension := ExtractFileExt(Path);

  Result := FilePath + NewFilename + FileExtension;
end;
Natürlich geht's auch kürzer und evtl. auch auf ganz anderem Weg:

Delphi-Quellcode:
function ChangeFilename(Path: string; NewFilename: string): string;
begin
  Result := ExtractFilePath(Path) + NewFilename + ExtractFileExt(Path);
end;
Sonst schaue dir einfach mal folgende Funktionen an, dann klappt das schon:

Delphi-Referenz durchsuchenExtractFilename
Delphi-Referenz durchsuchenExtractFilePath
Delphi-Referenz durchsuchenExtractFileExt
Delphi-Referenz durchsuchenIncludeTrailingPathDelimiter

evtl. auch

Delphi-Referenz durchsuchenChangeFileExt

Wobei ChangeFileExt keine allzu gute Funktion ist bzw. nur bedingt funktioniert.

Grüße, Matze

Edit: Gut, dann hat sich das Thema ja erledigt. Wobei rauchen nicht so sinnvoll ist (ist ein anderes Thema :mrgreen: ). *stolzer Nichtraucher ist*


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:44 Uhr.
Seite 1 von 2  1 2      

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