Autor Beitrag
daywalker0086
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 243


Delphi 2005 Architect
BeitragVerfasst: Sa 14.01.06 23:33 
Hallo, hab folgendes Problem, ich habe eine Procedure die mir jpg´s verkleinert und eine Procedure, die mir die verkleinerte Datei auf einen server lädt, die Dateiauswahl erfolgt durch eunen openpicturedialog und da fängt das Problem an.
Die verklinerte Datei soll unter einen von orginal abweichenden Namen gespeichert werden, also:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
Procedure TForm1.BmpToJpg(const Filename: String; Quality: TJPEGQualityRange=60);



begin

jpg:=TJpegImage.Create;
try

jpg.CompressionQuality:=Quality;
  jpg.Assign(Bmp2);
  jpg.SaveToFile(ChangeFileExt(FileName, 'Int.jpg' ));
finally
jpg.free;

end;
end;

Der neue Dateiname heißt dann *Int.jpg
Filename wird vorher in meiner HochladenProcedure übergeben:
Und mein Problem was ich nun habe steht im Quellcode:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
procedure TForm1.Bilderhochladen1Click(Sender: TObject);
var
jpeg: TJPEGImage;
bmp: TBitmap;

begin jpeg:=TJPEGImage.Create;

try
openpicturedialog1.execute;
jpeg.LoadFromFile(openpicturedialog1.FileName);
bmp:=TBitmap.Create;
 try
bmp.Assign(jpeg);
bmp2 := TBitmap.Create;
 bmp2.Width := 171;
  bmp2.Height := 120;
  bmp2.Canvas.StretchDraw(Rect(0,0,bmp2.Width-1,bmp2.Height-1),bmp);


BmpToJpg(openpicturedialog1.FileName); // Hier wird der Procedure der Filename übergeben


finally
bmp.free;
bmp2.free;
end;


inifile := TIniFile.Create(IncludeTrailingPathDelimiter(ExtractFileDir(Application.ExeName)) + 'ftp.ini');
    idftp1.Host     := inifile.ReadString('ftp', 'server', '');          // Daten aus der Konfig Datei holen
    idftp1.Username := inifile.ReadString('ftp', 'user', '');
    idftp1.Password := inifile.ReadString('ftp', 'password', '');

    ftpdat:=(openpicturedialog1.FileName ) ; // Und hier ist das Problem: wie kann ich den neuen Pfad der veränderten
                                             // Datei angeben ohne nochmal den openpicturedialog aufrufen zu müssen
                                             // und die veränderte Datei nochmal auswählen zu müssen?
.
.
.
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: So 15.01.06 09:31 
Und wo liegt nun das Problem, Du nennst doch die Datei um also kennst Du doch den Dateinamen und brauchst ihn doch nur noch zu übergeben zb. Wenn Du das Neue Bild in das selbe Verzeichnis wie das alte Speicherst
ausblenden Delphi-Quelltext
1:
ftpdat:=(ExtractFilePath(OpenPictureDialog1.FileName)+'DateiNeuInt.jpg'; // Und hier ist das Problem: wie kann					
daywalker0086 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 243


Delphi 2005 Architect
BeitragVerfasst: So 15.01.06 11:20 
So wie du das gelöst hast bekomm ich ja nur den Dateipfad, aber ich brauche auch noch den Dateinamen einzeln.
Also wo bei dir DateiNeu steht, das verändert sich ja immer von Datei zu Datei, nur Int.jpg bleibt immer gleich
Ich hab das mal so probiert:( zum testen mal in ein Editfeld geschrieben)
ausblenden Delphi-Quelltext
1:
edit1.Text:= (ExtractFilePath(OpenPictureDialog1.FileName)+ExtractFileName(openpicturedialog1.filename)+'Int.jpg');					

Aber da Kommt dann zum Beispiel der Dateiname: Bild1.jpgInt.jpg raus, also ein jpg zu viel, ich müsste also beim ursprünglichen Dateinamen die ERndung löschen, wird ja später wieder mit Int.jpg dran gesetzt, ja also Problem noch nicht ganz gelöst
stifflersmom
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 194

XP /XP PRO/ SuSE div.
D1 - D7, BDS 2006
BeitragVerfasst: So 15.01.06 12:45 
Du solltest mal etwas genauer in der OH Hilfe nachschauen, was es da so alles gibt,
dann würdest Du schon von allein drauf kommen (Stichwort Unit: SysUtils).

Als kleinen Tipp:
Du könntest erst aus Deinem Filename mit ExtractFileExt die Dateiendung entfernen und dann Deinen Dateinamen um Deine Verlängerung und einer neuen Extension ergänzen.

Moin
daywalker0086 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 243


Delphi 2005 Architect
BeitragVerfasst: So 15.01.06 21:01 
und wie entfern ich die Endung nun? muss ja irgendwa mit delete oder sowas sein, aber meine Delphihilfe ist in englsch, das is nich grad gut.
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Mo 16.01.06 07:32 
ausblenden Delphi-Quelltext
1:
ftpdat:=ChangeFileExt(OpenPictureDialog1.FileName,'Int.jpg');					
daywalker0086 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 243


Delphi 2005 Architect
BeitragVerfasst: Fr 20.01.06 12:46 
Dankeschön das ist, was ich brauchte