AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Commandline mit Umlauten auswerten
Thema durchsuchen
Ansicht
Themen-Optionen

Commandline mit Umlauten auswerten

Ein Thema von Garfield · begonnen am 26. Okt 2008 · letzter Beitrag vom 26. Okt 2008
Antwort Antwort
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.334 Beiträge
 
Delphi XE5 Professional
 
#1

Commandline mit Umlauten auswerten

  Alt 26. Okt 2008, 11:19
Hallo,

meiner Anwendung sollen beim Programmaufruf Dateinamen übergeben werden. Diese werden in der Anwendung mit ParamStr() weiterverarbeitet. Probleme habe ich nun wenn ein Dateiname Umlaute enthält.

Erfolgt der Aufruf über Start -> Ausführen -> Öffnen bzw über die Console kommen die Parameter richtig an.

Beim Ausführen einer Batchdatei (was der Normalfall sein soll) wird der Parameter falsch übermittelt. Eine Konvertierung mit OemToAnsi() oder OemToChar() bringt keinen Erfolg.

Das ist der Source für den Test:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  if ParamCount > 0
  then begin
    Edit1.Text := ParamStr(1);

    Edit2.Font.Charset := OEM_CHARSET;
    Edit2.Text := ParamStr(1);
  end;
end;
Miniaturansicht angehängter Grafiken
batch_188.png   run_143.png  
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.334 Beiträge
 
Delphi XE5 Professional
 
#2

Re: Commandline mit Umlauten auswerten

  Alt 26. Okt 2008, 15:11
Hatte als Ansatz WinMain gefunden und es nun mit dem Launcher-Beispiel von turboPASCAL auf http://www.delphipraxis.net/internal...t.php?t=125935 versucht. Leider mit dem selben Ergebnis.
Miniaturansicht angehängter Grafiken
launcher_821.png  
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#3

Re: Commandline mit Umlauten auswerten

  Alt 26. Okt 2008, 15:31
Also wenns nur um Umlaute geht:
Code:
äöüÄÖÜß = „”�Ž™šá
Um den Buchstaben auf der linken Seite auszugeben, musst du den von der rechten Seite in die Batchdatei reinschreiben

Also
Code:
@echo off
echo äöüÄÖÜß = „”Ž™šá
pause
Gibt folgende Ausgabe:
Code:
õ÷³─Í▄▀ = äöüÄÖÜß
Drücken Sie eine beliebige Taste . . .
Also ich glaube, das Kind fällt bereits in den Brunnen, wenn die Batchdatei ausgeführt wird ...
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Commandline mit Umlauten auswerten

  Alt 26. Okt 2008, 15:40
Hallo Garfield,

versuche einmal, in deiner Batchdatei zu Beginn die Codepage umzustellen:

Code:
chcp 1252
DeinProgram.exe abcäöü
Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.334 Beiträge
 
Delphi XE5 Professional
 
#5

Re: Commandline mit Umlauten auswerten

  Alt 26. Okt 2008, 16:02
Zitat von jfheins:
Also ich glaube, das Kind fällt bereits in den Brunnen, wenn die Batchdatei ausgeführt wird ...
Genau so ist das.

Zitat von Hawkeye219:
Hallo Garfield,

versuche einmal, in deiner Batchdatei zu Beginn die Codepage umzustellen:






Es funktioniert. Vielen Dank!

Ist da irgendwas bei meinem Windows falsch eingestellt?
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:47 Uhr.
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