Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Commandline mit Umlauten auswerten (https://www.delphipraxis.net/123032-commandline-mit-umlauten-auswerten.html)

Garfield 26. Okt 2008 12:19


Commandline mit Umlauten auswerten
 
Liste der Anhnge anzeigen (Anzahl: 2)
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 enthlt.

Erfolgt der Aufruf ber Start -> Ausfhren -> ffnen bzw ber die Console kommen die Parameter richtig an.

Beim Ausfhren 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 fr 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;

Garfield 26. Okt 2008 16:11

Re: Commandline mit Umlauten auswerten
 
Liste der Anhnge anzeigen (Anzahl: 1)
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.

jfheins 26. Okt 2008 16:31

Re: Commandline mit Umlauten auswerten
 
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:
─▄▀ =
Drcken Sie eine beliebige Taste . . .
Also ich glaube, das Kind fllt bereits in den Brunnen, wenn die Batchdatei ausgefhrt wird ...

Hawkeye219 26. Okt 2008 16:40

Re: Commandline mit Umlauten auswerten
 
Hallo Garfield,

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

Code:
chcp 1252
DeinProgram.exe abc
Gru Hawkeye

Garfield 26. Okt 2008 17:02

Re: Commandline mit Umlauten auswerten
 
Zitat:

Zitat von jfheins
Also ich glaube, das Kind fllt bereits in den Brunnen, wenn die Batchdatei ausgefhrt wird ...

Genau so ist das.

Zitat:

Zitat von Hawkeye219
Hallo Garfield,

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

:shock:

:coder:

:hello:

Es funktioniert. Vielen Dank!

Ist da irgendwas bei meinem Windows falsch eingestellt?


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:22 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