AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Externes Programm ausführen

Ein Thema von Willie1 · begonnen am 11. Dez 2017 · letzter Beitrag vom 17. Jan 2018
Antwort Antwort
Delphi.Narium

Registriert seit: 27. Nov 2017
2.599 Beiträge
 
Delphi 7 Professional
 
#1

AW: Externes Programm ausführen

  Alt 19. Dez 2017, 12:30
Delphi 7 hatte doch UTF8ToAnsi schon in der System.pas. Und bei Delphi 2005 soll das nicht mehr dabei sein?

http://www.delphipraxis.net/41960-ut...vertieren.html
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
743 Beiträge
 
Delphi 10.1 Berlin Starter
 
#2

AW: Externes Programm ausführen

  Alt 19. Dez 2017, 17:09
Ok Delphi.Narium, da magst du recht haben. Auf jeden Fall klappt die Übersetzung.
Benmik, ich hab's mit Copy and Paste übertragen, es geht nicht. Ich weiß Programme mit Parameter zu bedienen ist mühsam!

Geändert von Willie1 (19. Dez 2017 um 17:13 Uhr)
  Mit Zitat antworten Zitat
Benmik

Registriert seit: 11. Apr 2009
578 Beiträge
 
Delphi 12 Athens
 
#3

AW: Externes Programm ausführen

  Alt 19. Dez 2017, 19:07
Delphi-Quellcode:
  procedure FühreTestCodeAus;
  var ETool,ETCmd1,ETCmd2,ETCmd3,Datname:string; AusgabeListe,FehlerListe:TStringList;
  begin
    AusgabeListe := TStringList.Create;
    FehlerListe := TStringList.Create;
    ETool := 'C:\Program Files (x86)\EXIFTool\exiftool.exe ';
    ETCmd1 := ' -charset IPTC=UTF8 -city=Köln -lang de ';
    ETCmd2 := ' -k -a -u -g1 -lang de -charset IPTC=UTF8 ';
    ETCmd3 := ' -w! .txt ';
    Datname := '"C:\Temp\K-Dom.jpg"';
    Try
      ExecuteET(ETool + ETCmd1 + Datname,'',AusgabeListe,FehlerListe);
      ExecuteET(ETool + ETCmd2 + Datname,'',AusgabeListe,FehlerListe);
      ExecuteET(ETool + ETCmd3 + Datname,'',AusgabeListe,FehlerListe);
    Finally
      AusgabeListe.Free;
      FehlerListe.Free;
    End;
  end;
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
743 Beiträge
 
Delphi 10.1 Berlin Starter
 
#4

AW: Externes Programm ausführen

  Alt 20. Dez 2017, 16:39
Hallo,
ich habe es getestet.
cmd1 ist nicht notwendig. Wenn die deutschen Sonderzeichen korrekt angezeigt werden, dann auch Köln.
cmd 2 läuft, aber die deutschen Sonderzeichen werden nicht umgesetzt. Ich habe sie mit Memo1.Lines.Assign(ETout) übernommen.
cmd3 funktioniert nur dann, wenn ich als Zielordner den Ordner auswähle, in dem sich die Bilddatei befindet.
Ein Unterordner wird angelegt. Aber z.B. %dc:\data\%f.txt führt zu einer Fehlermeldung 1 files could not be read 0 output files created, der Temp-Ordner des BS ebenso.
Die deutschen Sonderzeichen werden richtig angezeigt!

Die Windows Version spielt wohl eine Rolle. Ich habe Windows 10 1709 Built 16299.125.
  Mit Zitat antworten Zitat
Benmik

Registriert seit: 11. Apr 2009
578 Beiträge
 
Delphi 12 Athens
 
#5

AW: Externes Programm ausführen

  Alt 20. Dez 2017, 17:18
Willie, ich bin mir mittlerweile nicht mehr sicher, ob wir uns richtig verstehen.

ETCmd1 schreibt überhaupt erstmal "Köln" in das Tag "City". Wenn du das für "nicht notwendig" hältst, dann hast du was übersehen.
ETCmd2 liest die Tags aus der Datei in Delphi aus; da passiert äußerlich natürlich erstmal nichts, aber du hast die Möglichkeit, die Tags in AusgabeListe auszulesen.
ETCmd3 ist durch ETCmd2 gar nicht mehr nötig und dient nur dazu zu zeigen, dass die Umlaute auch in einer Textdatei in Notepad richtig angezeigt werden.
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
743 Beiträge
 
Delphi 10.1 Berlin Starter
 
#6

AW: Externes Programm ausführen

  Alt 20. Dez 2017, 17:51
Hallo Benmik, wenn man sich nur schriftlich austauscht, kommt es zu Missverständnissen.

Cmd1 schreibt Köln, habe ich schon verstanden. Meine Digi-Kam schreibt Locations automatisch z.B. Deutschland, Nordrhein-Westfalen, Köln, Am Kölner Dom
- deshalb brauche ich nichts zu schreiben. Trotzdem danke für den Tipp..
Cmd 2 ist genial, ich muss nur die deutschen Sonderzeichen mit UTF8ToAnsi umsetzen.
Cmd3 hat sich durch Cmd2 erledigt. Ist mir klar. Ich dachte nur, dass dich die Probleme mit der Schreiboption seit dem letzten Windows-Update interessieren. Du bist doch Exiftool-Experte.

Ich werde jetzt die neue Exiftool-Unit in mein Programm einbauen. Ich will die Orientation Tags neu setzen und weitere Felder, z.B. Descrption, Artist schreiben können. Wenn das klappt, melde ich mich hier im Forum.

Gruß Willie.
  Mit Zitat antworten Zitat
Benmik

Registriert seit: 11. Apr 2009
578 Beiträge
 
Delphi 12 Athens
 
#7

AW: Externes Programm ausführen

  Alt 20. Dez 2017, 18:09
OK, ich verstehe.
Ich brauche UTF8ToAnsi nicht, arbeite allerdings mit Windows 7.
Kann das innerhalb von Delphi eine Änderung verursachen?
  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 06:06 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